I’m finding myself rarely wanting to remove just a single parameter from a listener when calling removeParameterListener
, which is especially true when killing off an editor or some custom components.
I’d prefer something like this:
// In "juce_AudioProcessorValueTreeState.cpp":
void AudioProcessorValueTreeState::removeParameterListener (Listener* listener)
{
for (auto& iter : adapterTable)
iter.second->removeListener (listener);
}
// In "juce_AudioProcessorValueTreeState.h"
/** Removes all parameter callbacks registered with the listener. */
void removeParameterListener (Listener* listener);
// In my own code, say a destructor of a component:
apvts.removeParameterListener (this); // Don't care about params anymore, and don't care to track 'em here.