+ // When this happens, previous music continued playing, stop it, just in case.
+ stop_music(0);
+ }
+}
+
+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();