MIDI channels in M4L

mo-seph's icon

Hi,

I'd like to separate midi messages from different controllers within a M4L device.

I'm trying to do this by putting every device on a different midi channel. However, it appears that if the channel in Live is set to "All Channels", then all the midi messages get mapped to channel 1. Setting it to a specific channel does filter things correctly, but that doesn't help so much.

Can anyone confirm this? Is this a bug? Is there somewhere this kind of behaviour is documented that I should know about?

broc's icon

Confirmed. Live doesn't handle separate midi channels internally. It's a simplification/restriction by design. So you may call it a "design bug".

As far as I know, this behavior is not mentioned in the Live manual. But in the M4L tutorial examples about midi I've seen a comment like "always channel 1".

Julien Bayle's icon

Ralf Suckow (Ableton) and I worked a bit with a little workaround about that.
It is a w o r k a r o u n d, not a solution. but it works :)
Indeed, I consider it as a design bug too.

the workaround is there: http://forum.ableton.com/viewtopic.php?f=35&t=128795
I hope it could be enough for you.
Note if you only need 3 channels, make modification cause send/receive objects are cpu consumers....!

mo-seph's icon

Thanks for the info!

In the end, since the midi channels was a workaround for me anyway, I'm looking into using MXJ midi wrappers (I should probably be using a c library, but I'm lazy), which seems to be working OK, although I haven't done extensive testing. I'll post some code when it's cleaned up if anyone is interested.

Julien Bayle's icon

ok.
personnaly, I did all my mapping using only 1 channel.
It was finally enough!
1 channel = 127 midi notes with 127 values each one + 127 CC with 127 values each one etc

btw, in my case, it is "only" a controller, so I can "code" things as I want to.

mo-seph's icon

Yeah - my original problem was wanting to use multiple devices in one patch, and I was going to use channels as a workaround. By going the MXJ route, I can setup whatever devices I want, and Live doesn't get to mess with it, and I can mix non-midi devices in with the MIDI ones fairly easily.

xanadu's icon

Hi Mo-seph,

Please make your MXJ MIDI Wrappers available for us!

mo-seph's icon

A quick and dirty version is up at:
http://www.mo-seph.com/MXJMidiDevice

circuitb's icon

hi
sounds good...but
i can't find the jar file on your site?
i'm really interested because i'ld like to know if it's possible to build a complete setup to handle all my midi hardware (excluding sysex stuff)
directly in live (midi in&out port routing, automation, custom midi feedback
etc...)

mo-seph's icon

Clearly I need to sort out my web design! It's just after the "Technorati Tags" section, under Installation.

AudioMatt's icon

I hate to say this but... can we ripoff the MIDIIN and MIDIOUT code from puredata? We could just build our own multichannel objects....

AudioMatt's icon

Just found http://www.sigabort.co/m4l_tools.html

THESE OBJECTS SHOULD BE INCLUDED STANDARD

pjeve's icon

You can also use these externals:
https://www.theimpersonalstereo.com/max-externals
I used them for a long time in many live setups without problems.

AudioMatt's icon

Well there's 10 bucks down the drain! oops! Guess it's good to support maxers. I cannot believe how much simpler this has made my ableton situation.