Sibelius seems to export part names as "P#" rather than specifying
print-object="no". This commit adds handling of this case, omitting
part names of the (regex) form "$P[0-9]+^".
Previously, instrument names were erroneously included based on the
MIDI instrument associated with a part, even when print-object="no" was
specified in the XML. This commit makes sure that those MIDI part names
are overridden in the case that print-object="no" is specified.
fa30b31...
by
RomanPudashkin <email address hidden>
Merge pull request #8275 from iveshenry18/ENG-8-pedal-elements
[MU3 Backend] ENG-8: Pedal Change Element
cc08d34...
by
RomanPudashkin <email address hidden>
Merge pull request #8298 from iveshenry18/ENG-52-infer-fingerings
This simple addition to the isLikelyFingering() function adds
recognition of fingering changes of the form #-# or #–#. Also updates
corresponding tests.
A common error in exporters is misinterpreting fingerings as word-type
directions. This commit adds the MusicXMLInferredFingering and the
associated code necessary to detect these directions, find the correct
notes to add them to, then add them if such notes are found.
The current iteration is able to distribute the fingerings across voices
if necessary, as well as round the tick value of a direction to the
nearest greatest common denominator of the measure.
Specifically when dragging-and-dropping an XML file into MuseScore, the
articulations didn't layout correctly. This was due to a difference
between openScore (called when opening from recent or files) and
dropEvent (called when dropping).
This commit removes the partially-duplicated code in dropEvent and
rather calls openScore to handle loading, preventing discrepancies
between the two approaches.
Some faulty MusicXML files include directions with an offset that
points to a tick < 0. This imports, but then crashes as soon as any
command is done on that direction. This commit adds a check upon import
that truncates any negative offset with a larger magnitude than the
associated tick, preventing this issue in MusicXML import.
This commit adds a case for including fretboard diagrams when
creating horizontal spacing in the ChordRest::shape() function. In
pursuit of this, it also extracts a calculateBoundingRect function from
FretDiagram::layout().
NOTE: In order to allow "orphaned" FretDiagrams to still create space,
the spacer is added to all staves. This is redundant in some cases, so
a more performant solution may be desirable in the future.