Text styles not applied after Load Style...

• Jul 19, 2016 - 17:10
Reported version
S4 - Minor

There are several bug reports similar to this issue (particularly #24436: Changes made in Text Properties do not affect all selected elements). It may be that the problems that occur after a Load Style... are related, but it is not clear as 1) there are no text elements selected when loading a style and 2) if the text elements are selected, a Reset Text to Style seems to fix the problem for all selected elements (which doesn't sound like the problem in #24436: Changes made in Text Properties do not affect all selected elements).

I also think I saw some comments that said that this problem occurred when a MuseScore 1 file was loaded into MuseScore 2.

In my case, I created a file using MuseScore 2. This is the first attachment. I then modified the styles. The resulting file is the second attachment. I saved the styles and this is the third attachment. Finally, I reloaded the original file (before its styles were changed) and executed Load Style... The result is the fourth attachment: nothing changed. Selecting each element type and clicking on Reset Text to Style applies the new styles to the existing elements. This is a pain as there are a lot of text styles.

The general styles appear to be applied immediately.

If this was working correctly, the second and fourth attachments would look the same. In the fourth attachment, new elements do get the loaded style.

Apologies if there is actually an existing issue for this. I tried a variety of search terms and even looked in all issues, not just the open ones. I never found an issue that I thought was exactly the same as what I am reporting, but I may have missed it.


IMO what is needed is that when the style of a particular score is saved (presumably to be used again later as a template) then every characteristic of that score (except the specific notes and values particular to that score) should be saved and should load into a new score in their entirely when Load Style is clicked and the style in question is selected.

I am referring not just to text style but also other score attributes that the user may have selected and included, such as Tools setting for measures per line, size and positioning of rehearsal marks and page numbers, etc. Everything.

Line breaks aren't settings, though - they are are actual elements added to your score, like notes and dynamics and lyrics. All actual settings *are* saved, but score content is not, nor should it be.

Size and positioning of rehearsal marks, page numbers, etc *is* controlled by style settings, though, so these already are saved as part of your style.

"Line breaks aren't settings, though"

Well, then, IMO they ought to be regarded as such (at least as an option) so that they can be incorporated into a template. Line breaks are page layout or format. They are not at all in the same class as notes, dynamics, lyrics, etc. which are specific to the particular musical piece in question.

You can't pretend something is something it isn't. A setting is something that is a single number or other value that applies to the whole score. Line breaks aren't like that, and *cannot* be like that in general. I guess you are in the habit of always inserting them every four bars, but the vast majority of scores are not like that. They have different numbers of bars on different lines, which requires actual line breaks to be inserted in the score to lock in if you don't just want to go with the default layout. Even for lead sheets that are "mostly" four bars per line, very often the first line has 5 to account for the pickup, also there might be 5 or 6 if there are voltas, maybe fewer bars on the last line before a coda, etc. That's why line breaks are inserted individually, even if there is a command to automate the process to get you started,

You seem to be talking in circles in your defence of the status quo, which I don't understand. I never suggested that a template should be carved in stone and not capable of being overridden as desired.

I have nothing further to add. We will have to agree to disagree.

Well, I think you are misunderstanding what I am saying, then. Yes, you can override settings. But if something is a setting, it applies to the whole score. So if you had a setting of "break every four bars", you could override it by changing to 3 instead of 4 so now you would have lines break every 3 bars for the entire score. But there would be no way to override it on a line by line basis, which is what would actually be needed.

Not that it would be impossible to redesign the layout algorithms of MuseScore so that you could have a setting to control the defaults and then also provide some brand new mechanism to override this line-by-line. But that would be an enormous undertaking for almost no benefit when it takes all of *seconds* to add line breaks currently. So as this stand now, without a major change to the layout algorithms and the addition of a new facility to override this line-by-line, there is simply no way to treat line breaks as a setting.

Before going off in a huff, you might want to explain how you use line breaks and why you would need them saved in a template.

Line breaks seem to me to be pretty in the same class as notes. Whenever I use them they are dependent on the specific music I write. I'm hard pressed to understand how they could be viewed otherwise.

There may be some specific tasks in which a pre-determined set of line breaks would be useful. I can't think of any. If you could explain why you need this feature, perhaps someone could suggest a way to achieve it.

I'm with Marc on this, though. It's not part of a styles system, nor should it be. But there are other ways to produce templates, so there may be other solutions for you. Or perhaps you've seen this feature in another notation program and can describe how it's applied there.

Status (old) active needs info

Could someone provide a sample score and precise steps to reproduce whatever is believed to still be broken?

Similar but not the same.
This issue ("text styles not applied") reports that style changes from an mss file are not applied. Changing them in the text style window works correctly.
Your issue ("voltas do not obey...") reports that for extisting voltas a style change in the text style window is not applied.
This works: select the volta(s) that you want to change and apply your changes in the inspector.
Try also: Right click a volta and take a look at the select options in the context menu.

Are we talking about 2.1 or master? I am testing with 2.1.

If I understand correctly, the only two problems reported in the document posted above are with respect to chord symbols and tempo, is that correct? Specifically, after a load of a text style that changes the text style for those two types, existing elements of those types are not updated, is that correct?

Using 2.1, I can verify this for chord symbols, but not for tempo. The tempo marking in your sample score *was* updated - it moved much higher just as the style file you created calls for. And if I edit the style file to also change the size, that is honored as well. If you are still seeing problems with tempo in 2.1, can you just post specific steps to reproduce right here in a comment?

As for chord symbols, that I can reproduce in 2.1. Pretty sure the issue is that we need to call "render()" on the harmony elements after a style change, because chord symbols are not simple text and much needs to be recalculated about them after any style change. I think we do this for the General style change within Harmony::styleChanged(), but not the Text style change.

I tried to put down everything in detail in MSCZ_TextStylesNotApplied.doc.
I used MuseScoreNightly-2017-03-08-1741-2.1-7a20001 for all the test steps.
I tested only those style changes that I need for my current conversion project.
The behaviour is different if I apply my pgh_style_nightly.mss by calling "Load Style..." from the menu or by trying to apply it by calling it with the -S option on the command line.
The style for chord symbols is not applied in both cases. The style settings for tempo are applied correctly when calling the .mss file from the menu but NOT when the style file is called from the command line.

Status (old) active needs info

I'm still unclear on how to reproduce a problem with *tempo* specifically, in 2.1, or if it is being claimed the problem is only in master. I *think* the claim is that the problem is only master, and only with command line invocation via "-S, but that wasn't totally clear to me from the document.

That's why, *if* it is being claimed there is a problem in 2.1, I could use a new set of steps directly here, something very simple like:

1) load attached MSCZ file into 2.1
2) load attached MSS file
3) observe that tempo is not updated

