Yeah, it seems like there are at least two common use cases from an end-user perspective:
User wants to pause a sequence and resume play where they left off
User wants to stop a sequence and have playback resume from beat 1
Which then gets further complicated by the fact that…
- Users may be running one clock to drive different sequencers from different developers
The only thing we can agree on is everything should stay in sync, but doing that is much easier said than done. And I’m just talking from an end-user perspective, not even getting into a developer mindset.
I’m brainstorming here, but I almost feel like CD players had it right with their combined play/pause, and standalone stop buttons. I’m almost thinking, user hits pause [in this case turns off run] on the clock and gates stay open, sequence doesn’t advance, next beat picks up exactly where it left off - no reset is ever transmitted. Next use-case, user hits [lets say a new] Stop on clock, any open gates close, but playback will pick up back up at beat 1 (with a reset probably happening on play, so: reset, two, three, four). So could a new stop button, with a “Send Reset on Play” option do the trick?
In the end, I kind of feel like different instances of Clocked, daisy chained together, but with different reset behaviors enabled in the menu may be required. Maybe one instance resets on stop, another resets on start, and another resets high with a reset on stop. We can already daisy chain Clocked, so maybe that’s just a way to get there. Then again, the How To Rack book goes into a workaround with Clocked that seems to keeps things in sync (page 55) - so maybe a cleaner solution is possible: http://www.musicwords.net/vcv/How_to_Rack.pdf
Who knew clocks could be so complicated? Obviously Marc has, but I certainly never gave it any thought before recently.
Testing this could be a lot of fun though. Take Clocked, a Phrase-Seq-16, an instance of Topograph, maybe a DK Trig sequencer, throw a Hora drum seq in for fun, Chronoblob, a BPM LFO, and try running everything on the same clock and try to keep everything in sync on beat 1.