Max 8, Live 10, M4L & external MIDI instruments
Now that Max for Live is fully integrated into Live, can Max for Live in Live 10 now interface directly with external MIDI hardware?
Currently my patch is using udp to send from my controller patch (open in Max) to the Ableton M4L patch.
Nobody knows?
Wax,
I find this fascinating and although I probably have no solution, I'd love to understand your problem.
So you have a controller patch running in Max to interface (input and output?) with a MIDI hardware, and you are sending your own application messages via OSC to a M4L patch.
And this is necessary because in the M4L patch you cannot use the default Max MIDI interface - MIDI can only be sent _through_ Ableton Live. (this is documented on the Limitations of Max for Live page)
Can you help me understand - why can't you send the MIDI you need _through_ Ableton? Is it because Ableton is filtering the MIDI somehow - or do you need to send to multiple devices - or ?
i had a problem once with a midi hardware in Live, and used a similar workaround as Wax's, until i decided it was not a good solution and redesigned it to use only Live and m4l.
It's just a guess, i'm not sure your problem is the same as mine was : Live's MIDI receiver was filtering some "doubled" midi messages and i needed those doubled midi inputs. The solution was to receive in a m4l device the raw midi messages, send them with a max send object ; and then in another m4l device (but it could be the same device actually) receive in max ; midiparse ; then do whatever. It was also needed to send back some midi messages to the hardware in order for it to "react" correctly.
Not sure it helps but once i realized 1) Live filters some midi input messages it thinks are useless ; 2) you can send/receive between any m4l devices in Live ; 3) re sending some midi messages to the hardware will change its state and make it pass over Live's filtering ; it was okay.
It's from some time, so the explanations are messy.
@vichug
It sounds like you found some filtering was happening in the "Hardware Instrument" device in Ableton Live and you were able to work around this by receiving the MIDI directly from a M4L device within Ableton, effectively re-implementing the "Hardware Instrument" in your own patch. Is this right?
If so, yea I think this is a separate issue. Wax is pointing towards a lower-level limitation, which is the fact that you cannot send and receive MIDI between a M4L device and external hardware without going through a MIDI track in Ableton Live.
@colinsullivan
Not sure how similar OSC and UDP are, but I'm using UDP to do the sending and receiving between patch and connector m4l patch in Live. As you mentioned, in Max 7, yes, MIDI cannot be sent/received with external MIDI devices from within M4L in Live alone. But I'm wondering if this is still a "limitation" in Max 8. Does anyone know? There's no docs released yet...
My goal is to create an interface for my Motormix to act as a controller for Live in this case. The main patch/connection with Live does way more than than and I can switch contexts and the Motormix can operate other tools as well. Been working on it for years. ;)
But why I posted was to find out if it's even possible to package it up into an m4l only patch for simplicity, stability, speed and to reduce errors caused by (I think) transmission over udp. I'm hoping it may be possible now that Max in integrated fully into Live which potentially means those “limitations of M4L” are only part of the past versions.
Maybe David or someone else on the team can comment on this?