Chasing "does a shipped loop actually start on its downbeat" and nearly filing a false alarm on the way. First measurement said 17% — but it scored 16 slots with no full-band term while the rotator scores bars*4 slots WITH one, so the disagreement was the instrument's. Factored the scorer out (_downbeat_slot_scores) so the rotation and its verification cannot use lookalike measures, and re-measured with the real one. The bug is real and smaller than the first number: over 60 shipped bar-loops, slot 0 was the best slot in 29 and in the WORSE HALF of slots in 10. Median miss was 0.032 — i.e. usually a near-tie — but one loop in six genuinely opens on a weak beat, which is exactly the "timed ok but cut BCDA/DABC" complaint from 2026-07-11 that this function was written to fix. Mechanism: the roll point is zero-crossing snapped by up to ~10 ms against a 20 ms attack window, and between two near-tied slots that is enough to flip which one wins. On clean synthetic material rotation is idempotent (pass 1 finds slot 4, pass 2 finds 0); on real music the tie-breaking is fragile. So it now checks its own result and repeats, up to 3 passes, keeping a pass only if the measured miss improves. Safe because rotation is free: two rolls compose into one and the guard cannot oscillate. Best slot 29 -> 46 of 60, worse half 10 -> 1, median miss 0.032 -> 0.000. Default is 3 rather than opt-in: it is strictly better and applies to every caller, including export_take, so the GUI's forge gets it too. 112 tests.
| Name |
Last commit
|
Last update |
|---|---|---|
| .gitea/workflows | Loading commit data... | |
| armada | Loading commit data... | |
| blocks | Loading commit data... | |
| blog | Loading commit data... | |
| config/wireplumber | Loading commit data... | |
| copycat | Loading commit data... | |
| docs | Loading commit data... | |
| gifts | Loading commit data... | |
| lib-parvagues | Loading commit data... | |
| live | Loading commit data... | |
| output | Loading commit data... | |
| releases | Loading commit data... | |
| sandbox | Loading commit data... | |
| study | Loading commit data... | |
| test | Loading commit data... | |
| tools | Loading commit data... | |
| utils | Loading commit data... | |
| visuals/slop | Loading commit data... | |
| viz | Loading commit data... | |
| .gitignore | Loading commit data... | |
| BootTidal.hs | Loading commit data... | |
| BootTidal.hs.broken | Loading commit data... | |
| BootTidal.visuals.broken.hs | Loading commit data... | |
| CLAUDE.md | Loading commit data... | |
| EVENING.md | Loading commit data... | |
| FOH_MASTER.md | Loading commit data... | |
| LAST_THIRD.md | Loading commit data... | |
| LICENSE | Loading commit data... | |
| MORNING.md | Loading commit data... | |
| PatchBay_MultiChannel.xml | Loading commit data... | |
| PatchBay_Perf.xml | Loading commit data... | |
| PatchBay_Perf5.1.xml | Loading commit data... | |
| README.md | Loading commit data... | |
| RUNBOOK.md | Loading commit data... | |
| SHOPPING_LIST.md | Loading commit data... | |
| TASKS_DUMP.md | Loading commit data... | |
| backlog.md | Loading commit data... | |
| bullet_train.tidal | Loading commit data... | |
| collide.sh | Loading commit data... | |
| debug.tidal | Loading commit data... | |
| didacticpatternvisualizer.pde | Loading commit data... | |
| gig-up.sh | Loading commit data... | |
| gpu-mode.sh | Loading commit data... | |
| hello.sc | Loading commit data... | |
| init_midi.sh | Loading commit data... | |
| intro.md | Loading commit data... | |
| library.txt | Loading commit data... | |
| link_jack.sh | Loading commit data... | |
| link_samples.sh | Loading commit data... | |
| link_samples_all.txt | Loading commit data... | |
| main_fairbanks.scd | Loading commit data... | |
| notes.md | Loading commit data... | |
| parvagues-sc.service | Loading commit data... | |
| perf-audio.sudoers | Loading commit data... | |
| perf-tray.py | Loading commit data... | |
| perf.sh | Loading commit data... | |
| sample_watch.scd | Loading commit data... | |
| samples.txt | Loading commit data... | |
| setlist_opal2026.txt | Loading commit data... | |
| start_and_midi.scd | Loading commit data... | |
| test.tidal | Loading commit data... |