X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Faudio%2Fsound_manager.cpp;h=9141f6f6ad23797993efb7b78a3826f705c32f16;hb=d794aac09d4a3b3f5f93985cd74381bb4de4ce84;hp=3d38f6cdb58c46d074c43488531ea162c90d52c4;hpb=73cb1e168850018eaa821a42b30bb221dc5186fe;p=supertux.git diff --git a/src/audio/sound_manager.cpp b/src/audio/sound_manager.cpp index 3d38f6cdb..9141f6f6a 100644 --- a/src/audio/sound_manager.cpp +++ b/src/audio/sound_manager.cpp @@ -301,19 +301,31 @@ SoundManager::play_music(const std::string& filename, bool fade) } void -SoundManager::pause_music() +SoundManager::pause_music(float fadetime) { - if(music_source) - { + 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() +SoundManager::resume_music(float fadetime) { - if(music_source) - { + 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(); } }