diff --git a/AV.cc b/AV.cc index ad87690..a2e4f9a 100644 --- a/AV.cc +++ b/AV.cc @@ -135,6 +135,7 @@ refptr AV::createSound() void AV::playSound(AV::Sound * s) { m_active_sounds.insert(s); + SDL_PauseAudio(0); } void AV::playCallback(Uint8 * stream, int len) @@ -149,6 +150,10 @@ void AV::playCallback(Uint8 * stream, int len) m_active_sounds.erase(it); } } + if (m_active_sounds.size() == 0) + { + SDL_PauseAudio(1); + } } AV::Sound::Sound(AV & av) diff --git a/Engine.cc b/Engine.cc index d73567a..fa03671 100644 --- a/Engine.cc +++ b/Engine.cc @@ -928,9 +928,6 @@ void Engine::run() case SDLK_F5: reloadProgram(); break; - case SDLK_F6: - SDL_PauseAudio(0); - break; default: key_down_event(event.key.keysym.sym); }