From bf7b5a5d9d61b9aa8f23575ce61c8320201cbd2c Mon Sep 17 00:00:00 2001 From: Vesa Date: Sun, 16 Nov 2014 17:08:39 +0200 Subject: [PATCH] Fix bassbooster --- plugins/BassBooster/BassBooster.cpp | 7 ++++++- plugins/BassBooster/BassBooster.h | 5 ++++- plugins/BassBooster/BassBoosterControls.cpp | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/plugins/BassBooster/BassBooster.cpp b/plugins/BassBooster/BassBooster.cpp index 38a9bced3..60c31ab1a 100644 --- a/plugins/BassBooster/BassBooster.cpp +++ b/plugins/BassBooster/BassBooster.cpp @@ -49,6 +49,7 @@ Plugin::Descriptor PLUGIN_EXPORT bassbooster_plugin_descriptor = BassBoosterEffect::BassBoosterEffect( Model* parent, const Descriptor::SubPluginFeatures::Key* key ) : Effect( &bassbooster_plugin_descriptor, parent, key ), + m_frequencyChangeNeeded( false ), m_bbFX( DspEffectLibrary::FastBassBoost( 70.0f, 1.0f, 2.8f ) ), m_bbControls( this ) { @@ -74,7 +75,11 @@ bool BassBoosterEffect::processAudioBuffer( sampleFrame* buf, const fpp_t frames return( false ); } // check out changed controls - if( m_bbControls.m_freqModel.isValueChanged() ) { changeFrequency(); } + if( m_frequencyChangeNeeded || m_bbControls.m_freqModel.isValueChanged() ) + { + changeFrequency(); + m_frequencyChangeNeeded = false; + } if( m_bbControls.m_gainModel.isValueChanged() ) { changeGain(); } if( m_bbControls.m_ratioModel.isValueChanged() ) { changeRatio(); } diff --git a/plugins/BassBooster/BassBooster.h b/plugins/BassBooster/BassBooster.h index ad7c6c457..160328e93 100644 --- a/plugins/BassBooster/BassBooster.h +++ b/plugins/BassBooster/BassBooster.h @@ -44,11 +44,14 @@ public: } -private: +protected: void changeFrequency(); void changeGain(); void changeRatio(); + bool m_frequencyChangeNeeded; + +private: DspEffectLibrary::MonoToStereoAdaptor m_bbFX; BassBoosterControls m_bbControls; diff --git a/plugins/BassBooster/BassBoosterControls.cpp b/plugins/BassBooster/BassBoosterControls.cpp index 28d1a8f83..ce03e7d16 100644 --- a/plugins/BassBooster/BassBoosterControls.cpp +++ b/plugins/BassBooster/BassBoosterControls.cpp @@ -43,7 +43,7 @@ BassBoosterControls::BassBoosterControls( BassBoosterEffect* effect ) : void BassBoosterControls::changeFrequency() { - m_effect->changeFrequency(); + m_effect->m_frequencyChangeNeeded = true; }