Sending MIDI from M4L device to Ableton parameter via IAC bus

Maggie's icon

Hello to all of you!

I created a MaxMSP patch which I use as a MIDI controller (with 14 bit MIDI) for Ableton Live. Therefore, I used the leapmotion object from IRCAM to map my hand movement onto Ableton parameters. This worked really fine in MaxMSP.
Here a rough "signal chain": leapmotion values --> some calculations --> slider with suitable value range --> xctlout --> midiout (via port "from Max 1")

So, when I started MIDI mapping in Ableton, I just had to touch the slider in MaxMSP and promptly, I could control Ableton with my hand movements (in the non-classical way :D).

Now, I want to transfer my controller to Max4Live for convenience reasons. But I fail at routing the midiout from Max4Live to Ableton, so that I can map the controller onto the desired value. I know, there is some way to do this with an IAC bus (already created 2 of them, and set them up in Ableton and Max), but I am failing this task for some weeks now I think and it is kiiind of frustrating... I think, it's all about routing and finding the right channel etc. to send the MIDI data from M4L to Ableton...

Does somebody of you have an idea how solve this problem?
I am eternally grateful for every piece of advice!

Maggie

Source Audio's icon

Not a Live user at all for conveniece reasons,
but as far as I understand, Live and max4Live
do not really allow freedom of connection, the way one would expect.
What is Your m4L device set to be ?
effect, Instrument ? it seems that it matters...
You have to go step by step, first see if You can port
leapmotion input to M4L, receive, scale and display the values.
Than check what can be used to control Live parameters You are interested in.
It does not have to be midi I guess.
But if that's what You want, just look what kind of device M4L has to be
to be able to output midi to the rest of so flexible Live,
and to control what You want.
It would be a shame if one had to use Iac driver for that.

Maggie's icon

Hey!
Well it seems so, but I also stumbled over a thread which confirmed, that it should work with an IAC driver...
The classification may be the problem, yes... The thing it can be mostly compared with is a hardware MIDI controller.
The whole scaling and receiving of values stuff is working perfectly fine, the only problem is sending data from this M4L device. The only M4L device which ought send out MIDI data is logically a MIDI effect (I think, I am still an absolute noob in Ableton and M4L - it is relatively new to me).
But I will go further into this with your approaches - thank you very much for your advice! :)

broc's icon

Just wanted to confirm that in my experience it works perfectly with an IAC driver, sending MIDI from an MIDI effect via track output and receiving it as control input, if 'Remote' IAC input is checked in Live's preferences.

However, the MIDI mapping can't be done within Live itself, because if you select a target object it will be deselected as soon as you touch another object as source. So for mapping you need to send MIDi from the outside, for example a Max patch.

Source Audio's icon

As I mentioned, I am not lLive user at all, and I am sure somebody else
can give You more precise answer.
Live should have other possibilities to control things using live objects.
There is complete documentaton available :
https://docs.cycling74.com/max7/vignettes/live_object_model

I dont consider Live as usable DAW at all, just a toy if You don't digg
into deep inner possibilities and overcome unlogical barriers,
which seems to be plenty.

broc's icon

In fact, the Live Object Model allows powerful control of Live parameters, but introduces some unpredictable latency (running at low priority). So for real-time control MIDI may still be a better choice.

Maggie's icon

Seems that I forgot to send my reply two days ago...
I just looked into the Live Object Model and the use of API. It looks well interesting for controlling parameters, but for me there are more reasons that speak for MIDI - especially, because I want to keep the whole process transparent and also usable for potential testers. Also, with MIDI it is easy (at least in MaxMSP) to design many more possibilites for gesture control.

And Broc, thanks for the confirmation - it is good to know that one is not working into the whole wrong direction (concerning the IAC driver)! :) In the meantime, I also figured out how to route the IAC-bus the right way and this also solved my concerns regarding setting the channel and CC number of my controller. :)
Thank you all so much for your help!