FAILURE MAP
← Case archive

FA-81790 / MIDI event timing / Member archive

Channel note message encoder with running status: running status applied when disabled · case 05

Repeated status bytes are omitted even when running status is disabled.

Member previewVariant 5 · 3 implementations · 8 checks per implementation

Case contract

Input [events, running_status] with events [kind, channel 1..16, note, velocity]. A note-on with velocity > 0 encodes as 0x90|(channel-1), note, velocity. A note-off (or note-on with velocity 0) encodes as 0x90|(channel-1), note, 0 when running status is enabled; otherwise as 0x80|(channel-1), note, velocity for an off and note, 64 for a velocity-0 on. With running status enabled, a status byte equal to the previous one is omitted. Invalid values return None.

Why this case matters

MIDI sequencers, file readers and synth drivers depend on exact event ordering and tick/time arithmetic.

One recorded failure

Sample boundary fixture

This sample comes from the broken implementation of a controlled reproducer.

Boundary fixtureActualExpectedOutcome
oracle 2[144, 60, 100, 64, 90][144, 60, 100, 144, 64, 90]Failed

MEMBER ARCHIVE

The complete case is available to members.

This record includes three runnable implementations, regression fixtures, execution results, and source hashes.

Member access is invitation-based. Sign in with your invited account to inspect the sources.

Sign in to the archive ↗