General style settings not propagated from scores to parts

• Feb 10, 2014 - 00:50
Type
Functional
Severity
S4 - Minor
Status
closed
Project

Windows 7, GIT commit: 9fd8764

1) Open attached score
2) File / Parts
3) New All
4) OK
5) view Oboe part

Result: title is default font, not Arial 48pt as in the score.

I understand that style changes wouldn't necessary propagate to parts if the changes are made *after* generation of the parts (but see #24030: Style for Parts). But just as was the case for 1.3, I expect the style of the score at the moment of part generation to influence style of those parts. Assuming, for 2.0, you haven't explicitly set a different style for parts in preferences.

For example, if I create a score using MuseJazz font all around, and Jazz style on the chord symbols, I certainly expect the parts will do the same, assuming I set the fonts for the score before generating the parts. Similarly for most other style settings.

The only settings I might expect to revert to a more general default rather than being inherited from the score are the page layout settings. In 1.3, all style settings were inherited, and the first thing I always had to do when generating parts from a score was change the page layout settings back to something "normal" (scores are often horizontal and at a smaller Space setting).

Attachment Size
big-arial-title.mscx 12.22 KB

Comments

Title Style settings not propagated from scores to parts General style settings not propagated from scores to parts

It seems this is now working for text styles, so the original steps don't apply. However, it's still an issue for general style settings and for the chord list.

For instance:

1) new piano score
2) style / general / page
3) grand staff distance: 2sp
4) OK
5) file / parts
6) new all
7) OK
8) view piano part

Result: grand staff distance still at default

See my comments in a related issue starting at http://musescore.org/en/node/24688#comment-95627

I have a proposal I will try to implement later when I have time but I wanted to run it by folks first.

I propose having parts always start off inheriting score style settings. We should *then* load the "Style for parts" file if specified. That way, the style for parts can be only a partial style - just page layout settings, for instance - allowing all other settings to be as inherited from the score. That assumes it is easy to create such a partial style - I know I've created them by hand before. As an alternative, we could perhaps have the parts inherit the score style, but then override the page layout settings with those from defaultStyle or baseStyle to get more or less the same effect. My desire is for parts to inherit "most" things from the score but have page layout settings more generic.

With this in place, I would care much less about having "Style for parts" be per-score, although ultimately I'd still like to see that someday.

Status (old) active patch (code needs review)

Here is a proposed fix:

https://github.com/MarcSabatella/MuseScore/compare/24631-part-style?exp…

I copy the main score style into the part, then if partStyle is set, I load that file on top of that. This way, if you have a (perhaps hand-edited) partial style file, you can use it to override just certain aspects of the score's style. However, saving a style normally creates a full style file.

Also, my code fixes the problem at hand, but leaves an issues where text styles show different behavior from general styles, and I don't understand why. Without my fix, text styles were the only thing from the score that was ever inherited by the part. With my fix, everything is normally inherited, but if you *do* set the "Style for part" option, the text style in that file is ignored - the text style for the score still wins. This isn't right, but I can't tell where this is happening. It sure seems like the text style in the "Style for part" is getting loaded into the part's style.