Closed dndrks closed 1 year ago
Thanks for the reproduction case, @dndrks, this follows my experience working with 0.4, 0.25, etc. Fractional values are helpful for things like swing, work as expected on Norns. I poked around the C source a bit but couldn't see the issue, wish I could be more helpful, I'll keep staring at it.
I am curious if there are any differences of behavior at different BPMs.
(report came in thru support, from which i built a generalized test case!)
test script, essentially print the beat with every sync
```lua function init() clock.tempo = 90 div = 1 start() end function start() if clock.threads[test_clock] then clock.cancel(test_clock) end test_clock = clock.run(step_through) end function stop() clock.cancel(test_clock) end function step_through() while true do clock.sync(div) print(clock.get_beats()) end end ```results
note that
div = 0.5
is totally stable!div = 1
✔div = 0.9
✔div = 0.8
✖️with this case, it seems like the clock slips and plays catchup -- once it lands on a whole beat, the resumes continue for a while at the specified div. but, they quickly lose track again.
please lmk if i can provide any additional testing or repro cases!