[Musicxml Export] - Measure Number Reset Fails When Meeting Text Frames

• May 27, 2020 - 02:03
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?


Comments

> 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...

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!

Title [Musicxml Export] - Measure Number Reset regression in 3.5 Alpha and nightly builds [Musicxml Export] - Measure Number Reset Fails When Meeting Text Frames

Changed the issue title.

Regression Yes No

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.

Attachment Size
Untitled.mscx 4.72 KB

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.

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.

Fix version
3.6.0