[MusicXML import] use note type instead of note duration to determine note length

• May 30, 2021 - 11:55
Reported version
3.6
Type
Functional
Frequency
Once
Severity
S5 - Suggestion
Reproducibility
Always
Status
closed
Regression
No
Workaround
No
Project

Currently, the importer uses MusicXML note duration instead of note length as calculated from the MusicXML note type, dots, time-modification etcetera to determine how long a note takes and where to place the next note. When the MusicXML note duration does not match the calculated value, various types of corruption occur.

See the attached MusicXML file and screenshot of its import into MuseScore 3.6.2. The G is set at 90% of the nominal value, the B at 110%. As a result after import both measures 1 and 2 are corrupt. When trying to replace any of the notes in measure 1 by notes of different length (e.g. replace the G by a whole note), many unwanted small notes appear. Measure 2 has extra small notes after import and exhibits a similar problem as measure 1. Even when using the GUI to remove obvious problems, the remaining notes stay at incorrect beats.

When using the calculated duration, none of these problems occur. This change does not affect correctly encoded MusicXML files.

Attachment Size
Untitled.xml 2.54 KB
Untitled.png 9.54 KB

Comments

Fix implemented, available on github.com:lvinken/MuseScore.git in branch musicxml-duration-3.x commit 5e9eea7.
Now working on sync to master.

Status PR created fixed

Fixed in branch master, commit 2807f80ff0

_Fix #321751 - [MusicXML import] use note type instead of note duration to determine note length

Currently, the importer uses MusicXML note duration instead of note length as calculated from the MusicXML note
type, dots, time-modification etcetera to determine how long a note takes and where to place the next note. When
the MusicXML note duration does not match the calculated value, various types of corruption occur.

When using the calculated duration, none of these problems occur. This change does not affect correctly encoded
MusicXML files._

Fix version
4.0.0