int32_t MV_Shutdown(void) { if (!MV_Installed) return MV_Ok; MV_KillAllVoices(); MV_Installed = FALSE; // Stop the sound playback engine MV_StopPlayback(); // Shutdown the sound card SoundDriver_Shutdown(); // Free any voices we allocated #ifdef _3DS linearFree(MV_Voices); #else ALIGNED_FREE_AND_NULL(MV_Voices); #endif LL_Reset((VoiceNode*) &VoiceList, next, prev); LL_Reset((VoiceNode*) &VoicePool, next, prev); MV_MaxVoices = 1; // Release the descriptor from our mix buffer for (int buffer = 0; buffer < MV_NUMBEROFBUFFERS; buffer++) MV_MixBuffer[ buffer ] = NULL; MV_SetErrorCode(MV_NotInstalled); return MV_Ok; }
int FX_StopAllSounds ( void ) { int status; status = MV_KillAllVoices(); if ( status != MV_Ok ) { FX_SetErrorCode( FX_MultiVocError ); return( FX_Warning ); } return( FX_Ok ); }