mirror of
https://github.com/vcmi/vcmi.git
synced 2025-03-21 21:17:49 +02:00
CAudioBase: move mutex to base class since CSoundHandler need it
This commit is contained in:
parent
c5ca75bc53
commit
d96a3aa5b7
@ -281,6 +281,7 @@ bool CSoundHandler::ambientCheckVisitable() const
|
||||
|
||||
void CSoundHandler::ambientUpdateChannels(std::map<std::string, int> sounds)
|
||||
{
|
||||
boost::mutex::scoped_lock guard(mutex);
|
||||
std::vector<std::string> stoppedSounds;
|
||||
for(auto & pair : ambientChannels)
|
||||
{
|
||||
@ -310,6 +311,7 @@ void CSoundHandler::ambientUpdateChannels(std::map<std::string, int> sounds)
|
||||
|
||||
void CSoundHandler::ambientStopAllChannels()
|
||||
{
|
||||
boost::mutex::scoped_lock guard(mutex);
|
||||
for(auto ch : ambientChannels)
|
||||
{
|
||||
ambientStopSound(ch.first);
|
||||
@ -375,7 +377,7 @@ void CMusicHandler::release()
|
||||
{
|
||||
if (initialized)
|
||||
{
|
||||
boost::mutex::scoped_lock guard(musicMutex);
|
||||
boost::mutex::scoped_lock guard(mutex);
|
||||
|
||||
Mix_HookMusicFinished(nullptr);
|
||||
|
||||
@ -439,7 +441,7 @@ void CMusicHandler::queueNext(std::unique_ptr<MusicEntry> queued)
|
||||
if (!initialized)
|
||||
return;
|
||||
|
||||
boost::mutex::scoped_lock guard(musicMutex);
|
||||
boost::mutex::scoped_lock guard(mutex);
|
||||
|
||||
next = std::move(queued);
|
||||
|
||||
@ -468,7 +470,7 @@ void CMusicHandler::stopMusic(int fade_ms)
|
||||
if (!initialized)
|
||||
return;
|
||||
|
||||
boost::mutex::scoped_lock guard(musicMutex);
|
||||
boost::mutex::scoped_lock guard(mutex);
|
||||
|
||||
if (current.get() != nullptr)
|
||||
current->stop(fade_ms);
|
||||
@ -485,7 +487,7 @@ void CMusicHandler::setVolume(ui32 percent)
|
||||
|
||||
void CMusicHandler::musicFinishedCallback(void)
|
||||
{
|
||||
boost::mutex::scoped_lock guard(musicMutex);
|
||||
boost::mutex::scoped_lock guard(mutex);
|
||||
|
||||
if (current.get() != nullptr)
|
||||
{
|
||||
|
@ -20,6 +20,7 @@ struct Mix_Chunk;
|
||||
|
||||
class CAudioBase {
|
||||
protected:
|
||||
boost::mutex mutex;
|
||||
bool initialized;
|
||||
int volume; // from 0 (mute) to 100
|
||||
|
||||
@ -118,9 +119,6 @@ public:
|
||||
class CMusicHandler: public CAudioBase
|
||||
{
|
||||
private:
|
||||
// Because we use the SDL music callback, our music variables must
|
||||
// be protected
|
||||
boost::mutex musicMutex;
|
||||
//update volume on configuration change
|
||||
SettingsListener listener;
|
||||
void onVolumeChange(const JsonNode &volumeNode);
|
||||
|
Loading…
x
Reference in New Issue
Block a user