Browse Source

AU: fix midi input for channels != 0, debugging tweaks

Signed-off-by: falkTX <falktx@falktx.com>
pull/480/head
falkTX 4 months ago
parent
commit
df621e81e0
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
1 changed files with 17 additions and 3 deletions
  1. +17
    -3
      distrho/src/DistrhoPluginAU.cpp

+ 17
- 3
distrho/src/DistrhoPluginAU.cpp View File

@@ -2015,7 +2015,7 @@ public:
midiEvent.data[1] = inData1; midiEvent.data[1] = inData1;
midiEvent.data[2] = inData2; midiEvent.data[2] = inData2;


switch (inStatus)
switch (inStatus & 0xF0)
{ {
case 0x80: case 0x80:
case 0x90: case 0x90:
@@ -2057,6 +2057,8 @@ public:
break; break;
default: default:
// invalid // invalid
d_debug("auMIDIEvent received invalid event %u %u %u %u @ %u",
inStatus, inData1, inData2, inOffsetSampleFrame, fMidiEventCount);
return kAudioUnitErr_InvalidPropertyValue; return kAudioUnitErr_InvalidPropertyValue;
} }


@@ -2814,12 +2816,16 @@ struct AudioComponentPlugInInstance {


static OSStatus Open(void* const self, const AudioUnit component) static OSStatus Open(void* const self, const AudioUnit component)
{ {
d_debug("AudioComponentPlugInInstance::Open(%p)", self);

static_cast<AudioComponentPlugInInstance*>(self)->plugin = new PluginAU(component); static_cast<AudioComponentPlugInInstance*>(self)->plugin = new PluginAU(component);
return noErr; return noErr;
} }


static OSStatus Close(void* const self) static OSStatus Close(void* const self)
{ {
d_debug("AudioComponentPlugInInstance::Close(%p)", self);

delete static_cast<AudioComponentPlugInInstance*>(self); delete static_cast<AudioComponentPlugInInstance*>(self);
return noErr; return noErr;
} }
@@ -2928,8 +2934,16 @@ struct AudioComponentPlugInInstance {
void* const outData, void* const outData,
UInt32* const ioDataSize) UInt32* const ioDataSize)
{ {
d_debug("AudioComponentPlugInInstance::GetProperty(%p, %d:%x:%s, %d:%s, %d, ...)",
self, inProp, inProp, AudioUnitPropertyID2Str(inProp), inScope, AudioUnitScope2Str(inScope), inElement);
#ifdef DEBUG
switch (inProp) {
case kAudioUnitProperty_PresentPreset:
break;
default:
d_debug("AudioComponentPlugInInstance::GetProperty(%p, %d:%x:%s, %d:%s, %d, ...)",
self, inProp, inProp, AudioUnitPropertyID2Str(inProp), inScope, AudioUnitScope2Str(inScope), inElement);
break;
}
#endif
DISTRHO_SAFE_ASSERT_RETURN(ioDataSize != nullptr, kAudio_ParamError); DISTRHO_SAFE_ASSERT_RETURN(ioDataSize != nullptr, kAudio_ParamError);


Boolean writable; Boolean writable;


Loading…
Cancel
Save