Repository navigation
Notation you can trust (Epic M); release 0.5.0 - #13
Merged
Merged
Conversation
The 2026-10-01 review found that what the note boards didn't measure was broken somewhere. M0 measures it (notation board: lyrics, chord symbols, dynamics, clefs at their places; stems/beams against the source engravers; LilyPond lyric and playback oracles; one Python test per confirmed bug), and M1-M10 fix it: - M1/M2 MusicXML read at the <backup>/<forward> cursor; written valid (escaped text, <divisions> always, encodings). - M5 LilyPond constructs no longer dropped (afterGrace, grace chords, tremolo, \partial N*M, beat structure, text scripts, placement, marks). - M6 note arrays: per-part velocity, direction dynamics, sounding pitch, grace chords; Music::Transposition. - M7 chord symbols as steps; LilyPond chordmode at each beat. - M4 stems and beams drawn by LilyPond's rules where a source left them. - M8 writers: church modes, tempo once, marks at their beat, mid-bar clefs, ABC clefs/hairpins, kern rests and *staff, MIDI channels. - M3 lyrics sung where LilyPond sings them, through every format. - M9 retrograde carries keys/clefs; transpose prefers fewer accidentals. - M10 CLI writes every movement; warnings; -I; diff compares timing. Version 0.5.0 in Cargo.toml (and Cargo.lock); the changelog's [Unreleased] becomes [0.5.0] - 2026-10-02; roadmap, devlog, import-export (measured support) and the CLI docs updated. Co-Authored-By: Claude Opus 5.5 <[email protected]>
… meters - Clippy 1.99 (2026-10-01): function items passed by value, a duplicated #[allow], a dead `indent -= 1`. - LilyPond oracle: LilyPond 2.24 (CI's) writes a lyric tie as `‿` in its MIDI, 2.22 as `~`; both sides are compared through `elided`. 31/31 and 710/710 with either version. - Fuzz job out of memory: Beaming::of listed every beat of the bar, so a meter of 2^31 beats made 2^31 beat ends in every writer. Equal beats are kept as one, and end_after repeats a pattern over its span. Test: a_meter_of_equal_beats_keeps_one. Changelog dated 2026-10-04, the release day; roadmap and devlog updated. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Notation you can trust: Epic M, released as 0.5.0. A review found that the notation the note boards didn't measure was broken somewhere. This PR measures it (lyrics, chord symbols, dynamics, clefs, stems and beams, LilyPond's own playback) and fixes what the measurements showed. See
docs/changelog.mdfor the list of changes,docs/devlog.mdfor the notes anddocs/import-export.mdfor the measured support.What changes
<backup>and<forward>place the notes, and written valid (<divisions>always, text escaped, ISO-8859-1 input read).\afterGrace, grace chords, tremolos,\partial N*M, beat structure, text scripts, placement, marks).__,~, punctuation, verses, named voices);**text;Note.lyric_syllablesin Python.7#9,add9orm(maj7)are no longer read as major. They are written to LilyPond asg4:7.9-at their beat.-Iworks on every reading command;diffcompares timing.The last commit fixes what failed CI on the release commit:
‿in its MIDI, and 2.22 writes~. The oracle now compares them as equal.Measured
Checks
🤖 Generated with Claude Code