Implementation of SYSEX in M4L

Learn about building and using Max for Live devices.
Post Reply
bhersey
Posts: 3
Joined: Thu May 13, 2010 6:04 am

Implementation of SYSEX in M4L

Post by bhersey » Wed May 30, 2018 7:33 pm

I have a pet project, which may turn out to be impossible, but I'd like to gather some info before I try.

I'm trying to find out more about how sysex is implemented in Live 10/M4L, but I can't seem to find any documentation on it. I've seen in a couple of posts here some rather disappointing news, which seems to be that you can only have either up or downstream sysex working per midi track in Live, thereby making a bi-directional sysex data flow impossible. The reason I ask is because I want to try to build a patch editor/librarian for my venerable Kurzweil K2000 (and possibly to work with later models if time permits). This is admittedly a daunting first m4l project, but hopefully I can build on my dev experience and channel it into something a few people could make use of.

Anyway, and advice on sysex docs in m4l and current implementation would be much appreciated.
Thank you!

cskracer
Posts: 116
Joined: Thu Jun 25, 2015 7:53 am
Location: Perth, Australia

Re: Implementation of SYSEX in M4L

Post by cskracer » Sat Jun 02, 2018 2:59 pm

http://maxforlive.com/library/device/4761/emu-control

Fill yer boots.

Patch isn't pretty as it's a work in progress and I've spent zero time cleaning it up (and I'm a beginner), but it does some of what you're trying to do for the K2000 for Emu EIV samplers.

bhersey
Posts: 3
Joined: Thu May 13, 2010 6:04 am

Re: Implementation of SYSEX in M4L

Post by bhersey » Sat Jun 02, 2018 4:48 pm

This is a massively helpful and much appreciated place to start with. Thank you for this! Have the k2000 sysex spec I found a while back (never been officially documented) so this will be.....interesting...
cskracer wrote:http://maxforlive.com/library/device/4761/emu-control

Fill yer boots.

Patch isn't pretty as it's a work in progress and I've spent zero time cleaning it up (and I'm a beginner), but it does some of what you're trying to do for the K2000 for Emu EIV samplers.

cskracer
Posts: 116
Joined: Thu Jun 25, 2015 7:53 am
Location: Perth, Australia

Re: Implementation of SYSEX in M4L

Post by cskracer » Mon Jun 04, 2018 12:42 am

One tip to watch out for - if you need two way sysex you cannot currently send and receive sysex on a single track. You'll see in my example I have two M4L patches. The second one just sits on a second track with Monitor In set waiting for return sysex from the sampler and then uses a send object to send any returning sysex to the main patch.

No idea if the K2000 does the same thing, but with the Emus you can send a sysex command querying the state of various parameters on the sampler and the sampler then returns sysex with values. So for example that's how I grab preset names off of the sampler.

Someone in centrecode is claiming he's doing it on a single track, but I haven't followed up with him as I've been to busy. I suspect he's not doing the same thing, but when I have time I'll try it on a single track and see if he's right or not.

Post Reply