Diff for /np2/macosx/soundmng.cpp between versions 1.6 and 1.9

version 1.6, 2003/11/13 18:17:42 version 1.9, 2004/01/23 17:37:39
Line 6 Line 6
 #include        "soundmng.h"  #include        "soundmng.h"
 #include        "sound.h"  #include        "sound.h"
 #if defined(VERMOUTH_LIB)  #if defined(VERMOUTH_LIB)
 #include        "vermouth.h"  #include        "commng.h"
   #include        "cmver.h"
 #endif  #endif
   
 #include        "soundrecording.h"  #include        "soundrecording.h"
Line 20  typedef struct { Line 21  typedef struct {
         UINT                    rate;          UINT                    rate;
         UINT                    samples;          UINT                    samples;
         UINT                    buffersize;          UINT                    buffersize;
 #if defined(SOUNDMNG_USEBUFFERING)  #if !defined(SOUND_CRITICAL)
         SINT16                  *indata;          SINT16                  *indata;
         SINT16                  *extendbuffer;          SINT16                  *extendbuffer;
 #endif  #endif
Line 33  static BOOL  QS_Avail = FALSE; Line 34  static BOOL  QS_Avail = FALSE;
 static  _QSOUND         QSound;  static  _QSOUND         QSound;
 static  BOOL            QSound_Playing = FALSE;  static  BOOL            QSound_Playing = FALSE;
   
 #if defined(VERMOUTH_LIB)  
                 MIDIMOD         vermouth_module = NULL;  
 #endif  
   
 static  void                            (PARTSCALL *fnmix)(SINT16 *dst,  static  void                            (PARTSCALL *fnmix)(SINT16 *dst,
                                                                                                 const SINT32 *src, UINT size);                                                                                                  const SINT32 *src, UINT size);
   
Line 46  static pascal void QSoundCallback(SndCha Line 43  static pascal void QSoundCallback(SndCha
         QSOUND          qs;          QSOUND          qs;
         int                     nextbuf;          int                     nextbuf;
         void            *dst;          void            *dst;
 #if !defined(SOUNDMNG_USEBUFFERING)  #if defined(SOUND_CRITICAL)
 const SINT32    *src;  const SINT32    *src;
 #endif  #endif
   
Line 54  const SINT32 *src; Line 51  const SINT32 *src;
                 qs = &QSound;                  qs = &QSound;
                 nextbuf = inCommand->param1;                  nextbuf = inCommand->param1;
                 dst = qs->buf[nextbuf]->sampleArea;                  dst = qs->buf[nextbuf]->sampleArea;
 #if defined(SOUNDMNG_USEBUFFERING)  #if !defined(SOUND_CRITICAL)
                 if (qs->indata) {                  if (qs->indata) {
                         CopyMemory((SINT16 *)dst, qs->indata, qs->buffersize);                          CopyMemory((SINT16 *)dst, qs->indata, qs->buffersize);
                         qs->indata = NULL;                          qs->indata = NULL;
Line 138  static BOOL SoundBuffer_Init(UINT rate,  Line 135  static BOOL SoundBuffer_Init(UINT rate, 
         drate = rate;          drate = rate;
         dtox80(&drate, &extFreq);          dtox80(&drate, &extFreq);
   
 #if defined(SOUNDMNG_USEBUFFERING)  #if !defined(SOUND_CRITICAL)
         qs->extendbuffer = (SINT16 *)_MALLOC(buffersize, "Extend buffer");          qs->extendbuffer = (SINT16 *)_MALLOC(buffersize, "Extend buffer");
         if (qs->extendbuffer == NULL) {          if (qs->extendbuffer == NULL) {
                 goto sbinit_err;                  goto sbinit_err;
Line 189  static void SoundBuffer_Term(void) { Line 186  static void SoundBuffer_Term(void) {
                         buf[i] = NULL;                          buf[i] = NULL;
                 }                  }
         }          }
 #if defined(SOUNDMNG_USEBUFFERING)  #if !defined(SOUND_CRITICAL)
         qs->indata = NULL;          qs->indata = NULL;
         if (qs->extendbuffer) {          if (qs->extendbuffer) {
                 _MFREE(qs->extendbuffer);                  _MFREE(qs->extendbuffer);
Line 201  static void SoundBuffer_Term(void) { Line 198  static void SoundBuffer_Term(void) {
 UINT soundmng_create(UINT rate, UINT ms) {  UINT soundmng_create(UINT rate, UINT ms) {
   
         UINT    samples;          UINT    samples;
 #if defined(VERMOUTH_LIB)  
         UINT    num;  
 #endif  
   
         QSound_Playing = FALSE;          QSound_Playing = FALSE;
   
Line 217  UINT soundmng_create(UINT rate, UINT ms) Line 211  UINT soundmng_create(UINT rate, UINT ms)
         if (SoundChannel_Init()) {          if (SoundChannel_Init()) {
                 goto qsinit_err;                  goto qsinit_err;
         }          }
 #if defined(SOUNDMNG_USEBUFFERING)  #if !defined(SOUND_CRITICAL)
         samples = rate * ms / (SOUNDBUFFERS * 1000);          samples = rate * ms / (SOUNDBUFFERS * 1000);
         samples = (samples + 3) & (~3);          samples = (samples + 3) & (~3);
 #else  #else
Line 228  UINT soundmng_create(UINT rate, UINT ms) Line 222  UINT soundmng_create(UINT rate, UINT ms)
                 goto qsinit_err;                  goto qsinit_err;
         }          }
 #if defined(VERMOUTH_LIB)  #if defined(VERMOUTH_LIB)
         vermouth_module = midimod_create(rate);          cmvermouth_load(rate);
         for (num=0; num<128; num++) {  
                 midimod_loadprogram(vermouth_module, num);  
                 midimod_loadrhythm(vermouth_module, num);  
         }  
 #endif  #endif
         return(samples);          return(samples);
   
Line 248  void soundmng_destroy(void) { Line 238  void soundmng_destroy(void) {
                 SoundBuffer_Term();                  SoundBuffer_Term();
                 SoundChannel_Term();                  SoundChannel_Term();
 #if defined(VERMOUTH_LIB)  #if defined(VERMOUTH_LIB)
                 midimod_destroy(vermouth_module);                  cmvermouth_unload();
                 vermouth_module = NULL;  
 #endif  #endif
         }          }
 }  }
Line 274  void soundmng_setreverse(BOOL reverse) { Line 263  void soundmng_setreverse(BOOL reverse) {
         }          }
 }  }
   
 #if defined(SOUNDMNG_USEBUFFERING)  #if !defined(SOUND_CRITICAL)
 void soundmng_sync(void) {  void soundmng_sync(void) {
   
         QSOUND          qs;          QSOUND          qs;
Line 294  const SINT32 *src; Line 283  const SINT32 *src;
 }  }
 #endif  #endif
   
   #ifndef SUPPORT_WAVEMIX
 // --------------------------------------------------------------------------  // --------------------------------------------------------------------------
 #include <QuickTime/Movies.h>  #include <QuickTime/Movies.h>
 #include "np2.h"  #include "np2.h"
Line 363  void soundmng_pcmstop(UINT num) { Line 353  void soundmng_pcmstop(UINT num) {
     }      }
 }  }
   
   #endif

Removed from v.1.6  
changed lines
  Added in v.1.9


RetroPC.NET-CVS <cvs@retropc.net>