MusicXML import from SharpEye moves rest positions
SharpEye ver 2.68
MuseScore 2.0.3 rev 3c7a69d
Windows 7 SP1
The import of a MusicXML file from SharpEye often displaces the whole-bar rest symbol one line too high, and I am interested to know whether it's a fault in the SharpEye export or the MuseScore import.
Piano line of the score as saved in SharpEye optical music recognition:
Piano line of the score after importing XML file into MuseScore:
The attached MusicXML file is as exported by SharpEye.
Thanks for any comments!
Attachment | Size |
---|---|
Jemima_p1_SharpEye_export.xml | 68.51 KB |
Comments
MuseScore's XML Export does not have that
{syntaxhighlighter brush:xml}
F
3
{/syntaxhighlighter}
as part of these rests. Instead of
{syntaxhighlighter brush:xml}
F
3
8
5
2
{/syntaxhighlighter}
it just has
{syntaxhighlighter brush:xml}
8
5
2
{/syntaxhighlighter}
Don't know who's wrong or right though
In reply to MuseScore's XML Export does by Jojo-Schmitz
As far as I can tell the SharpEye output is technically correct but those tags are unneeded since the default position is what is desired. I think we are misinterpreting the step/octave information that is given. Probably an off-by-one error in handleDisplayStep() in importmxmlpass2.cpp, but I'm not sure.
In reply to As far as I can tell the by Marc Sabatella
Perhaps the "display-step=F" is being interpreted by MuseScore as if this stave were treble clef instead of bass clef?
In reply to Perhaps the "display-step=F" by DanielR
I thought of that too, but stepping the code under the debugger, it does seem it is getting this right. Then there is some calculation involving pitch offsets I didn't understand, and the bottom line is we calculate an offset that is incorrect.
In reply to Perhaps the "display-step=F" by DanielR
Here is the code for the 1/4 rest in the pickup measure
2
2
5
quarter
2
and the whole rest
8
F
3
8
5
2
There is no pitch ( ... and ... ) on the 1/4 rest or the other few rests I looked at in the score.
Question, does the import tool assume a pitch of D in octave 3 on the bass clef for rests?
In reply to MuseScore's XML Export does by Jojo-Schmitz
The code is asking for voice 5. Since there is no voice 5 it MS it looks like it moved to rest up a line. I initially thought that was where a voice 4 rest might appear, but voice 4 measure rests appear under the bottom line and voice 1 rest is under the first top ledger line. Voice 2 is the same as 4 and voice 3 the same as 1. I would be curious to see the MS score to look at the inspector on the rest.
In reply to The code is asking for voice by mike320
It is track 5 (which to MuseScore translates to staff 2 voice 1), MusicXML just calls is voice 5 staff 2. The MuseScore XML export has the same thing, so I guess this is right
In reply to The code is asking for voice by mike320
I figured out how to import it and see it's on voice 1 with a vertical offset of -1 for some reason.
In reply to I figured out how to import by mike320
And that is why Marc suspects an off-by-one error in the calculation
In reply to And that is why Marc suspects by Jojo-Schmitz
Not quite sure what is right and wrong in this case. Personally I'd expect no display-step and -octave in this case, as the default is meant. Furthermore, if any, I'd expect display-step = D and -octave = 3.
For what it is worth, Finale Notepad produces the same rest position as does MuseScore.
Easily repaired in MuseScore by using the inspector to set automatic placement for the rests.
In reply to Not quite sure what is right by Leon Vinken
"Easily repaired in MuseScore by using the inspector to set automatic placement for the rests."
Leon,
Thank you so much for the tip!
Dan