Annotation of uae/src/sd-af/sound.h, revision 1.1.1.3

1.1.1.2   root        1:  /*
1.1       root        2:   * UAE - The Un*x Amiga Emulator
1.1.1.2   root        3:   *
1.1       root        4:   * Support for the AF sound system
1.1.1.2   root        5:   *
1.1       root        6:   * Copyright 1996 Marcus Sundberg
                      7:   */
                      8: 
                      9: #include <AF/AFlib.h>
                     10: 
                     11: extern AFAudioConn  *aud;
                     12: extern AC            ac;
                     13: extern long          aftime;
                     14: extern int           rate;
                     15: extern int sndbufsize;
                     16: extern uae_u16 sndbuffer[];
                     17: extern uae_u16 *sndbufpt;
                     18: 
                     19: static __inline__ void flush_sound_buffer(void)
                     20: {
                     21:     long size = (char *)sndbufpt - (char *)sndbuffer;
                     22:     if (AFGetTime(ac) > aftime)
                     23:        aftime = AFGetTime(ac);
                     24:     AFPlaySamples(ac, aftime, size, (unsigned char*) sndbuffer);
                     25:     aftime += size / 2;
                     26:     sndbufpt = sndbuffer;
                     27: }
                     28: 
                     29: static __inline__ void check_sound_buffers (void)
                     30: {
                     31:     if ((char *)sndbufpt - (char *)sndbuffer >= sndbufsize) {
                     32:        flush_sound_buffer();
1.1.1.3 ! root       33:        return 1;
1.1       root       34:     }
1.1.1.3 ! root       35:     return 0;
1.1       root       36: }
                     37: 
                     38: #define PUT_SOUND_BYTE(b) do { *(uae_u8 *)sndbufpt = b; sndbufpt = (uae_u16 *)(((uae_u8 *)sndbufpt) + 1); } while (0)
                     39: #define PUT_SOUND_WORD(b) do { *(uae_u16 *)sndbufpt = b; sndbufpt = (uae_u16 *)(((uae_u8 *)sndbufpt) + 2); } while (0)
                     40: #define SOUND16_BASE_VAL 0
                     41: #define SOUND8_BASE_VAL 128
                     42: 
                     43: #define DEFAULT_SOUND_BSIZ 8192
                     44: #define DEFAULT_SOUND_BITS 16
                     45: #define DEFAULT_SOUND_FREQ 44100
                     46: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.