Forums > Max For Live

[send] and [receive] from Max to Live

May 28, 2013 | 9:11 am

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?


May 29, 2013 | 2:31 am

can you use the send/recieve objects?


May 29, 2013 | 7:25 am

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.

http://cycling74.com/docs/max5/vignettes/core/live_limitations.html

 

Hope this helps

 

 

 


May 29, 2013 | 5:50 pm

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]?


May 29, 2013 | 5:52 pm

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


May 29, 2013 | 6:28 pm

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



dtr
May 30, 2013 | 12:17 am

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


July 17, 2013 | 6:26 am

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.


July 17, 2013 | 7:17 am

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


Viewing 9 posts - 1 through 9 (of 9 total)