Exemplo n.º 1
0
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();
}
Exemplo n.º 2
0
Arquivo: audio.cpp Projeto: zurn/Zakes
audio::~audio()
{
	Mix_HaltChannel(-1);
	Mix_HaltMusic();
	free_music();
	delete sfact;
	Mix_CloseAudio();
	SDL_QuitSubSystem(SDL_INIT_AUDIO);
}
Exemplo n.º 3
0
Arquivo: audio.cpp Projeto: zurn/Zakes
void audio::cleanup()
{
	Mix_HaltChannel(-1);
	Mix_HaltMusic();
	free_music();
	if (sfact != NULL)
		delete sfact;
	Mix_CloseAudio();
	SDL_QuitSubSystem(SDL_INIT_AUDIO);
}
Exemplo n.º 4
0
Arquivo: audio.cpp Projeto: zurn/Zakes
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;
  }
}