metronome/docs
Me Here 36989c96de pm-grid: playback-flow auto-advance (rep/end) + MIDI clock out
Playback flow (rep/end), ported from pico-scroll:
- At each master-bar boundary, after bars*rep cycles the end-action fires:
  end=stop stops; end=next / end=+N advances through the set list.
- The next track is preloaded one bar early (parsed + per-lane durs) into a
  pending slot, then swapped at the exact seam (master lane bar boundary; all
  lanes restart there) for a gapless handoff. load()/manual nav clears pending.

MIDI clock out (default on, so a DAW can slave to the Grid):
- 24-PPQN 0xF8 against the wall clock + 0xFA/0xFC Start/Stop on play/stop (button
  or live-sync). Queued on tx_q as CIN 0xF single-byte packets.

Deferred items needing persistent storage (no CIRCUITPY drive in the Rust build,
needs a flash KV layer - separate milestone): practice log, settings.json,
SLSYNC/LOGSYNC. Also deferred: MIDI clock in, optional piezo.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 15:50:20 -05:00
..
livesync-protocol.md Preserve notation + grammar feature work (verified complete + green) 2026-06-02 13:45:26 -05:00
playback-flow-test.md Editor controls for playback flow + close web-side divergences 2026-05-31 16:11:43 -05:00
rust-port.md pm-grid: playback-flow auto-advance (rep/end) + MIDI clock out 2026-06-03 15:50:20 -05:00
track-format.md Preserve notation + grammar feature work (verified complete + green) 2026-06-02 13:45:26 -05:00