FAILURE MAP
← Case archive

FA-81538 / MIDI event timing / Member archive

Bar, beat and tick position with meter changes: segment length measured from bar zero · case 03

With three meters, the middle segment is treated as starting from bar 0, so positions after the last change land in the wrong bar.

Member previewVariant 3 · 3 implementations · 8 checks per implementation

Case contract

Input [ppq, signatures, tick]. signatures is a list of [bar_index, numerator, denominator] sorted by bar, the first at bar 0; each takes effect at the start of its bar. A beat lasts ppq*4/denominator ticks. Return [bar (1-based), beat (1-based), tick within beat]; invalid input returns 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 7[4, 3, 200][4, 2, 200]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 ↗