Rewire Problem, Abelton Live and Max/MSP

pslack's icon

I am having troubles synchronizing Abelton (in looping mode) and Max/MSP through rewire using the ad_rewire driver. Attached is the test patch I am using and below are the steps to reproduce the trouble.

Test steps:

1. Launch the test patch and in DSP Status in the Max Options menu, select ad_rewire driver, close Max MSP

2. Launch Abelton Live 8 and set up a loop and make sure it is active, set up an audio channel with MaxMSP as the source

3. Launch the test patch

4. Select the rewire clocksource from the drop down in the test patch

5. Make sure the audio is on and select the metronome button to hear the metros on the test patch

6. press play in Abelton and make sure it is looping on your selected loop

Expected behaviour:

by selecting the ad_rewire and selecting the rewire clock source the metros and transport should remain synchronized with Abelton. Our transport on the max patch should follow Abelton even when it loops.

Observed behaviour:

What happens on my platform is that it does synchronize but occasionally the metros will stop functioning and lose count.

Other Rewire hosts:

Testing the same patch with Logic 9.1.1, the loop functions as expected

Max Patch
Copy patch and select New From Clipboard in Max.

Test Patch:

Here are my system details

Hardware
Model Name:    MacBook Pro
Model Identifier:    MacBookPro6,2
Processor Name:    Intel Core i7
Processor Speed:    2.66 GHz
Number Of Processors:    1
Total Number Of Cores:    2
L2 Cache (per core):    256 KB
L3 Cache:    4 MB
Memory:    4 GB
Processor Interconnect Speed:    4.8 GT/s
Boot ROM Version:    MBP61.0057.B0C
SMC Version (system):    1.58f16

O/S
System Version:    Mac OS X 10.6.6 (10J567)
Kernel Version:    Darwin 10.6.0
Boot Volume:    Macintosh HD
Boot Mode:    Normal
Computer Name:    PeterJSlack
User Name:
Secure Virtual Memory:    Enabled
64-bit Kernel and Extensions:    No

Max Version
5.1.7(44134)

Live Version
8.2.1

Justin G's icon

i can reproduce the problem here. same software specs. also tried on 10.5 leopard - same.

looping 8 measures in live's arrange window. after about 10 or so loops, the metros fail to fire and the transport doesn't update. picks up again halfway through a measure.

i'm certain this used to work fine but its been awhile since i've used max as the slave.

pid's icon

this is actually a problem in MaxForLive at the moment as well - transport looping stopping linked [transport] responding. so, i guess there has been a screw up somewhere behind scenes if rewire also doing this. hopefully a bug that will be fixed for next release. who knows...

pslack's icon

Here is the same problem but factored down to a max components only with no rewire.

Here is the requirement: I would like to loop using the transport and the timepoint mechanism attached is the test patch and the steps leading up to describe the similar problem.

1. open the test patch and make sure the DSP is on
2. set the start loop beat and end loop beat to 1 and 4 respectively
3. click the 0. message above the transport and click the toggle to set it running

*expected result*
loops between beat 1 and 4 .. awesome works great!!

4. while it is still running set the end loop bar to 5

*expected result*
loops between beat 1 and 5 .. again awesome works great!!!

5. set the begin bar loop to 2 while it is running
*problem results*
it should loop between 2 and 5 but the transport and metro freezes and picks up again

Max Patch
Copy patch and select New From Clipboard in Max.

TEST PATCH for LOOPING

ragamesound's icon

Hey!
Am I being silly? I'm trying to get Max to recognize anything from Live's transport, and no luck at all! Is there something I need to do in Live to make sure that the timecode is sending out to Max? I'm using the patcher above.

Joe Bell's icon

I've been unsuccessful in getting transport information from Ableton Live in to Max. Is this an issue with the software or with me?

Anyone know of an idiot proof guide for this? I think I need one.

umma08's icon

is there a reason that you want Ableton to be the master? i am at the moment doing a similar sort of thing, but using hostsync~

this object allows you to set up loop points, turn loop on and of etc - but Live is then the slave and Max/Msp the master.

you can then use the rtin function to receive this midi clock and send it out using midiout.

at the moment i have a max patch that can control and ableton on the same computer and also an ableton on another computer over a network - ie a remote location....it also uses the ad=rewire

Andrew Pask's icon

@pslack

Use the hostsync~ object for getting timing information via rewire. It's more reliable than the rewire transport clocksource. I don't see any metro halting with your patch, but I see it is not as accurate as hostsync~. Hostsync~ works when Max is the slave. For control of Live when Max is the master, use hostcontrol~

I don't think your second patch is the same issue. Your second patch probably just needs a little more logic to deal with the changing timepoints and the loop restart.

BTW

metro 8n @autostart 1 @autostarttime 0 @quantize 8n @active 1

is functionally identical to

metro 8n @quantize 8n @active 1

Julien Bayle's icon

hostsync~ isn't accurate with Ableton Live, at least here :-(
and this is annoying.
I'd intend to release a max sequencer standalone as an external machine... but it is probably impossible.
I'd have to create it in Max for Live... but it would be available in Ableton only :-(