Create a new (auxiliary) window?

Hi!

I am using the VST3 SDK. I am developing multichannel plugins for a guitar synthesizer and effects processor that works on multiple tracks, one for each string. So essentially, for a six string guitar, there would be 6 mono plugins. Now, I would like the ability to control all 6 plugins using a single controller/editor window. One idea is to have a dedicated master plugin that communicates with each of the 6 plugins and presents the controller/editor user interface. Another idea is to spawn a separate executable for the master controller/editor. Both strategies are doable. The master and the slave plugins communicate via a fast stream such as zero-MQ. I’m leaning towards the separate executable approach. Its advantage is crash resilience, among other things, and the ability to have it run across separate computers, via wifi, etc.

There is a third possibility: creating a master editor/controller in the host itself as an auxiliary window. Is it possible? Have anyone done such a thing? Is there an API that allows such a thing?

A related question is the openAboutBox member function (virtual tresult openAboutBox(TBool onlyCheck)). I checked the examples and I do not see a plugin example there that implements this. My assumption is that the plugin creates an about box window here? Am I wrong? The documentation is rather terse: “Host could ask to open the Plug-in about box. The host could call it with onlyCheck set to true for testing support of open AboutBox. Return kResultFalse means not supported function. Implemented in EditController.”

I’d really appreciate some help.

Thanks in advance,
Joel

Why don’t you create a plugin capable to process 6 channels at once ? Why does this need to be on different tracks ? Most use-cases can be implemented via multiple event input busses and/or the note expression feature in VST3.

Good question. Well, actually, I need at least 6, but can be up to 12. What would the workflow look like in a DAW? Create a “surround” track, then insert the multichannel plugin? I’d want 6 (or more) inputs and 6 (or more) outputs. The available surround configurations does not seem to support more than 6 (Available surround configurations).

What am I missing? And thanks for your reply, BTW :slight_smile:.