M4L: using sysex to control the Live API

Discuss music production with Ableton Live.
Post Reply
Green Lemon
Posts: 392
Joined: Mon Feb 09, 2009 7:20 pm

M4L: using sysex to control the Live API

Post by Green Lemon » Sun Dec 13, 2009 5:26 am

OK, so I need to use sysex because that's what my Padkontrol sends and receives. Now we know that M4L doesn't deal with sysex, but I have the full version of Max and I have been using an adapted version of the CovOps PKsquared patch to my great satisfaction. Now with M4L I want to get at LiveAPI goodness. So I need some way to get the sysex into an ordinary Max patch, where it is converted into note or cc messages, and pass these messages over to the M4L part of the system.

Ideas I have had or begun to try:

1. When I create a midi effect in M4L, the name of that effect is added to the dropdown menu I can select as destinations for the ctlout and noteout objects in a regular Max patch. So I select the name of my effect as a destination for my ctlout object, but I cannot for the life of me find where these messages are going! The midiin object in M4L seems hardwired to Live's internal routing system, and I can find no evidence of messages passing from the ctlout object in Max to any place in the M4L midi effect patch, despite the midi effect being selected as a destination for the ctlout object.

2. Use a send object in Max and a receive object in M4L. This should work, right? Haven't tried it yet.

3. Passing the message from Max to Live's inputs, and then routing it into the midi track where the M4L effect lives. This works, but I get a whole string of messages, not just the one I'm looking for. For instance, if I press a button on my controller, my Max patch sends 3 numbers to the ctlout object, which correspond to channel, value, and cc number. But my M4L effect receives a string of 15 or 20 digits. I haven't taken the time yet to figure out what these might correspond to, but this seems unnecessarily complicated.

Any thoughts? Thanks in advance.
--
first 1k as chrysalis33rpm.

ytsek
Posts: 196
Joined: Tue Jul 26, 2005 3:22 pm
Location: Rotterdam
Contact:

Re: M4L: using sysex to control the Live API

Post by ytsek » Tue Dec 15, 2009 11:52 am

You can use udpsend and udpreceive and a max patch to get sysex into m4l.

If you are on windows you can use midi-ox to analyse midi messages.

Hope this helpes.

Khazul
Posts: 3185
Joined: Wed Feb 23, 2005 5:19 pm
Location: Reading, UK

Re: M4L: using sysex to control the Live API

Post by Khazul » Tue Dec 15, 2009 12:27 pm

Green Lemon wrote:Now we know that M4L doesn't deal with sysex
8O :evil:

Whats is ableton's problem with sysex?????

I havnt tried this aspect of M4L, but if true - it does kind of kill alot of the potential uses for it in making hardware control plugins.
Nothing to see here - move along!

3dot...
Posts: 9996
Joined: Tue Feb 20, 2007 11:10 pm

Re: M4L: using sysex to control the Live API

Post by 3dot... » Tue Dec 15, 2009 12:35 pm

Khazul wrote:
Green Lemon wrote:Now we know that M4L doesn't deal with sysex
8O :evil:

Whats is ableton's problem with sysex?????

I havnt tried this aspect of M4L, but if true - it does kind of kill alot of the potential uses for it in making hardware control plugins.
you could do it with a 'workaround'... create a MIDI to OSC router ...to be opened from the 'max runtime'....
then input/output the sysex through OSC...
Image

Green Lemon
Posts: 392
Joined: Mon Feb 09, 2009 7:20 pm

Re: M4L: using sysex to control the Live API

Post by Green Lemon » Tue Dec 15, 2009 12:54 pm

ytsek wrote:You can use udpsend and udpreceive and a max patch to get sysex into m4l.

If you are on windows you can use midi-ox to analyse midi messages.

Hope this helpes.

Thanks. A send/receive object seems to work as well. Pretty simple, really. I am just wrapping my head around how M4L actually exists in Live, which is kind of weird in that it is always an effect, even if all the effect is doing is controlling the LiveAPI.
--
first 1k as chrysalis33rpm.

Green Lemon
Posts: 392
Joined: Mon Feb 09, 2009 7:20 pm

Re: M4L: using sysex to control the Live API

Post by Green Lemon » Tue Dec 15, 2009 12:59 pm

Khazul wrote:
Green Lemon wrote:Now we know that M4L doesn't deal with sysex
8O :evil:

Whats is ableton's problem with sysex?????

I havnt tried this aspect of M4L, but if true - it does kind of kill alot of the potential uses for it in making hardware control plugins.

I think it has to do with the implementation of M4L's routing system, which is always tied into Live's midi and track routing system. CCs and notes pass down the pipe, but sysex never has.

However, it is pretty simple as I figured out to convert sysex to something else, with an ordinary Max patch, and then shoot it over to M4L via a send/receive pair.

