[MusicXML export] Tempo beating at whole & above and 16th & below does not export in .musicxml format

• Jun 5, 2021 - 21:50
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»


Comments

Title Tempo beating at the whole does not export in .musicxml format Tempo beating at the whole does not export in .musicxml format

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.

Title Tempo beating at the whole does not export in .musicxml format [MusicXML export] Tempo beating at the whole does not export in .musicxml format

Solution implemented, will create a pull request.

Title [MusicXML export] Tempo beating at the whole does not export in .musicxml format [MusicXML export] Tempo beating at whole & above and 16th & below does not export in .musicxml format

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.

Status PR created fixed

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

Fix version
4.0.0