when I compile the “juce demo demo plugin” from “examples\audio plugin demo” and load the plugin into Pyramix everything works as expected. However, when closing the plugin window and then re-opening it, the CPU load of Pyramix goes to 100% and stays there until the plugin window is closed.
This only seems to happen with Pyramix and Juce plugins.
Other Plugins do not exhibit this behaviour in Pyramix. But (some) other Plugins made with JUCE do.
Pyramix 10 and 11.
I can not debug Pyramix due to some debug protection. Can you give me a hint where to start?
The Problem seems to be related to the Editor. I have created a blank and new plugin. I added an editor with the Producer GUI that does not contain any controls . When no editor is created by uncommenting “return new MyAudioProcessorEditor(*this);” in createEditor() and returning a nullptr, then there is no high CPU load problem.
AudioProcessorEditor* MyAudioProcessor::createEditor()
{
return new MyAudioProcessorEditor(*this);
}
MyAudioPrcessorEditor is inherited from AudioProcessorEditor.
The constructor looks like this:
MyAudioProcessorEditor::MyAudioProcessorEditor (MyAudioProcessor &p)
: AudioProcessorEditor(&p), processor §
The problem did not exist in an older version of juce (major version 3).
In this case the processor was passed as pointer to the editor class.
It seems that createEditor() gets called again, when the user re-opens the plugin window. To me this looks like a Problem that should / could be fixed in JUCE.