UINT soundmng_create(UINT rate, UINT ms) { UINT samples; QSound_Playing = FALSE; if (rate < 11025) { rate = 11025; } else if (rate > 44100) { rate = 44100; } if (SoundChannel_Init()) { goto qsinit_err; } #if !defined(SOUND_CRITICAL) samples = rate * ms / (SOUNDBUFFERS * 1000); samples = (samples + 3) & (~3); #else samples = rate * ms / 1000; samples = (samples + 255) & (~255); #endif if (SoundBuffer_Init(rate, samples)) { goto qsinit_err; } #if defined(VERMOUTH_LIB) cmvermouth_load(rate); #endif return(samples); qsinit_err: soundmng_destroy(); return(0); }
void soundmng_deinitialize(void) { #if defined(MT32SOUND_DLL) mt32sound_deinitialize(); #endif pcmdestroy(); soundmng_destroy(); RELEASE(pDSound); }
BRESULT soundmng_initialize(void) { if (dsoundcreate(g_hWndMain) != SUCCESS) { goto smcre_err; } pcmcreate(); #if defined(MT32SOUND_DLL) mt32sound_initialize(); #endif return(SUCCESS); smcre_err: soundmng_destroy(); return(FAILURE); }