I'm trying to get my head around something. My goal is to be able to start/stop/start my midi sequencer (Elektron Machinedrum) and have the clock dividers reset to the start of the beat. I'm using a CV.OCD to get 16th note triggers and the transport play trigger. When I press play, the play event and the first 16th note of the beat happen at logically the same time, but physically one must come ever so slightly after the other (probably sub-1ms). As a result, the clock divider advances and all my subsequent divided gate outputs are a 1/16th note early. Is this the expected result?
It would be awesome if a clock divider would register the reset signal and enact the reset on the subsequent clock tick. It would be necessary for resets to happen before clock, e.g. on transport stop. Better, a reset coming immediately after a clock tick (within some small time window) could just reset the divider as it currently does. So in other words: the logic would go
Code: Select all
if ((reset_time - last_clock_time) > 0 && (reset_time - last_clock_time) < 1ms)
immediate_reset()
else
deferred_reset()