VST2 plugin forward compatibility

SDK for VST 3 audio plug-in and host development.
Post Reply
ckhf
Posts: 2
Joined: Wed Jan 25, 2017 7:34 am

VST2 plugin forward compatibility

Post by ckhf »

I noticed that JUCE plugins won't load their chunks when a project in Cubase/Nuendo or Studio One is saved with a later version. So if I create a project with MyJucePlugin 1.5.0, save it and load it on a different machine where only MyJucePlugin 1.4.0 is installed, the saved settings won't be loaded.

I was able to track down this behavior to the number set in AEffect::version which is set in JUCE's VST2 wrapper to the plugin version number.
Is this something that should be fixed in JUCE or is it a bug in Cubase/Nuendo and Studio One?

Also, since there is AEffect::version and AudioEffectX::getVendorVersion() (the latter seems to be used for the version shown in Cubase's Plugin Manager), is there any difference between the two?

frankfilipanits
Posts: 2
Joined: Wed Jun 22, 2016 3:49 am

Re: VST2 plugin forward compatibility

Post by frankfilipanits »

Check out this thread in the JUCE forum:
https://forum.juce.com/t/juce-projucer- ... sion/19244

I believe JUCE added my suggested fix to the develop branch in September 2016, which requires defining a JucePlugin_VSTChunkStructureVersion pre-processor macro.

ckhf
Posts: 2
Joined: Wed Jan 25, 2017 7:34 am

Re: VST2 plugin forward compatibility

Post by ckhf »

Thanks for the link, I haven't seen this on the JUCE forum. We're on an older JUCE but will maybe adopt this workaround.

While the fix certainly works I'm not sure whether this is rather a bug in Cubase/Nuendo/Studio One. From the documentation (Line 213 in aeffect.h/VST3 SDK 3.6.7) the field should contain the plugin version. But I can't see any reason why a host should decide to disable plugin forward compatibility for a plugin.

Post Reply