From 0a3da44f07fd67a0564fe9fb49220c1bcbe0a3d5 Mon Sep 17 00:00:00 2001 From: Tom Poole Date: Fri, 2 Feb 2018 14:11:44 +0000 Subject: [PATCH] AU: Fixed a bug setting default values for discrete parameters --- modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm | 4 ++-- .../juce_audio_processors/utilities/juce_AudioParameterBool.h | 3 ++- .../utilities/juce_AudioParameterChoice.h | 3 ++- .../utilities/juce_AudioParameterFloat.h | 3 ++- .../juce_audio_processors/utilities/juce_AudioParameterInt.h | 3 ++- .../utilities/juce_AudioProcessorParameters.cpp | 4 ++-- 6 files changed, 12 insertions(+), 8 deletions(-) diff --git a/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm b/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm index b8031be92c..22754be9dd 100644 --- a/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm +++ b/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm @@ -886,9 +886,9 @@ public: outParameterInfo.minValue = 0.0f; outParameterInfo.maxValue = getMaximumParameterValue (index); - outParameterInfo.defaultValue = juceFilter->getParameterDefaultValue (index); + outParameterInfo.defaultValue = juceFilter->getParameterDefaultValue (index) * getMaximumParameterValue (index); jassert (outParameterInfo.defaultValue >= outParameterInfo.minValue - && outParameterInfo.defaultValue <= outParameterInfo.maxValue); + && outParameterInfo.defaultValue <= outParameterInfo.maxValue); return noErr; } diff --git a/modules/juce_audio_processors/utilities/juce_AudioParameterBool.h b/modules/juce_audio_processors/utilities/juce_AudioParameterBool.h index 63d5750a50..ee143a1d35 100644 --- a/modules/juce_audio_processors/utilities/juce_AudioParameterBool.h +++ b/modules/juce_audio_processors/utilities/juce_AudioParameterBool.h @@ -60,7 +60,8 @@ protected: private: //============================================================================== - float value, defaultValue; + float value; + const float defaultValue; float getValue() const override; void setValue (float newValue) override; diff --git a/modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h b/modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h index 15f2a58fb9..94374e5890 100644 --- a/modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h +++ b/modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h @@ -71,8 +71,9 @@ protected: private: //============================================================================== - float value, defaultValue; + float value; const int maxIndex; + const float defaultValue; float getValue() const override; void setValue (float newValue) override; diff --git a/modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h b/modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h index 4d94f80371..60a7f93859 100644 --- a/modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h +++ b/modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h @@ -77,7 +77,8 @@ protected: private: //============================================================================== - float value, defaultValue; + float value; + const float defaultValue; float getValue() const override; void setValue (float newValue) override; diff --git a/modules/juce_audio_processors/utilities/juce_AudioParameterInt.h b/modules/juce_audio_processors/utilities/juce_AudioParameterInt.h index ffc616f411..4788f82c2c 100644 --- a/modules/juce_audio_processors/utilities/juce_AudioParameterInt.h +++ b/modules/juce_audio_processors/utilities/juce_AudioParameterInt.h @@ -70,7 +70,8 @@ protected: private: //============================================================================== const int minValue, maxValue, rangeOfValues; - float value, defaultValue; + float value; + const float defaultValue; float getValue() const override; void setValue (float newValue) override; diff --git a/modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp b/modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp index 26228dbc45..82c3b76ad2 100644 --- a/modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp +++ b/modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp @@ -148,8 +148,8 @@ AudioParameterChoice::AudioParameterChoice (const String& idToUse, const String& const StringArray& c, int def, const String& labelToUse) : AudioProcessorParameterWithID (idToUse, nameToUse, labelToUse), choices (c), value ((float) def), - defaultValue (convertTo0to1 (def)), - maxIndex (choices.size() - 1) + maxIndex (choices.size() - 1), + defaultValue (convertTo0to1 (def)) { jassert (choices.size() > 0); // you must supply an actual set of items to choose from! }