[Musicxml Export] - Measure Number Reset Fails When Meeting Text Frames
Reported version
3.4
Type
Functional
Frequency
Once
Severity
S2 - Critical
Reproducibility
Always
Status
closed
Regression
No
Workaround
No
Project
When I convert this score:
https://musescore.com/user/2749876/scores/6170187
I found the section break doesn't reset measure number in Musicxml ny more. I tested using 3.4, and it was OK. All recent builds, including 3.5 alpha, have this rooled back. Can it be restored?
Fix version
3.6.0
Comments
relates to #270643: [EPIC] MusicXML import/export issues
> I found the section break doesn't reset measure number in Musicxml ny more.
Wrong. There are no section breaks at all. That's why it doesn't reset measure numbers. Looking at this...
MusicXML doesn't have section breaks
If so, I wonder what hhpmusic might expect importing the musicxml file. And the second question, how could that work in 3.4.2?
See discussion in #292461: [Musicxml Export] - Measure numbering not correct.
Relevant Git log fragment:
commit f0cdc489cdbb0abe3f986d18dac792765e73b841
Merge: 12adde505 1967dab53
Author: anatoly-os
Date: Thu Aug 29 12:09:41 2019 +0200
Will check to see if I can quick find cause and solution.
I seem to find the cause. The Ravel score does have lots of section breaks, e.g., line 1526, 5362 etc. But the reason is not section breaks, but barlines. observed the conversion of Beethoven's 9th from Open Score, and found there are sometimes bar number resets. But the condition is the barline should be double instead of final, thus all final barlines with section breaks don't work at all! So the solution is to include all section breaks instead of looking for certain barline types.
Haipeng
Sorry, I was wrong. I tested using Ravel, but it still has continuous numbering. MS 3.4.2 still gives correct numbers. The pdf also show reset numbers. I'm totally confused, it's a cunning magician :-)
Haipeng
Now I found the ultimate culprit. It's because of text frames after the break. Please see the score, every new piece has its own titles and long blocks of story texts at the top of the new page. The breaks should not care about such tboxes and vboxes!
Changed the issue title.
Testfile mtest/musicxml/io/testBreaksSystem.mscx (which does not contain text frames but does have section breaks) is still handled correctly. It seems this is not a regression but a requirement I failed to implement.
Hypothesis confirmed, see attached simple test file with both section breaks and test frames. The measure number is not reset in the MusicXML export. When the text frames are removed, measure number is reset.
That was what I meant. I forgot to say, when I removed all text frames from the code, measure resetting works well.
Is it possible to solve this before the final release of 3.5? It worked in earlier versions, and I successfully transcribed Beethoven's 9th from Open Score project with 100% correct measure numbering. That file also contains lots of text frames such as movement titles.
Not being a 3.5 regression this might need to wait for 3.5.1
Which earlier versions did this work in? I kind of doubt it would have worked in any 3.x release, but maybe 2.x?
FWIW, there are also bugs with the measure numbering in these cases even without MusicXML export - see #307301: Measure Number behave strangely when inserting Section break onto Horizontal Frame. I have a fix ready to submit for that. I'd love to say it works for MusicXML export too, but unfortunately it doesn't, at least not right away. But I should be able to adapt my existing fix to include here.
I think I have this fixed, as I see the measure number info in the MusicXML file. But - we don't get this right on import? That seems a separate issue unrelated to the frame on export one; it seems we import the measure number incorrectly with or with frames. So I'm not planning on looking into that further.
Will submit PR for the export side soon.
https://github.com/musescore/MuseScore/pull/7026
Thank you, I'll submit a separate issue for the import side.
The pull request has been merged.
Automatically closed -- issue fixed for 2 weeks with no activity.