From 059d98507c47eb506dd0187970b18f0406f96ff0 Mon Sep 17 00:00:00 2001 From: reuk Date: Tue, 30 May 2023 13:57:25 +0100 Subject: [PATCH] Params: Consistently use HostedAudioProcessorParameter rather than AudioProcessorParameterWithID when querying parameter IDs AudioProcessorParameterWithID pre-dates HostedAudioProcessorParameter, which is why AudioProcessorParameterWithID was initially used for this purpose. --- .../juce_audio_plugin_client_AUv3.mm | 4 ++-- .../format_types/juce_LegacyAudioParameter.cpp | 10 +++++----- .../processors/juce_AudioProcessor.cpp | 12 ++++++------ 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm index 4c57621a5b..03992548c3 100644 --- a/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm @@ -1150,8 +1150,8 @@ private: auto getParameterIdentifier = [¶meter] { - if (const auto* paramWithID = dynamic_cast (¶meter)) - return paramWithID->paramID; + if (const auto* paramWithID = dynamic_cast (¶meter)) + return paramWithID->getParameterID(); // This could clash if any groups have been given integer IDs! return String (parameter.getParameterIndex()); diff --git a/modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp b/modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp index 90efcc5821..a65a0d59ec 100644 --- a/modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp +++ b/modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp @@ -29,7 +29,7 @@ namespace juce JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wdeprecated-declarations") JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4996) -class LegacyAudioParameter : public AudioProcessorParameter +class LegacyAudioParameter : public HostedAudioProcessorParameter { public: LegacyAudioParameter (AudioProcessor& audioProcessorToUse, int audioParameterIndex) @@ -54,7 +54,7 @@ public: bool isMetaParameter() const override { return processor->isMetaParameter (parameterIndex); } Category getCategory() const override { return processor->getParameterCategory (parameterIndex); } String getCurrentValueAsText() const override { return processor->getParameterText (parameterIndex); } - String getParamID() const { return processor->getParameterID (parameterIndex); } + String getParameterID() const override { return processor->getParameterID (parameterIndex); } //============================================================================== float getValueForText (const String&) const override @@ -101,12 +101,12 @@ public: static String getParamID (const AudioProcessorParameter* param, bool forceLegacyParamIDs) noexcept { if (auto* legacy = dynamic_cast (param)) - return forceLegacyParamIDs ? String (legacy->parameterIndex) : legacy->getParamID(); + return forceLegacyParamIDs ? String (legacy->parameterIndex) : legacy->getParameterID(); - if (auto* paramWithID = dynamic_cast (param)) + if (auto* paramWithID = dynamic_cast (param)) { if (! forceLegacyParamIDs) - return paramWithID->paramID; + return paramWithID->getParameterID(); } if (param != nullptr) diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp b/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp index c336fb5aa1..c7e9f88a91 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp +++ b/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp @@ -446,11 +446,11 @@ void AudioProcessor::validateParameter (AudioProcessorParameter* param) void AudioProcessor::checkForDuplicateTrimmedParamID ([[maybe_unused]] AudioProcessorParameter* param) { #if JUCE_DEBUG && ! JUCE_DISABLE_CAUTIOUS_PARAMETER_ID_CHECKING - if (auto* withID = dynamic_cast (param)) + if (auto* withID = dynamic_cast (param)) { constexpr auto maximumSafeAAXParameterIdLength = 31; - const auto paramID = withID->paramID; + const auto paramID = withID->getParameterID(); // If you hit this assertion, a parameter name is too long to be supported // by the AAX plugin format. @@ -478,9 +478,9 @@ void AudioProcessor::checkForDuplicateTrimmedParamID ([[maybe_unused]] AudioProc void AudioProcessor::checkForDuplicateParamID ([[maybe_unused]] AudioProcessorParameter* param) { #if JUCE_DEBUG - if (auto* withID = dynamic_cast (param)) + if (auto* withID = dynamic_cast (param)) { - auto insertResult = paramIDs.insert (withID->paramID); + auto insertResult = paramIDs.insert (withID->getParameterID()); // If you hit this assertion then the parameter ID is not unique jassert (insertResult.second); @@ -1430,8 +1430,8 @@ const String AudioProcessor::getParameterName (int index) String AudioProcessor::getParameterID (int index) { // Don't use getParamChecked here, as this must also work for legacy plug-ins - if (auto* p = dynamic_cast (getParameters()[index])) - return p->paramID; + if (auto* p = dynamic_cast (getParameters()[index])) + return p->getParameterID(); return String (index); }