Annotation of uae/src/od-macos/sound.h, revision 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.