metronome/src
Me Here 0bec13abab midi-out: 24-PPQN clock + Start/Stop; shared src/midiout.js; mirror into editor.html
- Extract MIDI-out into a shared partial src/midiout.js (one copy, no drift); both
  editors @BUILD:include it. The page wires three transport hooks: midiOutStart(t0)
  in start(), midiOutStop() in stop(), midiOutClock(ahead) at end of scheduler();
  engine.js calls onMeterHit() per hit.
- Clock-out: a "clock" checkbox (default on) appears with the port picker. When on:
  MIDI Start (0xFA) at the downbeat, 24-PPQN clock (0xF8) scheduled across the audio
  look-ahead window (timestamped, tracks tempo/ramp, stays tight), Stop (0xFC) on
  stop. Guarded against starve-looping at extreme tempos.
- Mirror the feature into editor.html (PM_E-1): header .devctrl pills, the include,
  _wireMidi port refresh, transport hooks, listener, and the _isDevicePort fix
  (recognizes PM_G-1 Grid etc.).

Conformance suite still green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 14:11:24 -05:00
..
base.css Split each form factor into a lean widget page + a separate info page 2026-05-28 14:18:23 -05:00
chrome.js Restructure (2a): shared chrome on every page; merge Open=Info into one page per form factor 2026-05-28 09:31:39 -05:00
engine.js pm_e-2: MIDI out — drive external gear (drum module / e-kit) from the editor 2026-06-04 12:41:01 -05:00
footer.html Restructure (1/2): Concepts = landing with live embeds; shared chrome partials; Showcase redesign 2026-05-28 09:09:51 -05:00
header.html Split each form factor into a lean widget page + a separate info page 2026-05-28 14:18:23 -05:00
infoembed.html Split each form factor into a lean widget page + a separate info page 2026-05-28 14:18:23 -05:00
infoembed.js Split each form factor into a lean widget page + a separate info page 2026-05-28 14:18:23 -05:00
livesync.js Preserve notation + grammar feature work (verified complete + green) 2026-06-02 13:45:26 -05:00
midiout.js midi-out: 24-PPQN clock + Start/Stop; shared src/midiout.js; mirror into editor.html 2026-06-04 14:11:24 -05:00
notation.js Add untracked notation deliverables (build/compile depend on these) 2026-06-02 13:46:45 -05:00
progbox.html Phase C — per-page plain/info split + per-device program box 2026-05-28 11:22:23 -05:00
progbox.js Split each form factor into a lean widget page + a separate info page 2026-05-28 14:18:23 -05:00
setlists.js Preserve notation + grammar feature work (verified complete + green) 2026-06-02 13:45:26 -05:00