Fix bar counting and markup placement in MusicXML export - #193
Open
FelippeRoza wants to merge 1 commit into
Open
Fix bar counting and markup placement in MusicXML export#193FelippeRoza wants to merge 1 commit into
FelippeRoza wants to merge 1 commit into
Conversation
The xfail tests test_partial and test_markup both broke at 5d89981. Bars close on accumulated note duration rather than at barchecks, and several things were not counted right: * set_pickup() discarded the \partial duration, so the pickup bar never closed and swallowed the measure after it. Its length is now recorded and used, and the bar is exported as <measure number="0" implicit="yes">. * Note-attached markup is parsed after its note, so it landed one measure late and texts from different bars were concatenated into one <words>. Whether a markup trails its note is now taken from its Postfix parent instead of the current bar's contents. * Chord notes after the first were added to whichever bar was current by then, leaving an orphaned <chord/> opening the next measure. * Grace notes were counted toward bar duration, so one could close a bar on its own and strand itself with no principal note to ornament. * \partial and bar duration leaked from one part into the next. The last three happen without \partial too. chord_duration.xml is regenerated because its expectation held the split chord it was added to catch in #171. Fixes #174
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.
test_partialandtest_markuppass now, so thexfailmarkers are gone. Fixes #174.Both broke at 5d89981. Bars close on accumulated note duration, not barchecks, and
several things were miscounted:
set_pickup()discarded the\partialduration, so the pickup bar swallowed the nextmeasure. Now
<measure number="0" implicit="yes">.detected from its
Postfixparent.\partialand bar duration leaked between parts.chord_duration.xmlregenerated: its expectation held the split chord (#171). A tupletclosing a pickup bar still splits (#124).