Cascading (hierarchical) text styles

• Feb 8, 2021 - 21:59

Hi! It would be great if MuseScore's text styles were cascaded/hierarchical. Is it possible?

What would it be?

Every style would be put in a hierarchy, meaning child styles would then inherit its properties from parent styles. This way, changing something like Text font would require one small action in some root style, rather than changing every style's font (as it's today).

Why is it relevant?

It would greatly simplify the process of changing text styles. Combining it with MuseScore's idea of "Reset to style", one could change very specific text styles (like Even Lyrics Lines) just where it's necessary, say from Regular to Italics; all other properties would inherit and be changed accordingly when some parent style is changed.

Where the idea came from?

This concept is present at least in Sibelius (I don't know of Finale or Dorico), as all text styles inherit one from each other. It's also used extensively in LibreOffice, named as hiearchical styles. This concept is also the core of CSS ("cascading style sheets"). (If I'm not wrong, it's used in Adobe InDesign too.)

I searched a bit in forums for someone asking something similar, but didn't find anything. Also, it's my first post to MuseScore forums. Thank you for MuseScore, it's a very special application and it's greatly improving day by day (BTW, 3.6.2 just went out!).


Comments

Some additional information and ideas:

Which text styles are there?

Below is a list of current text styles, as of MuseScore 3.6.2, in the exact order they appear in Format > Styles > Text Styles. I've grouped them (by similarity, just a suggestion) to ease the reading, but strictly following that order.

  • Title, Subtitle, Composer, Lyricist, Translator
  • Frame
  • Instrument Name (Part), Instrument Name (Long), Instrument Name (Short), Instrument Change
  • Header, Footer
  • Measure Number
  • Multimeasure Rest Range
  • Tempo, Metronome
  • Repeat Text Left, Repeat Text Right
  • Rehearsal Mark
  • System, Staff
  • Expression, Dynamics, Hairpin
  • Lyrics Odd Lines, Lyrics Even Lines
  • Chord Symbol, Chord Symbol (Alternate)
  • Roman Numeral Analysis, Nashville Number
  • Tuplet
  • Sticking, Fingering, LH Guitar Fingering, RH Guitar Fingering, String Number
  • Text Line
  • Volta
  • Ottava
  • Glissando
  • Pedal, Bend, Let Ring, Palm Mute
  • User-1 (to User-12)

These groups can serve as a draft to the hierarchy. For instance, Composer, Lyricist and Translator usually share almost same appearance, differing only in score position; thus, a parent style for them would be logical.

Ideas

  • Additional text styles probably would be necessary, for making proper parents. At least one root style (in Sibelius, "Plain text"; in LibreOffice, "Standard style") would be necessary, from which all text styles could be derived.
  • The hierarchy could be selected by a combo box named "Parent style" in the UI of Format > Style > Text Style. This way it would not be hard-coded, but editable instead (BTW, this is the way Sibelius and LibreOffice implement it).
  • The button "Reset to default" present in that UI could be changed to "Reset to inherit property"; or perhaps two buttons, one for each type of reset (there's no "Reset to inherit" in Sibelius nor in LibreOffice, but I think it would be very useful).
  • All properties from that UI could be inheritable, turning the hierarchy fully functional.
  • As I concern, just that UI would need to be changed. But I'm probably missing something.

Do you still have an unanswered question? Please log in first to post your question.