Implement temperament playback in MuseScore
Currently MuseScore plays note in equal temperament, except if the soundfont is tuned different.
However, it's possible to tune each note individually. This tuning is stored in the mscz file. The tuning is sent to Fluidsynth which will play the soundfont with this tuning offset.
Started from there, Miwarre implemented a plugin in MuseScore 1.3 that would load SCALA files and apply the tuning to each note. Unfortunately that was a one time operation, a moved note, or a new note wouldn't obey the scale since it was only applied once and forgotten.
On github, @sraduvictor made an experiment to duplicate this feature in MuseScore 2.0 core. It's limited to 8 steps per scale for now. In any case, it will have the same limitation than the plugin above.
His use case is Byzantine music but of course it would be good to extend this to more temperaments. In particular the ones which can be currently properly notated with MuseScore (I mean without microtonal accidentals for now) : 7 notes, 12 notes (#/b), 17 (Gb - A#) and 21 (Fb - B#) (maybe even 35 the total number of pitch classes in MuseScore for now).
Next attempt by @sraduvictor is to apply the scale to the score and keep it with the score. New notes would be played according to the scale. But then more questions:
1/ Is a temperament a property of a score or an instrument? a staff?
2/ Does a temperament change during a score?
3/ A temperament should affect the tuning property of a note? or should we apply it transparently and add the tuning on top of it? or the temperament is a style and we can override the tuning for a note?
4/ Probably for later, do we ship some temperament in MuseScore? Do we let user create temperaments even without scala file? If yes, which UI?
Interesting point from Miwarre, the Scala format seems to be a good import format but not a good storage format since it lists the notes in pitch order without making a difference for enharmonic.