[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.
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
Relates to #270643: [EPIC] MusicXML import/export issues. Will implement this myself.
Fix implemented, available on github.com:lvinken/MuseScore.git in branch musicxml-duration-3.x commit 5e9eea7.
Now working on sync to master.
( https://github.com/lvinken/MuseScore/commit/5e9eea7f7d4cce67c5db193f968… )
Synced to master: https://github.com/lvinken/MuseScore/commit/68defdf4d27dd0d0dd22900221e…
Pull request https://github.com/musescore/MuseScore/pull/8429
and https://github.com/musescore/MuseScore/pull/8282 (for 3.x)
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._
Automatically closed -- issue fixed for 2 weeks with no activity.