diff --git a/distrho/src/DistrhoPluginAU.cpp b/distrho/src/DistrhoPluginAU.cpp index 63878cd9..3276c036 100644 --- a/distrho/src/DistrhoPluginAU.cpp +++ b/distrho/src/DistrhoPluginAU.cpp @@ -2015,23 +2015,49 @@ public: midiEvent.data[1] = inData1; midiEvent.data[2] = inData2; - // TODO switch (inStatus) { case 0x80: case 0x90: case 0xA0: case 0xB0: - case 0xD0: case 0xE0: midiEvent.size = 3; break; case 0xC0: + case 0xD0: midiEvent.size = 2; break; - default: - midiEvent.size = 1; + case 0xF0: + switch (inStatus & 0x0F) + { + case 0x0: + case 0x4: + case 0x5: + case 0x7: + case 0x9: + case 0xD: + // unsupported + kAudioUnitErr_InvalidPropertyValue; + case 0x1: + case 0x2: + case 0x3: + case 0xE: + midiEvent.size = 3; + break; + case 0x6: + case 0x8: + case 0xA: + case 0xB: + case 0xC: + case 0xF: + midiEvent.size = 1; + break; + } break; + default: + // invalid + return kAudioUnitErr_InvalidPropertyValue; } #if DISTRHO_PLUGIN_NUM_INPUTS + DISTRHO_PLUGIN_NUM_OUTPUTS == 0 diff --git a/distrho/src/DistrhoUI.cpp b/distrho/src/DistrhoUI.cpp index d6ee6170..a4e81129 100644 --- a/distrho/src/DistrhoUI.cpp +++ b/distrho/src/DistrhoUI.cpp @@ -182,7 +182,7 @@ PluginWindow& UI::PrivateData::createNextWindow(UI* const ui, uint width, uint h height *= scaleFactor; } - d_stdout("createNextWindow %u %u %d", width, height, scaleFactor); + d_stdout("createNextWindow %u %u %f", width, height, scaleFactor); uiData->window = new PluginWindow(ui, uiData->app, uiData->winId, width, height, scaleFactor); if (uiData->callbacksPtr != nullptr)