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 7c8d51d3ea..9523cdc3fc 100644 --- a/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm +++ b/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm @@ -1578,6 +1578,10 @@ private: { const AudioUnitParameterID auParamID = generateAUParameterIDForIndex (i); + // Consider yourself very unlucky if you hit this assertion. The hash code of your + // parameter ids are not unique. + jassert (! paramMap.contains (static_cast (auParamID))); + auParamIDs.add (auParamID); paramMap.set (static_cast (auParamID), i); diff --git a/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm b/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm index baa55f7624..09e5da016d 100644 --- a/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm +++ b/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm @@ -845,6 +845,11 @@ private: AUParameterAddress address = static_cast (idx); #else AUParameterAddress address = generateAUParameterAddressForIndex (idx); + + // Consider yourself very unlucky if you hit this assertion. The hash code of your + // parameter ids are not unique. + jassert (! paramMap.contains (static_cast (address))); + paramAddresses.add (address); paramMap.set (static_cast (address), idx); #endif diff --git a/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp b/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp index 794f791a38..5bbf38adf4 100644 --- a/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp @@ -2093,6 +2093,10 @@ private: { const Vst::ParamID paramID = JuceVST3EditController::generateVSTParamIDForIndex (pluginInstance, i); + // Consider yourself very unlucky if you hit this assertion. The hash code of your + // parameter ids are not unique. + jassert (! vstParamIDs.contains (static_cast (paramID))); + vstParamIDs.add (paramID); paramMap.set (static_cast (paramID), i); }