When using the JUCE VST plugin hosting classes, the GRM Tools plugins get channel counts that don’t allow using the plugins properly. The worst example of this is probably the GRM Spaces surround panner that only gets 1 input and 1 output total (it should have maximum of 32 inputs and 32 outputs), making it completely useless when used with the JUCE plugin hosting classes. (But the other GRM plugins exhibit channel count problems too.) I have so far checked this on Windows 64 bit with licensed versions of the plugins. (JUCE 5.3.1) The plugins can be properly used in Reaper and Plogue Bidule.
When you host plug-ins in JUCE you can simply change the channel count to whatever you want (as long as the plug-in supports it).
Have a look at AudioProcessor::setChannelLayoutOfBus, for example:
hostedPlugin->setChannelLayoutOfBus (true, 0, AudioChannelSet:: create5point1());
If it as simple as that, why the JUCE plugin host demo app is unable to change the channel counts? (I will check if using that method will work but I have a strong suspicion it won’t.)
Sorry you didn’t say that this is an issue with the JUCE plug-in host. I’ll check it out. Do GRM offer demo plug-ins? Is there a particular one for me to test?
It’s an issue with both the JUCE plugin host and my own hosting code. The plugins simply report very low (and or otherwise wrong) initial total IO channel counts with the JUCE hosting code.
GRM does have demo versions of the plugins, but if I recall right, the Reaper developers reported those behaving a bit differently than the licensed ones. Hopefully the demo versions now do behave the same as the licensed ones with the latest versions.
But did you try changing the layout as I mention above? Almost all hosts don’t use the default reported channel layout, so it’s no surprise to me if the GRM plug-ins report non-sense as their default layout. Did you try changing it in the hosting demo as well? Right-click on the plug-in and select “Configure Audio I/O”.
The dialog doesn’t allow doing anything useful with the GRM plugins, the IO configurations can’t be changed.
… and changing it with the code I sent you?
It actually might be working with that change! (I need to test a bit more thoroughly though…) But the problem with the JUCE plugin host demo app still exists, it would be nice if some simple fix exists for that…
I’ll have a look…
Looks like the setChannelLayoutOfBus trick does not work for all of the GRM Plugins. (I previously tested only with the GRM Spaces panner plugin.)
For example the GRM Shuffling plugin can’t be made to work with its multichannel output mode with the JUCE hosting code. It should work with up to 8 output channels.
OK, I had to go down to the VST hosting code and make this rather hacky thing that changes the plugin initing based on the plugin’s name…