Automating with Max for Live

elmiller's icon

I am new to m4l, and am wondering if there is a way to send midi note information to non-max plug-ins in Live, just as a midi controller would through midi mapping. Example: if I have a plug-in with it's bypass toggle mapped to note number 49, is there a way to send to this note number from a max plug-in? I looked at live.objects~ and live.remote~, but they are max only...

Thanks!

broc's icon

You can have a M4L midi effect device that acts like an external controller, by sending midi out (through the Live track) to a virtual midi port (eg. IAC on Mac, MidiYoke on PC), and receiving it as remote input of Live.

So it's basically the same method as using a midi clip in Live for external control.

elmiller's icon

Thanks Broc, much appreciated!

newtfish's icon

im really wondering how you do this,ive tried loadmess and it didnt seem to work. Is it supposed to create a drowpdown?

Cheers

broc's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Here is an example patch for sending midi control change data.

newtfish's icon

thanks, just not quite sure whether its what im looking for.

i think i need to use the "current_output_routing" option, but cant work out how. I guess i send this to a live.menu?

when i create an object with "current_output_routing" max doesnt seem to recognise it, there are no outputs etc.

seems so simple, yet so hard

cheers

newtfish's icon

ahh i see current output routing is a message not an object.

still would like to figure out how to use it, to get a dropdown of midi outputs

broc's icon

With current_output_routing you can access the output menu of existing tracks. So you could have an M4L device to change track output routings automatically.

But you cannot create a separate output menu within an M4L device for independent routings. By design the output of M4L devices always goes through the track where it's on.

However, Leigh Hunt's externals provide a workaround (Mac only).

newtfish's icon

yes, thats what the "external device" one of lives default device, but not editable in max. I would like to make it so that I could have multiple "current_output_sub_routings"

i used LOM navigator to see what the device is using, and current_output_routing does appear to be used in the external device.

I just want to split the incoming midi, into say 5 channels and then send those to different devices. any idea how to do that?

broc's icon

The general problem is that Live internally doesn't handle midi channel information. So splitting incoming midi by channel can only be done at input, using a separate track for each channel.

newtfish's icon

is there really no way to put "current_output_routing" in a menu?

Is it only possibile to access the objects starting M4L.api.xxxxxx in live ?

I havent seen any plugin that attempts to do this, plenty of M4L.api.SelectDevice plugins etc, but nothing that gets the midi channel info like the "external device" does.

would make me so happy if I could "external devices" were midi effects rather than instruments, because i could have multiple of these on a track

broc's icon

But you can simply put multiple tracks into a group track..