Can a max patch control transport of ableton?

    Aug 19 2010 | 8:43 pm
    I am considering purchasing Ableton and Max4live and this is one of the clinchers... Specifically I would be looking to send to markers and looping various sections.
    Hope you can help, Thanks Tim

    • Aug 19 2010 | 9:44 pm
      couldn't find anything directly about that in the docs: good question... if it were possible it would be here:
      i might try the "Song" properties('current_song_time' etc. and it looks like looping is in there, too, so you might not do markers, but rather reset the loop and current positionings creatively...) maybe you could get a demo and try it all out? or hopefully someone with more experience with that particular technique will answer, as i'm a bit too lazy/busy right now to try it myself... (it's hard staying 'Noob4Life' but i do my best ;-) )
    • Aug 19 2010 | 10:22 pm
      Thanks Mr Noob4life - interestingly it may be better to use Reaper and somehow figure out how to send messages to the API.
      Although where i start is another series of posts altogether, albeit on the cockos forum (great title!)
    • Aug 19 2010 | 10:43 pm
      "T-T-T-Tricky. "
      'It's tricky to rock a rhyme!'
      and please feel free to just call me 'noob'(that goes 4 everyone!) :) (or 'Mr.&Mrs. Noob' as I choose to remain 'unaffiliated' in a web environment ;)
    • Aug 20 2010 | 10:24 am
      to rock a rhyme that's right on time.
      Hence the current project!
      Consider it done Noob.
    • Aug 20 2010 | 5:12 pm
    • Aug 23 2010 | 4:17 am
      To answer the original question: No, it seems you can't.
      There is a transport object in Max which can be used to control the global transport. Yet when I try to control a rewire slave it you seemingly need to utilize the rewire~ object and send an int into its left inlet to start the (then) so called 'rewire transport'.
      Fun thing is that the reference guide for transport ( does imply this to be possible.
      (afaik starting a master transport on a rewire master also starts the transports on the slaves, not so here).
      Anyway; when using the examples there in M4L it does not start Live's transport. Making me assume right now that this isn't possible.
      And as usual when I'm relaxing with a beer I'm talking before testing..
      Ok: the real answer to the original question is: "yes you can", sorry for the confusion.
      With the "is_playing" property of the Song class you can check the state of Live's transport ('observable') and trigger it ('set').
      As for me: I need some sleep that that I start talking some common sense again :P
    • Aug 23 2010 | 3:34 pm
      Hi Tim,
      You can get it to start playing and you can trigger any specific loops you want. So given a quantisation, if say you have a beat tracker in max doing a pulse, a message could trigger your loop on the next pulse point at the required tempo.
      What I've not seen is any control over Live's warp markers so althought this may be possible(?) I doubt it is at present, but neither would it be so useful to you.
      Re beat tracking - I've done classes of the comb filter beat tracker and will post up to you later this week after porting into a max object.
      In order to control Live, you use a live object, observe a property and then send a message. The one to fire clips is weird, you need to send "set fire" message not just "fire"
      try looking in Live->Library->Lessons->clipOperations.amxd if you get hold of a copy.
    • Aug 30 2010 | 12:22 pm
      Wow - thanks for all the help. This is way over my head the the moment as I have yet to get my hands dirty with MAX4Live, but I'll hand the the dissertation in and then I am free to crack on. Will report in as soon as possible with a little more than confused thanks...
      Thanks again
    • Sep 01 2010 | 4:44 pm
      Hi Tim,
      there is an example in extras->M4L Live Api Abstraction Overview. Here it is M4L.api.ToggleTransport in the Global area.
    • Sep 09 2010 | 10:12 pm
      thanks johannes - looking forward to trying it out Tim
    • Nov 03 2011 | 11:05 pm
      And the answer is ... a maxpatch included in the system, namely:
      Nothing to it gentlemen,,,
    • Nov 04 2011 | 8:04 am
      and to answer to the second part of the question, you can also observe and get to cues with m4l api objects.
    • Nov 17 2011 | 1:39 pm
      I believe there are some things you can midimap to that you can't get through the live API, for example the pitch of a clip. It's on my to do list to work on: create a virtual midi out from Max, midi map a CC to it and so use this workaround to control certain parameters from Max that you can't get to through the API. Not pretty but it works.
    • Aug 12 2013 | 4:43 pm
      Thanks for your help all - I have finally had some time to put together the patch in this post:
      It actually works!
    • Aug 12 2013 | 4:45 pm
      I should mention that looping functions are not yet included, but one step at a time.