[send] and [receive] from Max to Live

May 28, 2013 at 9:11am

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

#250950
May 29, 2013 at 2:31am

can you use the send/recieve objects?

#251068
May 29, 2013 at 7:25am

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

 

 

 

#251095
May 29, 2013 at 5:50pm

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

#251158
May 29, 2013 at 5:52pm

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

#251159
May 29, 2013 at 6:28pm

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

#251161
May 30, 2013 at 12:17am

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

#251168
Jul 17, 2013 at 6:26am

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.

#256272
Jul 17, 2013 at 7:17am

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

#256277

You must be logged in to reply to this topic.