I haven’t tested my VST3 output in some time, thinking JUCE would just handle it, it’s worked fine before.. but now that I’ve come across some issue in Reason (only does VST3, no AU), now I also seem to get the following error message when I try to load my plugin into the AudioPluginHost:
Unable to load VST-3 plug-in file
I am now stepping through juce_VST3PluginFormat to figure out where this goes wrong. It seems that I am hitting the continue once on line 1472:
if (uniqueId != desc.uniqueId && deprecatedUid != desc.deprecatedUid)
continue;
and once on line 1463:
if (std::strcmp (info.category, kVstAudioEffectClass) != 0)
continue;
making findClassMatchingDescription return numClasses, which I’m interpreting as ‘no matching description found’. What I don’t know is, what does that mean, why does it need that to initialise the plugin, and what can be done about it?
It sounds like the plugin metadata has changed for some reason since the last time the plugin was scanned. In the plugin list window, try removing your plugin (select it and press backspace) and then re-scan the plugin. Can you then load the plugin?
Tried that, still the same result. I did change some of the VST3 categories, but that was after this had already occurred. Must be something else I’ve done to the config.
I also have Projucer still saying everytime that I can update to a new version of JUCE, could that have anything to do with this? I have a git submodule tracking JUCE develop and that is also where I run AudioPluginHost from.
In the meantime, the product works again in Reason and worked as I always expected in other DAWs, so not super high urgency for me to fix. But still strange. And if there ever is a bug specifically in the VST3 version, I wouldn’t know how to debug it now.
Are you using a Projucer that is compiled from exactly the same commit? In general you can’t safely use an older Projucer with a more recent version of the rest of JUCE, and if you are using a develop branch Projucer then you shouldn’t be seeing any messages about upgrading.
Thanks @t0m. That was the ticket. I actually did not have a submodule, but do have a regular git clone of juce tracking master and so it was on v8. But I might have been running an older AudioPluginHost from the Release folder instead of the Debug folder or vice versa.
The solution was to clean the build dirs, and rebuild, for both Projucer and AudioPluginHost, no more complaints now. I had to remove the plugin and rescan, and it loads as expected. Thanks @reuk and @t0m!