recently I’ve tried JUCE 7.0.1 after using 6.0.1 & 6.0.4 for 2 years. I noticed that VST3 plugins built with 7 (both 7.0.0 and 7.0.1) are not compatible in their channel order with JUCE audiopluginhost built with 6.0.4, and vice versa. This takes place if the number of channels > 6, e.g. 7.1. So, migration of plugins requires migration of the host too. Does it work as designed? Has anybody also found this fact?
I have not found any notices about it.
There was a bug in older versions of JUCE where the order of channels used by a VST3 host and client could differ when only the host or client was built with JUCE. That is, a channel with a particular designation in the host might end up with a different designation inside the plugin, when calling
AudioChannelSet::getTypeOfChannel. In new versions of JUCE, channel designations should match between JUCE and non-JUCE hosts/clients.
Thank you reuk,
It’s very interesting information. May be I didn’t know about this problem because never used multichannel plugins with other hosts than audiopluginhost.
Might be worth mentioning this backward incompatibility in BREAKING-CHANGES.txt?
One more thought: the latest version of MATLAB R2022a can build VST3 plugins. As we know, it uses JUCE in background for this purpose. And it uses JUCE 5. I’ve checked that channels order for MATLAB-generated plugins is compatible with audiopluginhost built with JUCE 6 and wrong with the newest one. It may be a problem for MATLAB users, so at least they should be informed anyway.