[send] and [receive] from Max to Live
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?
can you use the send/recieve objects?
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
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]?
send~ and receive~ between devices in M4L should work but the latency will be unpredictable and in the tens of milliseconds.
And do you by any chance know how to work the "remove_notes" method?
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
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.
udpsend and udprecieve work perfectly with max for live to max. Very simple and very easy to use.
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.