I updated to JUCE 6.0.8, and now my plugin (under development) hits an assert that it didn’t used to hit before. But the assert is in the previous version.
It hits this assert at line 603 of juce_VST3_Wrapper.cpp:
I should mention I am set to JUCE_FORCE_USE_LEGACY_PARAM_IDS=1.
I came across this discussion:
So I downloaded the dev branch.
I am now unable to create my plugin at all. I am now hitting an assert at:
IPluginFactory* JUCE_CALLTYPE getPluginFactory()
{
if (factory == nullptr)
if (auto* proc = (GetFactoryProc) getFunction (factoryFnName))
factory = proc();
// The plugin NEEDS to provide a factory to be able to be called a VST3!
// Most likely you are trying to load a 32-bit VST3 from a 64-bit host
// or vice versa.
jassert (factory != nullptr); // HITTING THIS ASSERT!
return factory;
}
…and continuing past this results in “Couldn’t create plugin. Unable to load VST-3 plugin file.”
Setting JUCE_FORCE_USE_LEGACY_PARAM_IDS=0 does not result in any change.
This is using the devbranch AudioPluginHost, Mac Mojave.
EDIT: this new assert seems to be a different problem, related to the fact that my built VST3 is now 8k in size, instead of many MB. See this:
I had the same issue, and the changes in the Develop branch seem to have fixed it.
For my debug builds I had only been loading the plugin as an AU, so I hadn’t caught that same assert in the VST3 wrapper. Instead the first sign of trouble was when I went to try a release build, and my build script ran the pluginval tool to check the AU and VST3 formats.
Thankfully, pluginval threw this error, only on the VST3:
Starting test: pluginval / Plugin state restoration...
!!! Test 1 failed: Parameters not restored on setStateInformation --
Expected value within 0.1 of: nan, Actual value: nan
Further poking around revealed that my first parameter had been replaced by a “Program” parameter, and that it had an initial value of nan. Yikes!
We’ve now cherry-picked this fix (and another fix for the program parameter index with JUCE_FORCE_USE_LEGACY_PARAM_IDS enabled) onto the master branch.