void SSVisualizer::Shutdown( SubsystemCollection* const subsystemCollection ) { // Perform Cleanup here (Don't forget to set shutdown order priority!) FMOD_Sound_Release(m_Song); FMOD_System_Close(m_SoundSystem); FMOD_System_Release(m_SoundSystem); if (m_Allocator) delete m_Allocator; }
/** * @brief Releases audio resources from fmod * The audio api won't be usable after calling * this method. * **/ void SoundManagerFMOD::end() { // If theres no system, skip release if( !m_system ) return; // Messsage // TODO Leads to error. Logger has been probably released // PrintOnConsole( "Releasing shared audio resources..." ); // Clear the container (note: we cannot call here end() for the sounds, because we would // need to iterate through the m_systemSounds container, and sounds, call the unregisterSound during their end() // which modifies the m_systemSounds container. BE CAREFULL m_systemSounds.clear(); // Try to release (show any error releasing) FMOD_RESULT result = FMOD_System_Release( m_system ); if( failedFMODResultCode( result ) ) { // Show message LOG_ERROR( getFmodMessageFromCode( result ) ); } m_system = 0; // done // Bye! // TODO Leads to error. Logger has been probably released // PrintOnConsole( "Shared audio resources released" ); }
void FSAPI gaugecall(PGAUGEHDR pgauge, int service_id, UINT32 extra_data) { // Added to call all lookups and the license check routine // switch(service_id) { case PANEL_SERVICE_CONNECT_TO_WINDOW: { // Add here, all inicializations and conections. OpenLinkFsUIPC(); InitializeIFlyVariables(); break; } case PANEL_SERVICE_PRE_INSTALL: InitializeIFlyVariables(); break; case PANEL_SERVICE_PRE_UPDATE: break; case PANEL_SERVICE_DISCONNECT: { // free resouces and close conections. FSUIPC_Close(); /* Shut down */ //FMOD_Sound_Release(sound); FMOD_System_Close(systemFMOD); FMOD_System_Release(systemFMOD); break; } case PANEL_SERVICE_PRE_KILL: break; } }
void Audio::nettoyer() { resultat = FMOD_System_Close(_systeme); erreur(resultat, 2); resultat = FMOD_System_Release(_systeme); erreur(resultat, 3); }
void FMOD_Shutdown (void) { if (COM_CheckParm("-nosound")) { SND_Initialised = false; SND_InitialisedCD = false; return; } if (SND_MusicChannel.channel) FMOD_Channel_Stop(SND_MusicChannel.channel); CDA_Shutdown(); if (fmod_music) FMOD_Sound_Release(fmod_music); if (fmod_system) { result = FMOD_System_Close(fmod_system); FMOD_ERROR(result, true, false); result = FMOD_System_Release(fmod_system); FMOD_ERROR(result, true, false); } SND_Initialised = false; SND_InitialisedCD = false; }
void music_close(t_music *m) { m->DUCK_isPlaying = 0; FMOD_Sound_Release(m->music); FMOD_System_Close(m->system); FMOD_System_Release(m->system); }
cSoundSystemFmod::~cSoundSystemFmod(){ if(mpSystem){ result = FMOD_System_Close(mpSystem); ERRCHECK(result); result = FMOD_System_Release(mpSystem); ERRCHECK(result); } }
void Audio::quit(){ if(System){ SoundCache.clear(); FMOD_System_Release(System); System = NULL; } }
CFModExDriver::~CFModExDriver() { //dtor FMOD_System_Close(_audioSystem); FMOD_System_Release(_audioSystem); }
/* ======================================= 释放 FMODEx 系统对象 ======================================= */ CR_API void_t fmodex_kill (void_t) { if (s_fmodex != NULL) { FMOD_System_Release(s_fmodex); s_fmodex = NULL; } }
int main(void) { SDL_Surface *screen = NULL, *viseur = NULL; SDL_Event event; SDL_Rect position; FMOD_SYSTEM *system; FMOD_SOUND *tir = NULL; FMOD_RESULT resultat; int continuer = 1; /*Initiation de FMOD pour le tir du pistolet*/ FMOD_System_Create(&system); FMOD_System_Init(system, 2, FMOD_INIT_NORMAL, NULL); resultat = FMOD_System_CreateSound(system,"gun_shot.mp3",FMOD_CREATESAMPLE, 0, &tir); if(resultat != FMOD_OK) { fprintf(stderr, "Impossible de lire gun_shot.mp3"); exit(EXIT_FAILURE); } /*Initiation de la SDL*/ SDL_Init(SDL_INIT_VIDEO); SDL_ShowCursor(SDL_DISABLE); screen = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_DOUBLEBUF); SDL_WM_SetCaption("Gestion du son avec FMOD", NULL); viseur = IMG_Load("cible.png"); SDL_EnableKeyRepeat(10, 10); while(continuer) { SDL_WaitEvent(&event); switch(event.type) { case SDL_QUIT: continuer = 0; break; case SDL_MOUSEBUTTONDOWN: FMOD_System_PlaySound(system, FMOD_CHANNEL_FREE, tir, 0, NULL); break; case SDL_MOUSEMOTION: position.x = event.motion.x - (viseur->w / 2); position.y = event.motion.y - (viseur->h / 2); break; } SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0)); SDL_BlitSurface(viseur, NULL, screen, &position); SDL_Flip(screen); } SDL_FreeSurface(viseur); SDL_Quit(); FMOD_Sound_Release(tir); FMOD_System_Close(system); FMOD_System_Release(system); return EXIT_SUCCESS; }
Audio::~Audio() { //release all samples for (Iterator i = samples.begin(); i != samples.end(); ++i) { (*i) = NULL; } FMOD_System_Release(system); }
static void close_sound_system(FMOD_SYSTEM *system) { FMOD_RESULT result; result = FMOD_System_Close(system); ERRCHECK(result); result = FMOD_System_Release(system); ERRCHECK(result); }
void AudioPlayer::cleunup() { if ( mFmodSys ) { FMOD_CHECK( FMOD_System_Close( mFmodSys ) ); FMOD_CHECK( FMOD_System_Release( mFmodSys ) ); mFmodSys = NULL; } }
SoundManager::~SoundManager() { if (mSpectrum != 0) delete mSpectrum; FMOD_Sound_Release(mMusic); FMOD_System_Close(mSystem); FMOD_System_Release(mSystem); }
void Java_org_fmod_realtimestitching_Example_cEnd(JNIEnv *env, jobject thiz) { FMOD_RESULT result = FMOD_OK; result = FMOD_Sound_Release(gSound); /* Freeing a parent subsound also frees its children. */ CHECK_RESULT(result); result = FMOD_System_Release(gSystem); CHECK_RESULT(result); }
void Java_org_fmod_fsb_Example_cEnd(JNIEnv *env, jobject thiz) { FMOD_RESULT result = FMOD_OK; unsigned int i = 0; result = FMOD_Sound_Release(gFSB); CHECK_RESULT(result); result = FMOD_System_Release(gSystem); CHECK_RESULT(result); }
void I_ShutdownSound(void) { I_Assert(sound_started); sound_started = false; #ifdef HAVE_LIBGME if (gme) gme_delete(gme); #endif FMR(FMOD_System_Release(fsys)); }
void whitgl_sound_shutdown() { WHITGL_LOG("Shutdown fmod"); FMOD_RESULT result; int i; for(i=0; i<num_sounds; i++) FMOD_Sound_Release(sounds[i].sound); result = FMOD_System_Close(fmodSystem); _whitgl_sound_errcheck("FMOD_System_Close", result); result = FMOD_System_Release(fmodSystem); _whitgl_sound_errcheck("FMOD_System_Release", result); }
int fmod_cleanup(void) { int i; FMOD_RESULT result; for (i=0; i<NSOUNDS; i++) { result = FMOD_Sound_Release(sound[i]); if (ERRCHECK(result)) return 1; } result = FMOD_System_Close(xsystem); if (ERRCHECK(result)) return 1; result = FMOD_System_Release(xsystem); if (ERRCHECK(result)) return 1; return 0; }
void Java_org_fmod_playsound_Example_cEnd(JNIEnv *env, jobject thiz) { FMOD_RESULT result = FMOD_OK; unsigned int i = 0; for (i = 0; i < NUM_SOUNDS; i++) { result = FMOD_Sound_Release(gSound[i]); CHECK_RESULT(result); } result = FMOD_System_Release(gSystem); CHECK_RESULT(result); }
Ultra::~Ultra() { FMOD_Sound_Release(hold); FMOD_Sound_Release(move); FMOD_Sound_Release(drop); FMOD_Sound_Release(deletion); FMOD_Sound_Release(marathonMusic); FMOD_Sound_Release(sprintMusic); FMOD_Sound_Release(ultraMusic); FMOD_System_Close(system); FMOD_System_Release(system); }
OBJECT_ID fmod_Close(VM_ID vm,TUPLE_ID locals,TUPLE_ID kw_locals) { object *self = GetItem((object*)locals,0); unicode_object *sys_name = CreateUnicodeObject(str_Copy("__fmod_sys__")); object *sys = GetAttribute(self,sys_name); gc_IncRefCount(sys_name); gc_DecRefCount(sys_name); FMOD_RESULT result; result = FMOD_System_Close(((tag_object*)sys)->tag); ERRCHECK(result); result = FMOD_System_Release(((tag_object*)sys)->tag); ERRCHECK(result); object *tmp =CreateEmptyObject(TYPE_NONE); return (tmp); }
void AudioManager::Deallocate() { // Shutdown audio system. if( Initialized ) { for( size_t Index = 0; Index < MaxAudioTypes; Index++ ) AudioMaps[ Index ].Instance.clear(); if( FMOD_System_Release( SystemInstance ) != FMOD_OK ) throw exception(); Initialized = false; } }
Game::~Game() { FMOD_Sound_Release(hold); FMOD_Sound_Release(move); FMOD_Sound_Release(drop); FMOD_Sound_Release(deletion); FMOD_Sound_Release(marathonMusic); FMOD_Sound_Release(sprintMusic); FMOD_Sound_Release(ultraMusic); //FMOD_Channel_Stop(channel); //FMOD_Channel_Stop(musicChannel); FMOD_System_Close(system); FMOD_System_Release(system); }
FMCSounds::~FMCSounds() { qDeleteAll(m_sound_map); m_sounds_cfg->saveToFile(); delete m_sounds_cfg; #ifdef USE_FMOD MYASSERT(FMOD_System_Close(m_fmod_system) == FMOD_OK); MYASSERT(FMOD_System_Release(m_fmod_system) == FMOD_OK); #endif #ifdef USE_OPENAL /*alcMakeContextCurrent(m_oldContext); alcDestroyContext(m_alContext); alcCloseDevice(m_alDevice); alutExit();*/ #endif }
void stopMusic (void) { if (sounds) { Log("about to free sounds\n"); free(sounds); } if (sys) { Log("releasing fmod system\n"); result = FMOD_System_Close(sys); ERRCHECK(result); result = FMOD_System_Release(sys); ERRCHECK(result); } return; }
unsigned int JiwokFMODWrapper::GetLength(const char *filename) { FMOD_SYSTEM *system; FMOD_SOUND *sound; FMOD_RESULT result; unsigned int version; result = FMOD_System_Create(&system); ERRCHECK(result); result = FMOD_System_GetVersion(system, &version); ERRCHECK(result); if (version < FMOD_VERSION) { //printf("Error! You are using an old version of FMOD %08x. This program requires %08x\n", version, FMOD_VERSION); return 0; } result = FMOD_System_Init(system, 1, FMOD_INIT_NORMAL, 0); ERRCHECK(result); result = FMOD_System_CreateStream(system,filename, FMOD_OPENONLY | FMOD_ACCURATETIME, 0, &sound); // ERRCHECK(result); unsigned int length = 0; result = FMOD_Sound_GetLength(sound, &length, FMOD_TIMEUNIT_MS); ERRCHECK(result); result = FMOD_Sound_Release(sound); ERRCHECK(result); result = FMOD_System_Close(system); ERRCHECK(result); result = FMOD_System_Release(system); ERRCHECK(result); return length; }
void End() { FMOD_RESULT result = FMOD_OK; if (gSound) { result = FMOD_Sound_Release(gSound); CHECK_RESULT(result); gSound = 0; } if (gSystem) { result = FMOD_System_Release(gSystem); CHECK_RESULT(result); gSystem = 0; } }
void Sound::Terminate() { for(int i = 0; i < MAX_SOUNDS; i++) { Sound* sound = sounds[i]; if(sound == nullptr) continue; delete sound; } FMOD_RESULT s_result = FMOD_OK; s_result = FMOD_SoundGroup_Release(musicGroup); check_error(s_result); s_result = FMOD_SoundGroup_Release(noiseGroup); check_error(s_result); s_result = FMOD_System_Close(fmodSystem); check_error(s_result); s_result = FMOD_System_Release(fmodSystem); check_error(s_result); }