X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Faudio%2Fsound_manager.cpp;h=9141f6f6ad23797993efb7b78a3826f705c32f16;hb=d794aac09d4a3b3f5f93985cd74381bb4de4ce84;hp=d00c93ca137e8095214737e076d390d0174b6e93;hpb=eb9172b9d625b0c333d7ad406433d5d14129a2e6;p=supertux.git diff --git a/src/audio/sound_manager.cpp b/src/audio/sound_manager.cpp index d00c93ca1..9141f6f6a 100644 --- a/src/audio/sound_manager.cpp +++ b/src/audio/sound_manager.cpp @@ -301,6 +301,36 @@ SoundManager::play_music(const std::string& filename, bool fade) } void +SoundManager::pause_music(float fadetime) +{ + if(music_source == NULL) + return; + + if(fadetime > 0) { + if(music_source + && music_source->get_fade_state() != StreamSoundSource::FadingPause) + music_source->set_fading(StreamSoundSource::FadingPause, fadetime); + } else { + music_source->pause(); + } +} + +void +SoundManager::resume_music(float fadetime) +{ + if(music_source == NULL) + return; + + if(fadetime > 0) { + if(music_source + && music_source->get_fade_state() != StreamSoundSource::FadingResume) + music_source->set_fading(StreamSoundSource::FadingResume, fadetime); + } else { + music_source->resume(); + } +} + +void SoundManager::set_listener_position(const Vector& pos) { static Uint32 lastticks = SDL_GetTicks();