From 0ff5e9bfb9970872a9b61ee67db9c1ab321a347e Mon Sep 17 00:00:00 2001 From: elsid Date: Sun, 28 Jun 2020 22:16:45 +0200 Subject: [PATCH 1/2] Lookup sound when need to stop Instead of loading. --- apps/openmw/mwsound/soundmanagerimp.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/openmw/mwsound/soundmanagerimp.cpp b/apps/openmw/mwsound/soundmanagerimp.cpp index 162c176e6..65214e5ff 100644 --- a/apps/openmw/mwsound/soundmanagerimp.cpp +++ b/apps/openmw/mwsound/soundmanagerimp.cpp @@ -772,7 +772,7 @@ namespace MWSound if(!mOutput->isInitialized()) return; - Sound_Buffer *sfx = loadSound(Misc::StringUtils::lowerCase(soundId)); + Sound_Buffer *sfx = lookupSound(Misc::StringUtils::lowerCase(soundId)); if (!sfx) return; stopSound(sfx, MWWorld::ConstPtr()); @@ -783,7 +783,7 @@ namespace MWSound if(!mOutput->isInitialized()) return; - Sound_Buffer *sfx = loadSound(Misc::StringUtils::lowerCase(soundId)); + Sound_Buffer *sfx = lookupSound(Misc::StringUtils::lowerCase(soundId)); if (!sfx) return; stopSound(sfx, ptr); From 02587ed1e9eea69871390b84f12b958ff5211f8b Mon Sep 17 00:00:00 2001 From: elsid Date: Sun, 28 Jun 2020 22:55:21 +0200 Subject: [PATCH 2/2] Remove unused SoundManager::stopSound overload --- apps/openmw/mwbase/soundmanager.hpp | 3 --- apps/openmw/mwsound/soundmanagerimp.cpp | 11 ----------- apps/openmw/mwsound/soundmanagerimp.hpp | 3 --- 3 files changed, 17 deletions(-) diff --git a/apps/openmw/mwbase/soundmanager.hpp b/apps/openmw/mwbase/soundmanager.hpp index cc933d4bb..81b54c566 100644 --- a/apps/openmw/mwbase/soundmanager.hpp +++ b/apps/openmw/mwbase/soundmanager.hpp @@ -163,9 +163,6 @@ namespace MWBase virtual void stopSound(const MWWorld::CellStore *cell) = 0; ///< Stop all sounds for the given cell. - virtual void stopSound(const std::string& soundId) = 0; - ///< Stop a non-3d looping sound - virtual void fadeOutSound3D(const MWWorld::ConstPtr &reference, const std::string& soundId, float duration) = 0; ///< Fade out given sound (that is already playing) of given object ///< @param reference Reference to object, whose sound is faded out diff --git a/apps/openmw/mwsound/soundmanagerimp.cpp b/apps/openmw/mwsound/soundmanagerimp.cpp index 65214e5ff..64e8f0ddb 100644 --- a/apps/openmw/mwsound/soundmanagerimp.cpp +++ b/apps/openmw/mwsound/soundmanagerimp.cpp @@ -767,17 +767,6 @@ namespace MWSound } } - void SoundManager::stopSound(const std::string& soundId) - { - if(!mOutput->isInitialized()) - return; - - Sound_Buffer *sfx = lookupSound(Misc::StringUtils::lowerCase(soundId)); - if (!sfx) return; - - stopSound(sfx, MWWorld::ConstPtr()); - } - void SoundManager::stopSound3D(const MWWorld::ConstPtr &ptr, const std::string& soundId) { if(!mOutput->isInitialized()) diff --git a/apps/openmw/mwsound/soundmanagerimp.hpp b/apps/openmw/mwsound/soundmanagerimp.hpp index 55588d06f..56c993d3c 100644 --- a/apps/openmw/mwsound/soundmanagerimp.hpp +++ b/apps/openmw/mwsound/soundmanagerimp.hpp @@ -233,9 +233,6 @@ namespace MWSound virtual void stopSound(const MWWorld::CellStore *cell); ///< Stop all sounds for the given cell. - virtual void stopSound(const std::string& soundId); - ///< Stop a non-3d looping sound - virtual void fadeOutSound3D(const MWWorld::ConstPtr &reference, const std::string& soundId, float duration); ///< Fade out given sound (that is already playing) of given object ///< @param reference Reference to object, whose sound is faded out