Building a weird Channel Strip. Am I doing this right? (AudioProcessorGraph inside ProcessorChain)


I’m making a channel strip plugin with compression, EQ and a limiter. The user must be able to dynamically add/remove EQ bands, but the rest of the configuration is static. And there might be A LOT of EQ bands, we’re talking 20-30. It’s a special case.

After reading up on the documentation and lurking in this forum, I came to a conclusion that it might make sense to use ProcessorChain for the entire strip and AudioProcessorGraph just for the EQ. Except it would suck to fiddle with it for a number of hours just to find out it’s not supposed to work that way.

Another idea was to put the entire EQ section in a separate custom AudioProcessor maybe even with its own ProcessorEditor and then stick that into a ProcessorChain basically putting a plugin within my plugin.

So here are my questions:

  1. Is it possible/advisable to put an instance of AudioProcessorGraph in a ProcessorChain?
  2. Is it possible/advisable to wrap the said AudioProcessorGraph in a custom AudioProcessor and put that into a ProcessorChain?
  3. Is it possible/advisable to pair that custom AudioProcessor with an AudioProcessorEditor and use that editor as a component in the main AudioProcessorEditor?
  4. Any other obvious thing I’m missing?

I’m new to JUCE, but relatively experienced with C++. So I see too many possibilities to implement the things I need, but lack the experience with the framework to know the optimal solution.

Would appreciate any suggestions towards where I might lookup more info.