-
Notifications
You must be signed in to change notification settings - Fork 3k
Import Finale's .musx file format #31594
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
In the interest of full disclosure, there may be some need for an opinion from the MuseScore legal team on this. The xml inside a |
ef6cc8c to
6df411f
Compare
586732a to
89319dd
Compare
d522c0a to
26bb28c
Compare
26bb28c to
d418fc9
Compare
better namespace for score_mapping
pull smulf_mapping from main
…respelled in a part. Also added test case.
remove node name log spam from log.
Add code to enharmonically respell a pitch when it is enharmonically respelled in a part.
76bdcda to
81fa122
Compare
Made in collaboration with @rpatters1 over the best part of this year.
.musx file importer
This PR allows MuseScore to read Finale's .musx file format, used by Finale from version 2014 until its demise. As MuseScore hopes to win over users leaving Finale, this importer offers a way out without sacrificing existing score libraries. While MuseScore's MusicXML import from Finale has improved substantially over time, many visual inaccuracies are caused by the lossy export from Finale itself. This importer therefore has a focus on visual accuracy (over "good MuseScore behaviour" or playback).
Prefences for level of detail
Nonetheless, under Preferences there are various levels of detail provided for the user to choose from:
How to handle element positioning:
Conversion from Finale-native fonts to SMuFL symbols
Prior to v27, Finale did not incorporate the SMuFL standard and used a diverse assortment of fonts to cover musical symbols. Many MuseScore users may not have Finale and its fonts installed on their device, which is why the importer detects and converts most of Finale's symbol fonts to SMuFL equivalents. This is enabled by default. For powerusers who may wish to keep their original fonts (or be using SMuFL optional or MakeMusic-only glyphs), this can be disabled.
More options could be provided; with the new reset options in the format tab we haven't yet deemed them necessary.
Code quirks
The importer differs from other importers in that it layouts the score mid-import, several times. These calls are needed to compute the correct positions of various elements. Integration with the layouting code is kept minimal - only a small handful of methods are called from it - so any changes made to the engraving module shouldn't have much effect.
Two new dependencies are linked using
FetchContent- fixed release versions can be created before merging this PR.Features
The importer detects and imports the following:
Unit tests have also been provided.
Part scores and slur handle positions are currently not imported, but may be added at a later date.