Annotation of uae/src/od-macos/sound.h, revision 1.1.1.1

1.1       root        1:  /* 
                      2:   * UAE - The Un*x Amiga Emulator
                      3:   * 
                      4:   * Support for Mac OS sound
                      5:   * 
                      6:   * Copyright 1996 Ernesto Corvi
                      7:   */
                      8: 
                      9: #include <Sound.h>
                     10: 
                     11: extern SndChannelPtr newChannel;
                     12: extern ExtSoundHeader theSndBuffer;
                     13: extern SndCommand theCmd;
                     14: 
                     15: /* The buffer is too large... */
                     16: extern uae_u16 buffer0[44100], buffer1[44100], *sndbufpt;
                     17: 
                     18: extern int have_sound;
                     19: extern int nextbuf;
                     20: extern Boolean sFlag;
                     21: extern int sndbufsize;
                     22: 
                     23: static __inline__ void flush_sound_buffer (void)
                     24: {
                     25:     sndbufpt = buffer0;
                     26:     
                     27:     theSndBuffer.samplePtr = (Ptr)buffer0;
                     28:     theSndBuffer.numChannels = 1;
                     29:     theSndBuffer.sampleRate = 0xac440000;
                     30:     theSndBuffer.encode = extSH;
                     31:     theSndBuffer.numFrames = sndbufsize;
                     32:     theSndBuffer.sampleSize = 8;
                     33:     theCmd.param1 = 0;
                     34:     theCmd.param2 = (long)&theSndBuffer;
                     35:     theCmd.cmd = bufferCmd;
                     36:     SndDoCommand(newChannel, &theCmd, false);    
                     37: }
                     38: 
                     39: static __inline__ void check_sound_buffers (void)
                     40: {
                     41:     if ((char *)sndbufpt - (char *)sndbuffer >= sndbufsize) {
                     42:        flush_sound_buffer ();
                     43:     }
                     44: }
                     45: 
                     46: #define PUT_SOUND_BYTE(b) do { *(uae_u8 *)sndbufpt = b; sndbufpt = (uae_u16 *)(((uae_u8 *)sndbufpt) + 1); } while (0)
                     47: #define PUT_SOUND_WORD(b) do { *(uae_u16 *)sndbufpt = b; sndbufpt = (uae_u16 *)(((uae_u8 *)sndbufpt) + 2); } while (0)
                     48: #define SOUND16_BASE_VAL 0
                     49: #define SOUND8_BASE_VAL 0
                     50: 
                     51: #define DEFAULT_SOUND_BSIZ 8192
                     52: #define DEFAULT_SOUND_BITS 16
                     53: #define DEFAULT_SOUND_FREQ 44100
                     54: 
                     55: #undef DONT_WANT_SOUND

unix.superglobalmegacorp.com

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