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?
This will be very hard to debug without the help of Merging Technologies. I’ve sent a request to one of their devs. Let’s hope they will respond soon.
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.
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.