You can add to each of your processor classes a static function, that will create the Parameters suitable to be put into a ParameterGroup. In your main AudioProcessor you will then just add all parameters together (and possibly put each sub block into a ParameterGroup)
- Note 1) The parameter creation cannot be dynamically, so you cannot add parameters later.
It will happen during the creation of the main AudioProcessor (injected from a static createParameterLayout() method that you define) - Note 2) AudioProcessorGraph is best for dynamic setups, vs. dsp::ProcessorChain is best for static setups, because the compiler can optimise the code
In this thread there are several good approaches:
Hope that helps