Dealing with a huge number of automatable parameters of AudioProcessorValueTree?

Has anyone experience with a huge amount of automatable parameters in a vst3 plugin?

AFAIK it is not possible to add and delete parameters from the APVTS, therefore I am considering to prepare all imaginable parameters at start. But 25.000 parameters, seem way too much, but maybe it’s fine? Has anyone experience with this?

Furthermore I read, that setting the name of a parameter to an empty string, hides it in most DAWs… so i could change the visibility of them on the run.

… I could also think of just providing roughly 1000 parameters and reconnecting them in my vst3 for different usages. But that makes things extra complicated… Anyone ideas?

That is true.

No user wants to scroll through a list of 1000 automatable parameters (unless, possibly, parameter groups actually worked across all DAWs, and you could present them hierarchically – but that is not the case at the moment).

What’s the use case here? You need one plugin with automatable parameters controlling every possible type of audio effect ever invented, just in case…?

My use case:

My plugin is providing an interface like the abelton clip section, with for example 25 * 25 clips. These can be played and paused over time. Each clip can run 9 different behaviours. Each of the behaviours has 8 parameters.

It would be awesome to midi automate the clip states, the clip’s behaviour and the behaviour’s parameters. Furthermore it would be great to control the behaviour parameters by a midi controller…

I can reduce the number of parameters, because only one clip per collumn is playing at a time.

So, do you need one set of parameters for each behavior per clip, or can you create one “master” set of parameters applied to any clip currently doing that behavior? If the latter is true, you’d have 9 * 8 = 72 parameters, that’s not so bad.

If by this you mean “play/pause/stop”, I have often found it difficult to represent instantaneous button presses with an automatable parameter. The closest you can probably get is an AudioParameterBool, and if you go with that, you probably only need a single “isPlaying” parameter for each clip.

One clip per collumn is playing, so i could make a “master” set of parameters for each collumn… 9 * 8 * 25 = 1800 …

The audioParameterBool is a good idea!