Not sure if I am doing something wrong or if this is intended as it is necessary for plugin scanning, but in VSTPluginInstance gets called twice when I host a VST2 plugin.
VSTPluginInstance (const ModuleHandle::Ptr& mh, const BusesProperties& ioConfig, Vst2::AEffect* effect,
double sampleRateToUse, int blockSizeToUse)
My code for loding it loooks like this:
juce::AudioProcessor* JUCE_CALLTYPE createPluginFilter()
{
…
juce::OwnedArrayjuce::PluginDescription pluginDescriptions;
juce::KnownPluginList plist;
juce::AudioPluginFormatManager pluginFormatManager;
pluginFormatManager.addDefaultFormats();//here it gets called for the first time, then it is destroyed for (int i = 0; i < pluginFormatManager.getNumFormats(); ++i) plist.scanAndAddFile(pluginPath, true, pluginDescriptions, *pluginFormatManager.getFormat(i)); juce::String msg; //here it gets called for the second time auto wrapped = pluginFormatManager.createPluginInstance(*pluginDescriptions[0], 44100.0, 512, msg); return std::make_unique<WrapperProcessor>(std::move(wrapped)).release();
}
Here is a thread that could be related to it: