I had an AudioProcessorValueTreeState object in PluginProcessor and AudioPluginAudioProcessorEditor inherited from AudioProcessorValueTreeState::Listener. The parameter is attached to a slider using another AudioProcessorValueTreeState::SliderAttachment object.
I tested it in the stand alone mode and it works fine. If opening the VST using JUCE’s AudioPluginHost though, once changing the parameter the program crashed. The error was: Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
. The line trigger the error was from line 151 of juce_AudioProcessorValueTreeState.cpp
void parameterValueChanged (int, float) override
{
const auto newValue = denormalise (parameter.getValue());
if (unnormalisedValue == newValue && ! listenersNeedCalling)
return;
unnormalisedValue = newValue;
--> listeners.call ([this] (Listener& l) { l.parameterChanged (parameter.paramID, unnormalisedValue); });
listenersNeedCalling = false;
needsUpdate = true;
}
I noticed the message in the parameterChanged(const juce::String ¶meterID, float newValue)
callback was printed successfully though. Any suggestions?
PluginEditor.cpp (1.0 KB)
PluginEditor.h (1.0 KB)
PluginProcessor.cpp (6.6 KB)
PluginProcessor.h (2.2 KB)