--- np2/macosx/soundmng.cpp 2003/11/06 03:22:41 1.5 +++ np2/macosx/soundmng.cpp 2004/01/23 17:37:39 1.9 @@ -6,10 +6,12 @@ #include "soundmng.h" #include "sound.h" #if defined(VERMOUTH_LIB) -#include "vermouth.h" +#include "commng.h" +#include "cmver.h" #endif #include "soundrecording.h" +#include "np2opening.h" #define SOUNDBUFFERS 2 @@ -19,7 +21,7 @@ typedef struct { UINT rate; UINT samples; UINT buffersize; -#if defined(SOUNDMNG_USEBUFFERING) +#if !defined(SOUND_CRITICAL) SINT16 *indata; SINT16 *extendbuffer; #endif @@ -32,10 +34,6 @@ static BOOL QS_Avail = FALSE; static _QSOUND QSound; static BOOL QSound_Playing = FALSE; -#if defined(VERMOUTH_LIB) - MIDIMOD vermouth_module = NULL; -#endif - static void (PARTSCALL *fnmix)(SINT16 *dst, const SINT32 *src, UINT size); @@ -45,7 +43,7 @@ static pascal void QSoundCallback(SndCha QSOUND qs; int nextbuf; void *dst; -#if !defined(SOUNDMNG_USEBUFFERING) +#if defined(SOUND_CRITICAL) const SINT32 *src; #endif @@ -53,7 +51,7 @@ const SINT32 *src; qs = &QSound; nextbuf = inCommand->param1; dst = qs->buf[nextbuf]->sampleArea; -#if defined(SOUNDMNG_USEBUFFERING) +#if !defined(SOUND_CRITICAL) if (qs->indata) { CopyMemory((SINT16 *)dst, qs->indata, qs->buffersize); qs->indata = NULL; @@ -137,7 +135,7 @@ static BOOL SoundBuffer_Init(UINT rate, drate = rate; dtox80(&drate, &extFreq); -#if defined(SOUNDMNG_USEBUFFERING) +#if !defined(SOUND_CRITICAL) qs->extendbuffer = (SINT16 *)_MALLOC(buffersize, "Extend buffer"); if (qs->extendbuffer == NULL) { goto sbinit_err; @@ -188,7 +186,7 @@ static void SoundBuffer_Term(void) { buf[i] = NULL; } } -#if defined(SOUNDMNG_USEBUFFERING) +#if !defined(SOUND_CRITICAL) qs->indata = NULL; if (qs->extendbuffer) { _MFREE(qs->extendbuffer); @@ -200,9 +198,6 @@ static void SoundBuffer_Term(void) { UINT soundmng_create(UINT rate, UINT ms) { UINT samples; -#if defined(VERMOUTH_LIB) - UINT num; -#endif QSound_Playing = FALSE; @@ -216,7 +211,7 @@ UINT soundmng_create(UINT rate, UINT ms) if (SoundChannel_Init()) { goto qsinit_err; } -#if defined(SOUNDMNG_USEBUFFERING) +#if !defined(SOUND_CRITICAL) samples = rate * ms / (SOUNDBUFFERS * 1000); samples = (samples + 3) & (~3); #else @@ -227,11 +222,7 @@ UINT soundmng_create(UINT rate, UINT ms) goto qsinit_err; } #if defined(VERMOUTH_LIB) - vermouth_module = midimod_create(rate); - for (num=0; num<128; num++) { - midimod_loadprogram(vermouth_module, num); - midimod_loadrhythm(vermouth_module, num); - } + cmvermouth_load(rate); #endif return(samples); @@ -247,8 +238,7 @@ void soundmng_destroy(void) { SoundBuffer_Term(); SoundChannel_Term(); #if defined(VERMOUTH_LIB) - midimod_destroy(vermouth_module); - vermouth_module = NULL; + cmvermouth_unload(); #endif } } @@ -273,7 +263,7 @@ void soundmng_setreverse(BOOL reverse) { } } -#if defined(SOUNDMNG_USEBUFFERING) +#if !defined(SOUND_CRITICAL) void soundmng_sync(void) { QSOUND qs; @@ -293,6 +283,7 @@ const SINT32 *src; } #endif +#ifndef SUPPORT_WAVEMIX // -------------------------------------------------------------------------- #include #include "np2.h" @@ -306,12 +297,15 @@ static Movie setupWAV(const char* name) short resID = 0; Movie wav = NULL; - char path[MAX_PATH]; - Str255 fname; + if (!getResourceFile(name, &fs)) { + char path[MAX_PATH]; + Str255 fname; + + file_cpyname(path, file_getcd(name), MAX_PATH); + mkstr255(fname, path); + FSMakeFSSpec(0, 0, fname, &fs); + } - 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; @@ -330,8 +324,8 @@ void soundmng_deinitialize(void) { BOOL soundmng_initialize(void) { EnterMovies(); - seekWAV[0] = setupWAV("Fddseek.wav"); - seekWAV[1] = setupWAV("Fddseek1.wav"); + seekWAV[0] = setupWAV("fddseek.wav"); + seekWAV[1] = setupWAV("fddseek1.wav"); if (seekWAV[0] == NULL || seekWAV[1] == NULL) { return false; } @@ -359,3 +353,4 @@ void soundmng_pcmstop(UINT num) { } } +#endif