Newby Question - Play head doesn't move when using ardour as MTC Master

Hi,

I’m just exploring ardour on Ubuntu at the moment and tried to sync applications via MTC. The midi connection made for MTC seems to work, so if I manually move the playhead in ardour the same movements happen in the slave Application (Qtractor). But if I hit play in Ardour the play head doesn’t move.

My test setup is Ardour --> Midi --> Qtractor. I set Ardour as “Time Master” and sync source on MTC instead of internal or Jack. The same thing happens when I don’t connect anything to ardour.

My setup:

  • Ardour 2.8.11 compiled from source package on ubuntu lucid
  • On an other (physically different) machine: Ardour 2.8.6 from ubuntu repositories, ubuntu lucid.

I’m quite sure I’m missing something in my setup. Syncing works fine if I use jack sync.

thanks!
Martin

:slight_smile:

Thanks for that explanation! I have no app that understands MTC right now, but saw MTC being sent.

What does the status of ‘Time Master’ on/off mean when Ardour is set to MTC Source? Has it an influence at all?

Just recorded some midi from Ardour in Kmidimon. It looks like Ardour is not sending any double events but uses “deferred play” which isn’t understood by some applications. Perhaps it would be useful to have an option of sending “play” or “deferred play” on loop returns.

This is the output:
2332,937.8098, SysEx10,f0 7f 7f 01 01 60 00 00 00 f7 // don’t know (rewind?)
2332,937.8225, SysEx10,f0 7f 7f 01 01 60 00 00 00 f7 // don’t know
2332,937.8240, SysEx6,f0 7f 7f 06 01 f7 // stop
2332,937.8255, SysEx13,f0 7f 7f 06 44 06 01 00 00 00 00 00 f7 // goto 0
5281,943.9539, SysEx6,f0 7f 7f 06 03 f7 // Deferred Play
MTC Quarter Frames removed
6243,945.9603, SysEx10,f0 7f 7f 01 01 60 00 00 00 f7
6243,945.9652, SysEx6,f0 7f 7f 06 01 f7 // stop
6243,945.9699, SysEx13,f0 7f 7f 06 44 06 01 00 00 00 00 00 f7 // goto 0
6255,945.9831, SysEx6,f0 7f 7f 06 03 f7 // Deferred Play
MTC Quarter Frames removed
7217,947.9860, SysEx10,f0 7f 7f 01 01 60 00 00 00 f7
7217,947.9912, SysEx6,f0 7f 7f 06 01 f7 // stop
7217,947.9963, SysEx13,f0 7f 7f 06 44 06 01 00 00 00 00 00 f7 // goto 0
7226,948.0140, SysEx6,f0 7f 7f 06 03 f7 // Deferred Play
MTC Quarter Frames removed
8190,950.0127, SysEx10,f0 7f 7f 01 01 60 00 00 00 f7
8190,950.0183, SysEx6,f0 7f 7f 06 01 f7 // stop
8190,950.0235, SysEx13,f0 7f 7f 06 44 06 01 00 00 00 00 00 f7 // goto 0
8200,950.0469, SysEx6,f0 7f 7f 06 03 f7 // Deferred Play
MTC Quarter Frames removed
9162,952.3327, SysEx10,f0 7f 7f 01 01 60 00 00 00 f7
9162,952.3393, SysEx6,f0 7f 7f 06 01 f7 // stop
9162,952.3456, SysEx13,f0 7f 7f 06 44 06 01 00 00 00 00 00 f7 // goto 0
9173,952.3522, SysEx6,f0 7f 7f 06 03 f7 // Deferred Play
MTC Quarter Frames removed
9653,953.7569, SysEx10,f0 7f 7f 01 01 60 00 01 01 f7
9653,953.7643, SysEx6,f0 7f 7f 06 01 f7
9653,953.7721, SysEx13,f0 7f 7f 06 44 06 01 00 00 01 01 2c f7

You didn’t set Ardour to be the master. You told it to slave to MTC. To make it the master, just use Options -> Send MTC.

The double-play situation may be a bug that is already in the bug tracker.

Oh, and it may be amusing, but your site login name almost got your account and post deleted just out of sheer instinct on my part. I had to actually read your post to determine that you were not almost certainly not a worthless SEO spammer :wink:

Hi again - false alarm…

Played around with it again - I totally got it wrong previously - sorry. For everyone making the same mistakes:

Qtractor only uses MMC until now (no MTC). MMC is sent by Ardour in default settings (Ardour also sends it if sync sources “internal” or “jack” are selected - but you can disable that in the options menu).
So the MMC positioning was still active when I tried to use the MTC Source.

Why Ardour doesn’t move the play head if it is set to Master is still unclear for me, but I think it makes sense in that ways that you can also send MTC when Ardours own sync mechanism is different.

Apart from that I found out a new strange(?) thing when Qtractor is “slaved” to Ardour via MMC. The order of play and stop messages looks confused. Play and Stop are sent twice at the beginning or end of a loop.

Steps to reproduce:
create a loop in Ardour, connect Qtractor to it and watch the MMC events coming in. Loop starts at 0 and ends at approximately 2 seconds. Ardour is set to internal and time master:

Press loop start.
this is the order of events coming in:
04:01:03.683 MMC: STOP //play button was hit at this time
04:01:03.736 MMC: LOCATE 0
04:01:03.787 MMC: PLAY //qtractor plays from 0
04:01:05.757 MMC: PLAY //end of the loop has been reached. (why play?)
04:01:05.832 MMC: LOCATE 0 //reset to position 0
04:01:05.897 MMC: STOP ardour starts loop 2nd time, qtractor stops.
04:01:07.737 MMC: STOP ardour reaches end of second loop.
04:01:07.743 MMC: LOCATE 0 reset to position 0
04:01:07.780 MMC: PLAY now Qtractor starts too.
04:01:09.785 MMC: PLAY end of loop3
04:01:09.860 MMC: LOCATE 0
04:01:09.918 MMC: STOP
04:01:11.791 MMC: STOP
04:01:11.845 MMC: LOCATE 0
04:01:11.880 MMC: PLAY
04:01:14.067 MMC: PLAY

and so on. This means Qtractor is started only every second loop. I’m not sure where this order of play and stop comes from. Any Ideas?

I’ll continue this in the bug tracker if necessary and do more tests with other midi monitoring tools to make sure it’s not Qtractors implementation.

Btw thanks to all who help developing and Improving Ardour - it’s already a really great tool and I enjoy using it.