Various fixes#146
Merged
Merged
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7cf69f1d76
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Squash of 18 commits from SemitoneGene/master. PR 145 renamed Sourcecode/ -> src/ and applied clang-format across the whole tree. This commit re-applies PR 146's changes to the new paths with the project's formatting. Fixes applied during rebase: - Drop removed constructor args myScoreWriter and myConverter from NotationsWriter and NoteFunctions (removed in PR 145). - Fix UpDownNone::toString returning "up" for the none case; now correctly returns "none". - Populate orderedComponents in directionOrderRoundTrip test to match what the reader produces on round-trip.
Owner
|
I rebased it and I have Claude working on some fixes for it. |
The UpDownNone type extends the 3.x up-down type (up/down only) with a "none" value. MusicXML 4.0 allows arpeggiate direction="none" to mean "no arrow"; 3.x arpeggiate direction only accepted up or down. Mark the enum value, the ArpeggiateAttributes field, the reader case, and the writer assignment with // MusicXML 4.0 Backport so these are easy to locate when proper 4.0 support is implemented. Use text for time signatures instead of a combination of text and ints. Create a test for the directions stuff and propegate it to the writer.
webern
approved these changes
May 17, 2026
Owner
webern
left a comment
There was a problem hiding this comment.
Well, CI passes now, which takes a long time and is somewhat miraculous, so I'll merge this.
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.
An assortment of fixes to add notation features.
API changes
ChordData - Added
FrameData,FrameNoteData, andFrameBarrefor guitar chord frame(fret diagram) notation.
ChordDatagains aframeDatafield guarded byhasFrameData.DirectionData - Added
dashesStarts/dashesStopsandpedalStarts/pedalStopsspannervectors. Added
orderedComponents(DirectionComponentlist) to preserve original documentorder across heterogeneous direction elements.
LyricData - Expanded from a text-only stub to a full struct:
verseNumber,verseName,LyricSyllabic(single/begin/end/middle),hasExtend,positionData,printData.MarkData - Enabled
fret,string_,hole,arrow, andhandbellmark types (werecommented out). Added mordent detail fields:
mordentLong,mordentApproach,mordentDeparture, each with a presence flag.RehearsalData / WordsData - Added
RehearsalEnclosureenum andenclosurefield(rectangle, square, oval, circle, bracket, triangle, diamond, none).
SpannerData - Added
lineDatatoSpannerStop.StaffData - Added
staffLines(default -1, meaning unspecified).TimeSignatureData - Changed
beatsandbeatTypefrominttostd::stringto supportcompound meters such as "3+2". Added
singleNumbertoTimeSignatureSymbol.Implementation
Full read/write round-trip support for all new API fields. Bug fix:
UpDownNone::toStringwasreturning
"up"for thenonecase; now returns"none".Tests
New test cases in
NoteDataTest,MeasureDataTest,MeasureWriterTest, andEnumsTest.Xcode
build_xcframework.shrewritten with argument parsing,set -euo pipefail, and an--installflag to drop the result into a siblingkompproject.