[send] and [receive] from Max to Live


    May 28 2013 | 4:11 pm
    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 | 9:31 am
      can you use the send/recieve objects?
    • May 29 2013 | 2:25 pm
      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
    • May 30 2013 | 12:50 am
      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 30 2013 | 12:52 am
      send~ and receive~ between devices in M4L should work but the latency will be unpredictable and in the tens of milliseconds.
    • May 30 2013 | 1:28 am
      And do you by any chance know how to work the "remove_notes" method?
    • May 30 2013 | 7: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
    • Jul 17 2013 | 1:26 pm
      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.
    • Jul 17 2013 | 2:17 pm
      udpsend and udprecieve work perfectly with max for live to max. Very simple and very easy to use.