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 3759d5d9c5..b25e29e878 100644 --- a/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm +++ b/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm @@ -1812,7 +1812,7 @@ private: //============================================================================== LegacyAudioParametersWrapper juceParameters; - HashMap paramMap; + std::unordered_map paramMap; Array auParamIDs; Array parameterGroups; @@ -2057,10 +2057,10 @@ private: // Consider yourself very unlucky if you hit this assertion. The hash codes of your // parameter ids are not unique. - jassert (! paramMap.contains (static_cast (auParamID))); + jassert (paramMap.find (static_cast (auParamID)) == paramMap.end()); auParamIDs.add (auParamID); - paramMap.set (static_cast (auParamID), param); + paramMap.emplace (static_cast (auParamID), param); Globals()->SetParameter (auParamID, param->getValue()); } } @@ -2141,9 +2141,13 @@ private: AudioProcessorParameter* getParameterForAUParameterID (AudioUnitParameterID address) const noexcept { - auto index = static_cast (address); - return forceUseLegacyParamIDs ? juceParameters.getParamForIndex (index) - : paramMap[index]; + const auto index = static_cast (address); + + if (forceUseLegacyParamIDs) + return juceParameters.getParamForIndex (index); + + const auto iter = paramMap.find (index); + return iter != paramMap.end() ? iter->second : nullptr; } //==============================================================================