From 92383753b001d3018c5d49a220e56065f345e300 Mon Sep 17 00:00:00 2001 From: George Reales Date: Thu, 25 Feb 2021 12:22:00 +0100 Subject: [PATCH] Update PluginProcessor.cpp Program Change support --- Source/PluginProcessor.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Source/PluginProcessor.cpp b/Source/PluginProcessor.cpp index 230d669..6a520ad 100755 --- a/Source/PluginProcessor.cpp +++ b/Source/PluginProcessor.cpp @@ -268,6 +268,18 @@ inline void ObxdAudioProcessor::processMidiPerSample (MidiBuffer::Iterator* iter { synth.allSoundOff(); } + char* midi_data = (char*)midiMsg->getRawData(); + int const status = midi_data[0] & 0xF0; + if (status == 0xC0) + { + { + //const ScopedUnlock unlocker(criticalSection); + // TODO - must issue setProgram + setCurrentProgram(midi_data[1]); + } + //sendChangeMessage(); + //updateHostDisplay(); + } } } @@ -381,7 +393,7 @@ void ObxdAudioProcessor::setStateInformation(const void* data, int sizeInBytes) if (xmlState) { XmlElement* xprogs = xmlState->getFirstChildElement(); - if (xprogs->hasTagName(S("programs"))) + if (xprogs && xprogs->hasTagName(S("programs"))) { int i = 0; forEachXmlChildElement(*xprogs, e)