Browse Source

Fix AU midi event sizes

Signed-off-by: falkTX <falktx@falktx.com>
pull/457/head
falkTX 11 months ago
parent
commit
32ba6c1cb4
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
2 changed files with 31 additions and 5 deletions
  1. +30
    -4
      distrho/src/DistrhoPluginAU.cpp
  2. +1
    -1
      distrho/src/DistrhoUI.cpp

+ 30
- 4
distrho/src/DistrhoPluginAU.cpp View File

@@ -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


+ 1
- 1
distrho/src/DistrhoUI.cpp View File

@@ -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)


Loading…
Cancel
Save