Can a max patch control transport of ableton?

Aug 19, 2010 at 8:43pm

Can a max patch control transport of ableton?

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.

(my previous post must have been to the wrong forum, http://cycling74.com/forums/topic.php?id=28029#post-139067 )

Hope you can help, Thanks
Tim

#51877
Aug 19, 2010 at 9:44pm

couldn’t find anything directly about that in the docs:
http://cycling74.com/docs/max5/vignettes/intro/doclive.html
good question…
if it were possible it would be here:

http://cycling74.com/docs/max5/refpages/m4l-ref/m4l_live_object_model.html

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 ;-) )

#186178
Aug 19, 2010 at 10:22pm

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!)

T-T-T-Tricky.

#186179
Aug 19, 2010 at 10:43pm

“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 ;)

#186180
Aug 20, 2010 at 10:24am

to rock a rhyme that’s right on time.

Hence the current project!

Consider it done Noob.

#186181
Aug 20, 2010 at 5:12pm

Hello Tim,

You might be interested in this topic
http://cycling74.com/forums/topic.php?id=25753 .

Kind regards,

Xanadu.

#186182
Aug 23, 2010 at 4:17am

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 (http://cycling74.com/docs/max5/refpages/max-ref/transport.html) 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.

EDIT:

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’).

Also see: http://cycling74.com/docs/max5/refpages/m4l-ref/m4l_live_object_model.html#Song (check the property list).

As for me: I need some sleep that that I start talking some common sense again :P

#186183
Aug 23, 2010 at 3:34pm

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.

Andrew

#186184
Aug 30, 2010 at 12:22pm

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

#186185
Sep 1, 2010 at 4:44pm

Hi Tim,

there is an example in extras->M4L Live Api Abstraction Overview. Here it is M4L.api.ToggleTransport in the Global area.

Johannes

#186186
Sep 9, 2010 at 10:12pm

thanks johannes – looking forward to trying it out
Tim

#186187
Nov 3, 2011 at 11:05pm

And the answer is … a maxpatch included in the system, namely:

M4L.api.ToggleTransport.maxpat.

Nothing to it gentlemen,,,

#186188
Nov 4, 2011 at 8:04am

and to answer to the second part of the question, you can also observe and get to cues with m4l api objects.

#186189
Nov 17, 2011 at 1:39pm

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.

#186190
Aug 12, 2013 at 9:43am

Thanks for your help all – I have finally had some time to put together the patch in this post: http://cycling74.com/forums/topic/tempo-control-patch-for-your-perusal/

It actually works!

#258669
Aug 12, 2013 at 9:45am

I should mention that looping functions are not yet included, but one step at a time.

#258671

You must be logged in to reply to this topic.