Midi FX issue - Logic Pro and Mac M1

Findings so far:

  • Some MIDI messages were being sent without the proper alignment on ARM, which may have been causing issues for Logic when attempting to read them.
  • Adding a default audio bus (by supplying a BusesProperties instance to the base AudioProcessor's constructor) allows a MIDI FX plugin to load successfully in Logic. Without the audio bus, the plugin crashes when it is unloaded with what looks like a double-delete. It seems that the plugin may be quickly loaded + unloaded before it is ‘properly’ instantiated.
  • If I enable an audio bus in the MIDI Logger demo, I can load it as a MIDI FX plugin in Logic. If it’s the first plugin in the chain, it prints received MIDI messages, but subsequent plugins don’t receive any MIDI messages. If I add some basic logging, I see that the plugin is successfully calling the MIDI callback in the AU’s AUMIDIOutputCallbackStruct, so it looks like the messages go missing after they reach Logic.

A fix for the first issue has been merged:

Unfortunately this doesn’t fix the other two issues, so I’ll keep investigating.

8 Likes