What I haven't figured out yet is whether the "ordinary" Max patch can live inside the M4L "effect", so I don't have to open 2 patches all the time. The relationship between Max and M4L is kind of like the relationship between session and arrangement, in that it is taking me some time to come to grips with.
--
first 1k as chrysalis33rpm.

julienb
Posts: 1816
Joined: Sat Oct 29, 2005 1:15 pm
Location: France
Contact:

Re: M4L: using sysex to control the Live API

Post by julienb » Tue Dec 15, 2009 1:19 pm

Green Lemon wrote:
Khazul wrote:
Green Lemon wrote:Now we know that M4L doesn't deal with sysex
8O :evil:

Whats is ableton's problem with sysex?????

I havnt tried this aspect of M4L, but if true - it does kind of kill alot of the potential uses for it in making hardware control plugins.

I think it has to do with the implementation of M4L's routing system, which is always tied into Live's midi and track routing system. CCs and notes pass down the pipe, but sysex never has.

However, it is pretty simple as I figured out to convert sysex to something else, with an ordinary Max patch, and then shoot it over to M4L via a send/receive pair.

What I haven't figured out yet is whether the "ordinary" Max patch can live inside the M4L "effect", so I don't have to open 2 patches all the time. The relationship between Max and M4L is kind of like the relationship between session and arrangement, in that it is taking me some time to come to grips with.

yes.
many workaround can be used!
Julien Bayle
____________________________________________________________________________________________________

art + teaching/consulting
ableton certified trainer
____________________________________________________________________________________________________

Khazul
Posts: 3185
Joined: Wed Feb 23, 2005 5:19 pm
Location: Reading, UK

Re: M4L: using sysex to control the Live API

Post by Khazul » Tue Dec 15, 2009 3:59 pm

Green Lemon wrote:
Khazul wrote:
Green Lemon wrote:Now we know that M4L doesn't deal with sysex
8O :evil:

Whats is ableton's problem with sysex?????

I havnt tried this aspect of M4L, but if true - it does kind of kill alot of the potential uses for it in making hardware control plugins.

I think it has to do with the implementation of M4L's routing system, which is always tied into Live's midi and track routing system. CCs and notes pass down the pipe, but sysex never has.

However, it is pretty simple as I figured out to convert sysex to something else, with an ordinary Max patch, and then shoot it over to M4L via a send/receive pair.

What I haven't figured out yet is whether the "ordinary" Max patch can live inside the M4L "effect", so I don't have to open 2 patches all the time. The relationship between Max and M4L is kind of like the relationship between session and arrangement, in that it is taking me some time to come to grips with.
TBH since getting M4L I havnt had time to try sending sysex to see what happens, but what I had hoped to do for seveal of my synths was to writing front end controller plugins for them, so I could automate them from live via automattion parameters and M4L would send sysex to a hardware port (even if that meant routing via Live).

I guess this means yet another C++ external just to write to/from the damn hardware midi ports to stop live from blocking sysex!!! Grrrrrr!
Nothing to see here - move along!

julienb
Posts: 1816
Joined: Sat Oct 29, 2005 1:15 pm
Location: France
Contact:

Re: M4L: using sysex to control the Live API

Post by julienb » Tue Dec 15, 2009 4:24 pm

Khazul wrote:
Green Lemon wrote:
Khazul wrote:

I think it has to do with the implementation of M4L's routing system, which is always tied into Live's midi and track routing system. CCs and notes pass down the pipe, but sysex never has.

However, it is pretty simple as I figured out to convert sysex to something else, with an ordinary Max patch, and then shoot it over to M4L via a send/receive pair.

What I haven't figured out yet is whether the "ordinary" Max patch can live inside the M4L "effect", so I don't have to open 2 patches all the time. The relationship between Max and M4L is kind of like the relationship between session and arrangement, in that it is taking me some time to come to grips with.
TBH since getting M4L I havnt had time to try sending sysex to see what happens, but what I had hoped to do for seveal of my synths was to writing front end controller plugins for them, so I could automate them from live via automattion parameters and M4L would send sysex to a hardware port (even if that meant routing via Live).

I guess this means yet another C++ external just to write to/from the damn hardware midi ports to stop live from blocking sysex!!! Grrrrrr!
hardware is obsolete. :lol:
joke.

They HAVE TO give us sysex feature!
Julien Bayle
____________________________________________________________________________________________________

art + teaching/consulting
ableton certified trainer
____________________________________________________________________________________________________

3dot...
Posts: 9996
Joined: Tue Feb 20, 2007 11:10 pm

Re: M4L: using sysex to control the Live API

Post by 3dot... » Tue Dec 15, 2009 5:42 pm

julienb wrote: hardware is obsolete. :lol:
joke.

They HAVE TO give us sysex feature!
yeah... a lot of help that would do after you've set up a workaround..
I initially thought that M4L would eliminate the need for that...and BE the workaround...
turns out you need a to work around the workaround... :?
Image

Post Reply