static void stop_sound_engine() { if (_ch_playing) GB.Watch(_ch_pipe[0], GB_WATCH_NONE, (void *)0, 0); close(_ch_pipe[0]); close(_ch_pipe[1]); free_music(); Mix_CloseAudio(); }
audio::~audio() { Mix_HaltChannel(-1); Mix_HaltMusic(); free_music(); delete sfact; Mix_CloseAudio(); SDL_QuitSubSystem(SDL_INIT_AUDIO); }
void audio::cleanup() { Mix_HaltChannel(-1); Mix_HaltMusic(); free_music(); if (sfact != NULL) delete sfact; Mix_CloseAudio(); SDL_QuitSubSystem(SDL_INIT_AUDIO); }
int audio::load_music(const char * filename) { // printf("Playing file: %s\n", filename); if (music != NULL) free_music(); music = Mix_LoadMUS(filename); if(music == NULL) { printf("Mix_LoadMUS(%s): %s\n", filename, Mix_GetError()); return 0; } return 1; }
void MusicManager::halt_music() { if(!audio_device) return; #ifndef GP2X Mix_HaltMusic(); #else Player_Stop(); #endif if(current_music) { current_music->refcount--; if(current_music->refcount == 0) free_music(current_music); current_music = 0; } }