How to pass automatable parameters to the host after plugin has been loaded

Hi, I was recently using Groove Agent(VST3) by Steinberg in Ableton and I noticed that the were no automatable parameters listed in Ableton’s plugin configure pane. I right-clicked on one of the parameters in groove agent and I chose to assign automation and then the automated parameter showed up in Ableton.

I was under the impression that all plugins must report their automatable parameters initially on load. How can we implement this dynamic loading in JUCE?

Thank you in advance!

The last information I have is, that it is not officially supported by JUCE.

However, you can call updateHostDisplay() with
ChangeDetails().withParameterInfoChanged (true) as parameter. This should tell the host to rescan the parameters and adapt the controls.

A common approach is also to return an empty string for unused parameters, but create a bunch of them in advance, in case you need them. JUCE doesn’t allow a dynamic name, but since the AudioProcessorParameter.getName() is virtual, you can achieve this behaviour anyway.

There is also refreshParameterList(), but I don’t really understand, why the host would initiate this.

If you go down that route, you will probably have to test on the various host, since they might implement that behaviour differently for each one.

Good luck

2 Likes

Hi Daniel,

Thank you very much for the info!

i think this happens if a plug-in has more than 64 parameters?