Max for Live devices kill note offs when sending sysex data
Hey,
I'm currently working on a sound patch editor for the Yamaha AN synth.
It's sending sysex via sxformat and midiout. Also midiin is connected to midiout to allow playing notes and using controllers at the same time and everything works fine in standard Max patches.
The problem starts once I try doing this in a Max for Live Midi device.
It appears that merging the sysex and midiin stream kills any note offs resulting in hanging notes. I was checking this with an external midi monitor to confirm it.
Again this works fine in standard Max patches.
I can confirm this even with a super simple setup.
I wonder if this is right approach to merge these two streams or do I need to change the setup of the patch?
It would be great to get any hints to fix this. Thank you!
cheers,
Matthias


You could try a separate midiout object for sysex.
Thx, unfortunately that doesn't work. Live midi devices always pipe all midiouts to the same port.
I see a problem there: [midiout] takes a serial stream of bytes, so if you inject messages into it from two sources (one of which is also a stream, as here) you'll probably get data corruption.
Try a [midiformat] to package your incoming bytes into notein and ctrin messages - or, yes, use a separate [midiout].
thx. what really stumps me is that it works perfect in regular Max patches, just not as M4L device.
i have the suspicion it's Live doing some extra parallel merging that corrupts the stream.
Yeah, the downstream MIDI handling will be completely different, so that's not terribly surprising.
So I did a bit more digging and trying out other thirdparty max devices and got the same issues.
But I have found out that it works ok in Live if I wait a bit before releasing the keys when I have triggered a sysex message. It's an oddity but at least I know now how to work around. Still would be good to find a real fix for that.
Thanks again for the input.
Hi Matthias,
I'm having the same problem here on my MacBook Air with macOS Monterey, while everything is fine on my iMac with Mojave. Max for Live seems to manage SYSEX differently with the latest OS.
Did you find a solution since then ? Thanks.
Hey, unfortunately I never found a solution and gave up on M4L and Sysex on the Mac. Which is a shame because in Max standalone it works totally fine.
Hey folks,
I have good news, someone at Ableton or Cycling seems have fixed this issue. At least it works fine now on my system, Mac Studio M1 Ultra and Live 11. Whoever fixed it, many thanks. I have the suspicion Ableton fixed a lot of Midi issues to properly support MPE.
I can finally finish my synth editor. It's so much fun to edit directly in Live.
cheers,
Matthias