[send] and [receive] from Max to Live

radiotonga's icon

Hi, I got up and running with M4L set_note method. Now I would like to know if I could actually send data to a M4L object in Live without having to work from within Live, but instead working from a Max window. This is because of the lack of GUI space and also because I would like a little bit more flexibility.

The M4L.api.MIDINoteOperations patch has the following text: "It also illustrates the possibility to add features to LIve's API with a floating window".

Does this mean I can control M4L from within a Max window? If this is true then, how?

queglay's icon

can you use the send/recieve objects?

bassik's icon

Hi,

According to my experience M4L and Max are two separate pieces of software and they do not interact each other internally.

I have tried to send audio from one to the other several time with different objects but they do not work.

The only way as far as I know is using udpsend but I am a bit rusty at the moment on the specific topic so I would also really appreciate if this has changed in the last period.

Also consider that send~ and receive~ objects do not work in M4L.

Hope this helps

radiotonga's icon

Thank you both for your replies. I did use the [s] and [r] objects but that didn't work. In the end I just used this "floating window" alternative, alas, now I have stumbled upon another obstacle:

To delete specific notes in a clip you use the "remove_notes" method on the [live.object]. The LOM documentation does not provide examples on how to use these parameters:

remove_notes(from_time, from_pitch, time_span, pitch_span)

This, in contrast to "set_notes", which uses this one:

set_notes(list_of_notes)

Now, the question is, how do you use these in Max? I know that for "set_notes" the live.object works with the following messages:

call set_notes;

call notes x(number of notes);

call note x(5 item list with pitch, velocity, etc.)

call done;

In other words, how do you use the "remove_notes" method with the [live.object]?

rjungemann's icon

send~ and receive~ between devices in M4L should work but the latency will be unpredictable and in the tens of milliseconds.

radiotonga's icon

And do you by any chance know how to work the "remove_notes" method?

dtr's icon

for sending messages between max and (max4)live: udpsend & udpreceive (there are some caveats concerning port mapping conflicts, well documented in this forum)

for sending audio: soundflower

morast's icon

I also had an issue with the remove_notes function. But suddenly after i installed the latest Max Version (6.1.3) it works. Maybe it was only my fault and the latest Version didn't fix the problem.
Anyway:
I've formated the message like this: call remove_notes 0. 60 4. 3
So don't use doubles for the pitch like it is written in the documentation, instead use integers.
So more general it should be formated like this:call remove_notes double(from_time) int(from_pitch) double(time_span) int(pitch_span)
pitch_span is in midisteps like 3 would mean if 60 was the from_pitch note to remove all notes up to midinote number 63.
I hope that helps.

Andro's icon

udpsend and udprecieve work perfectly with max for live to max. Very simple and very easy to use.

jorickbronius's icon

In my recent experience with Max 8 is that send~ and receive~ objects don't work cross-M4L-devices, or across the same device instances, they do seem to work within the same M4L device, but that in many cases beats the purpose.