diff --git a/Source/Plugins/CAR/CAR.cpp b/Source/Plugins/CAR/CAR.cpp index 8222d224114329803b0ebbe6ce9e0dc3db34eeae..bb65bf868b07e66241b357a37699a1393210218c 100644 --- a/Source/Plugins/CAR/CAR.cpp +++ b/Source/Plugins/CAR/CAR.cpp @@ -46,9 +46,16 @@ AudioProcessorEditor* CAR::createEditor() } +float CAR::getGainLevel() +{ + m_gainLevel.updateTarget(); + return m_gainLevel.getNextValue(); +} + + void CAR::setGainLevel (float newGain) { - m_gainLevel = newGain; + m_gainLevel.setValue (newGain); } @@ -80,7 +87,8 @@ void CAR::process (AudioSampleBuffer& buffer, MidiBuffer& events) m_avgBuffer.applyGain (1.0f / float (numReferenceChannels)); - const float gain = -1.0f * m_gainLevel / 100.f; + m_gainLevel.updateTarget(); + const float gain = -1.0f * m_gainLevel.getNextValue() / 100.f; for (int i = 0; i < numAffectedChannels; ++i) { diff --git a/Source/Plugins/CAR/CAR.h b/Source/Plugins/CAR/CAR.h index ca1929de20cc91e1ccba834743c7d994b346d11b..8f86eb0ce9076e47ae9f7085d2ac6e2ae0d89502 100644 --- a/Source/Plugins/CAR/CAR.h +++ b/Source/Plugins/CAR/CAR.h @@ -73,7 +73,7 @@ public: void process (AudioSampleBuffer& buffer, MidiBuffer& events) override; /** Returns the current gain level that is set in the processor */ - float getGainLevel() const { return m_gainLevel; } + float getGainLevel(); /** Sets the new gain level that will be used in the processor */ void setGainLevel (float newGain); @@ -92,7 +92,7 @@ public: private: - float m_gainLevel; + LinearSmoothedValueAtomic<float> m_gainLevel; AudioSampleBuffer m_avgBuffer;