[Musicxml Export] - Shortcut hairpin dynamic not exported
Reported version
3.3
Type
Functional
Frequency
Once
Severity
S2 - Critical
Reproducibility
Always
Status
closed
Regression
No
Workaround
No
Project
The example here shows another kind of bug. When I am transcribing The Rite Of Spring now, I encountered lots of such dynamics combined with hairpins, represented as a BeginText in Mscx code. All of the dynamic texts are not exported, and I have to go into the mscx file to add staff texts to export into Musicxml. This should be done as textline texts, but with dynamics property.
Haipeng
Attachment | Size |
---|---|
hairpin shortcuts.mscx | 6.31 KB |
hairpin shortcuts.musicxml | 5.81 KB |
Fix version
3.5.0
Comments
Relates to #270643: [EPIC] MusicXML import/export issues
The dynamics plus hairpin is a new feature not yet supported by the MusicXML exporter. This happen quite often, as the people implementing new MuseScore features typically do not also implement the corresponding MusicXML support.
MusicXML does not support hairpins as textline texts, but with dynamics property. They can only be exported as two consecutive directions, or as a single direction with two direction-types.
In reply to Relates to #270643: [EPIC]… by Jojo-Schmitz
Yes, it can be splitted into two parts within a single direction tag.
Did a quick investigation and found that solving this does not seem be trivial, may take (quite) some time.
Proposed output attached, please provide feedback. Implementation mostly done. Note sound element is missing from the dynamics generated, as the dynamics are represented in MuseScore as text without volume level information.
FWIW, while it's great to be able to export these, I don't actually recommend using them. Not just the MusicXML code, but also the playback and even the layout code does not have them fully integrated. I would recommend simply using ordinary dynamics and ordinary hairpins. The layout code does automatically adjust the start point for the hairpin, and playback works correctly out of the box. So there is no advantage I can think of to using these combined elements.
Yes, this is not recommend, but sometimes we meet such things, and Musescore should have them exported. In my engraving guide, I'll strongly recommend the engravers not to use such composite things, including combined articulations such as accent-tenuto, unless they can be exported correctly. Anyway, they are all shortcuts, not standard notation treatments.
Haipeng
Right, I agree it will be good to export correctly, so hopefully Leon's proposed fix is good. But to be clear: it's not just because of MusicXML export that I recommend against the combined hairpin/dynamic. Even when the MusicXML is fixed, I will still recommend agaisnt it for the other reasons I alluded to. Whereas combined articulations are actually something I do recommend in general, it's intended to be fully supported, and indeed we may eventually start automatically converting to them. So by all means avoid them for now until MusicXML is fixed, but once that is working, I do recommend you start using them.
Pull request https://github.com/musescore/MuseScore/pull/6025
Fixed in branch master, commit 8f465478b2
fix #299393: [Musicxml Export] - Shortcut hairpin dynamic not exported
Fixed in branch master, commit 85830f4921
_Merge pull request #6025 from lvinken/299393-shortcut-hairpin-dynamic
fix #299393: [Musicxml Export] - Shortcut hairpin dynamic not exported_
needed for 3.x too
Fixed in branch 3.x, commit 33ea724cfa
_Merge pull request #6025 from lvinken/299393-shortcut-hairpin-dynamic
fix #299393: [Musicxml Export] - Shortcut hairpin dynamic not exported_
Commit for 3.5 got reverted, seems a new PR is needed
Actually that PR should work, it the failing test gets fixed, see https://travis-ci.org/github/musescore/MuseScore/jobs/689215102#L4360-L…
Fixed in branch 3.x, commit 787f74f23b
_Merge pull request #6025 from lvinken/299393-shortcut-hairpin-dynamic
fix #299393: [Musicxml Export] - Shortcut hairpin dynamic not exported_
Automatically closed -- issue fixed for 2 weeks with no activity.