[MusicXML export] Tempo beating at whole & above and 16th & below does not export in .musicxml format
Reported version
3.6
Type
Functional
Frequency
Once
Severity
S5 - Suggestion
Reproducibility
Always
Status
closed
Regression
No
Workaround
No
Project
When we export a piece in .musicxml format whosecthe tempo is set at the quarter or at the half note, the corresponding tag indicates:
«beat-unit»quarter«/beat-unit»
«per-minute»90«/per-minute»
or
«beat-unit»half«/beat-unit»
«per-minute»90«/per-minute»
But when the tempo is set at the whole, it lets the beat-unit field empty, which may cause some problems depending on the software you use to read it:
«beat-unit»«/beat-unit»
«per-minute»90«/per-minute»
Fix version
4.0.0
Comments
Relates to #270643: [EPIC] MusicXML import/export issues
Issue confirmed, the MusicXML exporter currently only supports types half, quarter and eighth. The MusicXML 3.1 and 4.0 specs allows all types from maxima to 1024th. See function findUnit(TDuration::DurationType val, QString& unit) in exportxml.cpp.
Solution implemented, will create a pull request.
Pull request for master: https://github.com/musescore/MuseScore/pull/8793
Just found those with 16th are not exported too, so I think beat unit larger than half and smaller than 8th will not be exported at all. It forms an invalid xml tag with empty field, which will cause error when processing in braille translation software.
Fixed in branch master, commit 52f8a34f77
_Fix #321960: [MusicXML export] Tempo beating at the whole does not export in .musicxml format
Caused by superfluous and incomplete findUnit() function in exportxml.cpp._
Fixed in branch master, commit 21cf424bb5
_Merge pull request #8793 from lvinken/321960-musicxml-beat-unit-master
Fix #321960: [MusicXML export] Tempo beating at the whole does not ex…_
Automatically closed -- issue fixed for 2 weeks with no activity.