Hi
There is a compatibility issue between Juce and iZotope vst3 plugins.
The createEditorIfNeeded() returns nullptr.
Tested with Tracktion 7 so it is not just my code.
Now you are going to say that this is an issue with iZotope, and yes it is probably a good idea to let them debug as well.
But from their perspective their product works in all other hosts but Juce based… so
Interesting… it seems as if the entire edit controller part of the plug-in doesn’t load. For example, the plugin does not return any parameters or programs either. The plug-in returns nullptr when JUCE asks for an editor.
Yes, it is really “dead”. Don’t think iZotope frequents this forum.
Would you like to conntact them or should I? you might have bigger influence than me.
Fantastic, thank you
Will be interesting, the will among plugin developers to look into these things is very varying.
Lets hope iZotope are among the "good guys"
Now if only every plugin developer would use the Juce framework, life would be a lot easier for us host developers.
Thank you for the quick response! I’ll check this soon.
Thanks also to iZotope, they make great plugins, now we know they are also nice, helpful people.
I wasn’t sure if I should make a new post - at any rate, it is about iZotope VST3 plugins with JUCE 5.3.2
We recently had some crashes with our implementation of the AudioPluginHost. We verified crashes with at least two VST3 Izotope plugins (Break Tweaker and Iris). We verified this crash with the JUCE AudioPluginHost sample program on two computers.
When I drag the Iris VST3 on to the AudioPluginHost, I get an access violation in IZotope Iris 2.vst3.
Here is the stack:
iZotope Iris 2.vst3!00007ffe26c91796() Unknown
AudioPluginHost.exe!juce::VST3Classes::VST3PluginInstance::prepareToPlay(double newSampleRate, int estimatedSamplesPerBlock) Line 1952 C++
AudioPluginHost.exe!juce::AudioProcessorGraph::Node::prepare(double newSampleRate, int newBlockSize, juce::AudioProcessorGraph * graph, juce::AudioProcessor::ProcessingPrecision precision) Line 821 C++
AudioPluginHost.exe!juce::AudioProcessorGraph::buildRenderingSequence() Line 1229 C++
AudioPluginHost.exe!juce::AudioProcessorGraph::handleAsyncUpdate() Line 1241 C++
AudioPluginHost.exe!juce::AsyncUpdater::AsyncUpdaterMessage::messageCallback() Line 35 C++
AudioPluginHost.exe!juce::WindowsMessageHelpers::dispatchMessageFromLParam(int64 lParam) Line 53 C++
AudioPluginHost.exe!juce::MessageManager::dispatchNextMessageOnSystemQueue(bool returnIfNoPendingMessages) Line 140 C++
AudioPluginHost.exe!juce::MessageManager::runDispatchLoop() Line 128 C++
AudioPluginHost.exe!juce::JUCEApplicationBase::main() Line 266 C++
AudioPluginHost.exe!WinMain(HINSTANCE * formal, HINSTANCE * __formal, char * __formal, int __formal) Line 154 C++
This is the code:
warnOnFailure (processor->setBusArrangements (inputArrangements.getRawDataPointer(), inputArrangements.size(),
outputArrangements.getRawDataPointer(), outputArrangements.size()));
I noticed that inputArrangements is pointing to a null ptr.