Diff for /np2/macosx/soundmng.cpp between versions 1.2 and 1.3

version 1.2, 2003/10/22 15:21:23 version 1.3, 2003/10/28 16:44:44
Line 9 Line 9
 #include        "vermouth.h"  #include        "vermouth.h"
 #endif  #endif
   
   #include        "soundrecording.h"
   
 #define SOUNDBUFFERS    2  #define SOUNDBUFFERS    2
   
Line 31  static BOOL  QSound_Playing = FALSE; Line 32  static BOOL  QSound_Playing = FALSE;
                 MIDIMOD         vermouth_module = NULL;                  MIDIMOD         vermouth_module = NULL;
 #endif  #endif
   
   static  void                            (PARTSCALL *fnmix)(SINT16 *dst,
                                                                                                   const SINT32 *src, UINT size);
   
 static pascal void QSoundCallback(SndChannelPtr /*inChannel*/,  static pascal void QSoundCallback(SndChannelPtr /*inChannel*/,
                                                                                                 SndCommand *inCommand) {                                                                                                  SndCommand *inCommand) {
Line 49  const SINT32 *src; Line 52  const SINT32 *src;
                         src = sound_pcmlock();                          src = sound_pcmlock();
                 }                  }
                 if (src) {                  if (src) {
                         satuation_s16((SINT16 *)dst, src, qs->buffersize);                          (*fnmix)((SINT16 *)dst, src, qs->buffersize);
               if (QSound_Playing) {
                   recOPM((BYTE*)dst, qs->buffersize);
               }
                         sound_pcmunlock(src);                          sound_pcmunlock(src);
                 }                  }
                 else {                  else {
Line 216  void soundmng_destroy(void) { Line 222  void soundmng_destroy(void) {
   
 void soundmng_play(void) {  void soundmng_play(void) {
   
         QSound_Playing = TRUE;      if (!QSound_Playing) QSound_Playing = TRUE;
 }  }
   
 void soundmng_stop(void) {  void soundmng_stop(void) {
   
         QSound_Playing = FALSE;          if (QSound_Playing) QSound_Playing = FALSE;
   }
   
   void soundmng_setreverse(BOOL reverse) {
   
           if (!reverse) {
           fnmix = satuation_s16;
           }
           else {
                   fnmix = satuation_s16x;
           }
   }
   
   // --------------------------------------------------------------------------
   #include <QuickTime/Movies.h>
   #include "np2.h"
   #include "dosio.h"
   
   static  Movie   seekWAV[2];
   
   static  Movie   setupWAV(const char* name) {
       FSSpec      fs;
       short       movieRefNum;
       short       resID = 0;
       Movie       wav = NULL;    
   
           char    path[MAX_PATH];
           Str255  fname;
   
           file_cpyname(path, file_getcd(name), MAX_PATH);
           mkstr255(fname, path);
           FSMakeFSSpec(0, 0, fname, &fs);
       if (OpenMovieFile( &fs, &movieRefNum, fsRdPerm ) == noErr) {
           if (NewMovieFromFile(&wav,movieRefNum, &resID, NULL, newMovieActive, NULL) != noErr) {
               return NULL;
           }
       }
       return  wav;
   }
   
   void soundmng_deinitialize(void) {
       StopMovie(seekWAV[0]);
       StopMovie(seekWAV[1]);
       seekWAV[0]  = NULL;
       seekWAV[1] = NULL;
       ExitMovies();
   }
   
   BOOL soundmng_initialize(void) {
       EnterMovies();
       seekWAV[0] = setupWAV("Fddseek.wav");
       seekWAV[1] = setupWAV("Fddseek1.wav");
       if (seekWAV[0] == NULL || seekWAV[1] == NULL) {
           return  false;
       }
       return(true);
   }
   
   void soundmng_pcmvolume(UINT num, int volume) {
       if (seekWAV[num]) {
           SetMovieVolume(seekWAV[num], kFullVolume*volume/100);
       }
   }
   
   BOOL soundmng_pcmplay(UINT num, BOOL loop) {
       if (seekWAV[num]) {
           GoToBeginningOfMovie(seekWAV[num]);
           StartMovie(seekWAV[num]);
           return SUCCESS;
       }
           return(FAILURE);
   }
   
   void soundmng_pcmstop(UINT num) {
       if (seekWAV[num]) {
           StopMovie(seekWAV[num]);
       }
 }  }
   

Removed from v.1.2  
changed lines
  Added in v.1.3


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