Closed ViktorNova closed 9 years ago
tl;dr: No, jack-tansport slaves to nothing.
This is by design. Jack-transport always progresses sample-accurately with the soundcard's clock. It never vari-speeds. You can only start, stop and locate jack-transport, but there are no hard guarantees (after a 'seek/locate' jack waits for all clients to catch up before going back to play). That's what jackmmc does. It's good enough for control (human presses play -> some unknown time elapses -> jack starts playing), but it's not usable for anything that requires hard sync.
If you only need MIDI, you might be able to hack up a jack-timebase master: translate current jack-timecode to Bar|Beat|Tick depending on midi-clock. But then again this is only useful for midi-sequencers and in their case they can probably directly respond to midi-clock anyway.
There are some dedicated applications e.g. Ardour, which can varispeed and properly slave to Midi clok.
I had a feeling this was the case, but had to ask. =) It is kind of backwards what I'm trying to do, and I may well end up hacking something together just as you said if I can't get Ardour/Qtractor/Muse to translate midi clock > jack transport in a satisfactory way
Thank you for your response!
Is it possible to somehow use this in reverse, by a simple code modification? I know there is qjackmmc for a similar purpose, but lots of devices these days only send midi clock and not MMC. I'm trying to control jack transport using MuLab under wine (and it has to be the master, it doesn't sync to external clock but only outputs it, with no MMC)