I’m starting to get along with JUCE, seeing how it’s supposed to work, and looking forward to making things.
Am I able to include just about anything a standalone program does in a plug-in? I see, for example, that IRCAM made a VST plug-in that simply routes parameter automation to OSC. What I’m especially interested in would be to load an instrument plug-in within an instrument plug-in. The goal would be to clone the normal plug-in internally and route data selectively to all or some of the clones, sum their output, and present the user with just one version of its GUI. All for the purpose of microtonal music. There are some plug-ins that allow very simple microtuning, I know, but I’d like to make any plug-in available to microtonal musicians.
I see that VST3 plug-ins can change numbers of inputs and outputs, and deactivate ones that are not needed, but I don’t just want to target VST3, so I think I will need to provide several versions with different numbers of inputs and outputs.
But, first of all, is it going to be possible to include the necessary hosting code within a plug-in and load other plug-ins in it? I’m just not very clear on what a plug-in can and can’t do aside from its interaction with the host. Is the sky indeed the limit (as it would seem to be if a VST plug-in can send to OSC)? Could one, for example, make a VST plug-in that… sends an email? runs Python? Could you actually write an OS in an audio plug-in? (For some reason, the VST SDK documentation doesn’t have an example of this.)