}
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();