From 8480d0110a5c356256f424f122000c265db8fa98 Mon Sep 17 00:00:00 2001 From: reuk Date: Thu, 1 Aug 2019 18:22:07 +0100 Subject: [PATCH] APVTS: Send parameter change notifications more proactively --- .../utilities/juce_AudioProcessorValueTreeState.cpp | 9 +++++++++ .../utilities/juce_AudioProcessorValueTreeState.h | 3 +++ 2 files changed, 12 insertions(+) diff --git a/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp b/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp index 7e990abee1..681d3e0f04 100644 --- a/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp +++ b/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp @@ -65,6 +65,15 @@ bool AudioProcessorValueTreeState::Parameter::isAutomatable() const { return bool AudioProcessorValueTreeState::Parameter::isDiscrete() const { return discrete; } bool AudioProcessorValueTreeState::Parameter::isBoolean() const { return boolean; } +void AudioProcessorValueTreeState::Parameter::valueChanged (float newValue) +{ + if (lastValue == newValue) + return; + + lastValue = newValue; + sendValueChangedMessageToListeners (newValue); +} + //============================================================================== class AudioProcessorValueTreeState::ParameterAdapter : private AudioProcessorParameter::Listener { diff --git a/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h b/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h index fbaafbd771..a0cc2b0e0f 100644 --- a/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h +++ b/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h @@ -414,8 +414,11 @@ public: bool isBoolean() const override; private: + void valueChanged (float) override; + const float unsnappedDefault; const bool metaParameter, automatable, discrete, boolean; + float lastValue = 0.0f; }; //==============================================================================