Adding data to the score's sigmap is useless, since it is rebuilt after reading anyway. However, for reading MS2 and MS1 scores, we seem to rely on a sigmap; so let's use a per-score compatibility sigmap for this, rather than abusing the MasterScore's sigmap (and potentially messing it up, see previous commit).
While reading measures in part scores, among which MMRests, we would modify the master score's time sig map, and put the lengths of the MMRests as time signature changes into the sigmap. This only happens for >= 400 scores: for older scores, the part scores were read "recursively", so the `setUpTempoMap` for the master score would be last anyway, to undo the damage from reading the part scores.
1. Don't automatically flag as "other" dynamic with text. As long as the string contains the substring identifying the dynamic type, we should retain the type. NOTE: this also resolves the issue that dynamics with text don't have playback.
2. Keep dynamics aligned properly (i.e. dynamic under the notehead) when custom text is added. This is now the defaul, with an option to revert to old behaviour.
3. Offset dynamis laterally to avoide collision with barlines (with toggle/untoggle option).
In general, dynamics must be detached from text settings. Specifically:
4. Dynamics symbols now have the possibility to override the score music font (independently of text font)
5. Dynamics symbols can have custom size (independent from text size) expressed as a percentage of the default.
6. Dynamics text (i.e. text typed into a dynamic) must be treated as expression text, and it now takes all its defaults from there. The Style -> Text Styles -> Dynamics page has been removed.
7. Expressions have a new dedicated class of their own. "Old" expressions, i.e. staff text with an "expression" style, are mapped into the new expression item preserving the old layout.
8. Expressions entered on the same chord as a dynamic mark will automatically align to the dynamic (with toggle/untoggle option).
9. An expression + dynamics snapped pair is dragged together.
10. Long awaited quality-of-life improvement: when dropping (or clicking and entering) a new dynamic onto an existing one, it will replace the old one with the new one (instead of having to delete and re-enter to change a dynamic).
11. A new inspector panel for Dynamics, containing all the relevant applicable settings. Some of these settings are moved here from the Text inspector panel, mainly the Above - Below and the Frame Settings.
12. The Text inspector panel is not shown when a "pure" dynamic is selected. It is only shown when a dynamic+custom text is selected, and the options only refer to the text part.
13. New options in the Style -> Dynamics submenu.
14. A new inspector panel for Expressions, containing (for now) only the "Snap to dynamics" option.
- Introduce Auto/Before/After barline option for clefs
- Tag clefs as "header" when needed, instead of trying to guess from context.
- Changes and corrections to the courtesy VS main clef interaction, especially when changing options from inspector.