MIDI input handling — tracking
Live, untracked Web-MIDI device-input limitations (separate from the MIDI-entry-targets-last-measure item in the API cluster #285).
Source: 2026-06 audit re-triage (2026-06-13); each item is tagged 🔴 LIVE in docs/audit/. Some are single-pass audit/fresh-eyes findings not independently re-verified — confirm against current code before fixing.
MIDI input handling — tracking
Live, untracked Web-MIDI device-input limitations (separate from the MIDI-entry-targets-last-measure item in the API cluster #285).
Web MIDI input binds only inputs[0], discards velocity, no channel filter or device-lifecycle handling
const device = inputs[0];selects only the first input device. The note handler at :96 is(midiNote, _velocity) => ...— velocity is received but discarded. There is no onstatechange/device-lifecycle listener (hot-plug/disconnect) and no MIDI channel filtering. (The audit's related double-flat-enharmonic concern is now moot since transpose is key-aware per Transpose: enharmonic spelling-with-key, semitones->steps rename, remove octave coercion #239.)MIDI entry spells black keys as sharps, ignoring key signature
Source: 2026-06 audit re-triage (2026-06-13); each item is tagged
🔴 LIVEindocs/audit/. Some are single-pass audit/fresh-eyes findings not independently re-verified — confirm against current code before fixing.