Again, when I try that with the MSCZ file and MSS file attached to response 20, it works - the tempo *is* updated. So we still need info on whether or not it is being claimed there is a problem with 2.1 and tempo. If it *is* being claimed, could new test files that clearly demonstrate the problem using the above steps (or whatever other steps are necessary in order to see the problem) be provided?

Just take the files already provided and apply the .mss file by calling MuseScore on the command line:

nightly.exe "Ap Shenkin.xml" -o "ApShenkin_5.mscz" -S pgh_style_nightly.mss
nightly.exe "ApShenkin_1.mscz" -o "ApShenkin_6.mscz" -S pgh_style_nightly.mss

When doing that, tempo is NOT updated.
When applying the same .mss file by calling "Load Style..." from the menu tempo is updated correctly.

One more thing: after
nightly.exe "Bielbie_s Hornpipe.xml" -o "Bielbie_s Hornpipe.mscz" -S pgh_style_nightly.mss
the vertical position of voltas in the mscz is set to 0. It is taken neither from the mss file nor from the default setting in MuseScore.
The same happens when I open an XML file from MuseScore's menu File > Open...
I would like to have the possibility to specify the volta position while converting xml to mscz.

The status of this issue is still "needs info" / "unassigned"
Can I expect it to be fixed in 2.1?
Does it make sense if I test it in the 2.1 RC? (probably not yet)

In reply to by Jojo-Schmitz

Is somebody working on this issue?
With a recent nightly build of V2.2 "load style" from the menu works fine.
But the issue with the command line that I reported 2017-03-13 is still unresolved. The same problem that I reported for "Tempo" also exists for "Title", "Subtitle" and "Composer": font settings are not taken over when "Load Style" is called via -S option on the command line. The same .mss file loaded from the menu works fine.
This is very annoying when I want to apply the same style to many songs. Currently I'm modifying a complete book with 200+ song files.

Since the remaining issue you are talking about seems to be with the command line interface only, it's a separate issue, and should be filed as such. Please open a new issue with a sample score and precisely step by step instructions to reproduce the problem, listed directly in the issue itself. That will make it much easier to investigate and track and will greatly increase the chances of this being addressed for 2.2.

FWIW, another way to make mass changes via the command line would be with a Perl script or some such to modify the MSCX file directly.