From f3e37cc713368b2b30bd7d9fdacaac6b188c017a Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Thu, 6 Aug 2020 16:46:56 +0200 Subject: [PATCH] Use the spinlock mutex in EQPool --- src/sfizz/EQPool.cpp | 4 ++-- src/sfizz/EQPool.h | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/sfizz/EQPool.cpp b/src/sfizz/EQPool.cpp index 6d3d75b2..cc608a12 100644 --- a/src/sfizz/EQPool.cpp +++ b/src/sfizz/EQPool.cpp @@ -108,7 +108,7 @@ sfz::EQPool::EQPool(const MidiState& state, int numEQs) sfz::EQHolderPtr sfz::EQPool::getEQ(const EQDescription& description, unsigned numChannels, float velocity) { - const std::unique_lock lock { eqGuard, std::try_to_lock }; + const std::unique_lock lock { eqGuard, std::try_to_lock }; if (!lock.owns_lock()) return {}; @@ -132,7 +132,7 @@ size_t sfz::EQPool::getActiveEQs() const size_t sfz::EQPool::setnumEQs(size_t numEQs) { - const std::lock_guard eqLock { eqGuard }; + const std::lock_guard eqLock { eqGuard }; swapAndPopAll(eqs, [](sfz::EQHolderPtr& eq) { return eq.use_count() == 1; }); diff --git a/src/sfizz/EQPool.h b/src/sfizz/EQPool.h index 7c70af22..d1f7cebb 100644 --- a/src/sfizz/EQPool.h +++ b/src/sfizz/EQPool.h @@ -2,6 +2,7 @@ #include "SfzFilter.h" #include "EQDescription.h" #include "MidiState.h" +#include "utility/SpinMutex.h" #include #include #include @@ -115,7 +116,7 @@ public: */ void setSampleRate(float sampleRate); private: - std::mutex eqGuard; + SpinMutex eqGuard; float sampleRate { config::defaultSampleRate }; const MidiState& midiState; std::vector eqs;