Palette Lines: Text style bugs

• Jan 20, 2016 - 19:24
Type
Functional
Severity
S4 - Minor
Status
closed
Project

Nightly d08e14c (4 Jan 2016) on Win 7 HP

There are still a few issues in the nightlies with the text styling of applied palette lines:

Custom Voltas

1. Open Advanced workspace, Lines palette. Apply a volta to the score.
2. Save the volta to user workspace.
3. Set the Volta style in the menu to 20 pt, RED.
4. Apply the volta from user workspace to the score by double-clicking and again by drag-and-drop.

Expected result: Voltas conform to correct Volta style.
Actual result: Volta does not adopt global style.

Custom Text lines

1. Open Advanced workspace, Lines palette. Apply a plain straight line to the score.
2. Modify the line by adding some text to it in "line properties."
3. Save the line to user workspace.
4. Set the text line style in the menu to 20 pt, RED.
5. Apply the text line from user workspace to the score by double-clicking and again by drag-and-drop.

Expected result: Both lines should adopt the global style
Actual result: Only the red color is adopted, not the new font-size!

Advanced workspace: Ottava

1. Apply an Ottava line to the score from the Advanced palette.
2. Set the Ottava style (in the menu: Style > Text) to 20 pt, RED.

Expected result: No change to the applied Ottava. No change to the values in the "line properties" dialog.
Actual result: The new values appear in the "line properties" box (although the Ottava's appearance is unchanged).

User workspace: Ottava

Reset the ottava to the default black 12pt.

1. Open Advanced workspace, Lines palette. Apply an Ottava to the score.
2. Modify the Ottava by replacing the tag with the text "8va".
3. Save the line to custom workspace.
4. Set the Ottava style in the menu to 20 pt, RED.
5. Apply the Ottava from custom workspace by double-clicking to the score.

Expected result: Ottava obeys new style
Actual result: Ottava adopts style but the tag also reappears in "line properties." (Note: Drag-and-drop Ottavas behave as expected.) See https://musescore.org/en/node/85401.

6. Now change the Ottava style (In menu: Style > Text) to 12 pt, BLACK, say.

Expected result: No change to the applied Ottava. No change to the values in the "line properties" dialog.
Actual result: The new values appear in the "line properties" box (although the Ottava's appearance is unchanged).


Comments

d54fb0126b

Custom Voltas --> I can't reproduce
Custom Text lines --> I can't reproduce
I wonder if I understand correctly what you mean by "Set the text line style in the menu". I go to Style > Text and do the change.

To me, the real issue is that a change of text style should apply to existing lines and currently doesn't.

After some more testing, I discovered you may need to need to change the volta/Text-line font before saving it to the custom workspace. So the amended instructions are as follows:

Custom Voltas

1. Create a new score using the "Treble clef" option in "select template file."
2. Open Advanced workspace, Lines palette. Apply a volta to the score.
3. Right-click on volta, select "Line properties > text properties" and change size to "5."
4. Save the volta to user workspace.
5. Set the Volta style (Style menu > Edit Text style) to 20 pt, RED.
6. Apply the volta from user workspace to the score by double-clicking and again by drag-and-drop.

Expected result: Voltas conform to correct Volta style.
Actual result: Volta does not adopt global style.

Custom Text lines

1. Create a new score using the "Treble clef" option in "select template file."
2. Open Advanced workspace, Lines palette. Apply a plain straight line to the score.
3. Modify the line by adding some text to it in "line properties." Then change font to "5" in "Text properties."
4. Save the line to user workspace.
5. Set the text line style (Style menu > Edit Text style) in the style menu to 20 pt, RED.
6. Apply the text line from user workspace to the score by double-clicking and again by drag-and-drop.

Expected result: Both lines should adopt the global style
Actual result: Only the red color is adopted, not the new font-size!

Then this is expected behavior to me. You customize the volta text properties and you put it in a palette. The volta should obey the style now.
It works exactly the same for normal staff text. Add a staff text, change the font or the size, put it in a palette and use it, change the text style. The staff texts will not change.

You seem to be inferring that it is correct for the palette text-line to retain the local text properties it was given when it was saved to the palette, rather than adopting the global style in the style menu when it is reapplied to the score. Or perhaps there is a misunderstanding.

I believe the applied palette line should always adopt the global style set in the style menu.

Yes, I think you understand correctly.

the applied palette line should always adopt the global style set in the style menu
Any customized text item is not designed to obey styles. The style is applied only to "vanilla" items coming from palette or from shortcuts. It should works the same for Text or Text lines. For Text element, we have a reset to style button in the inspector. We don't have this for text lines, so it could make a good feature request.

I would agree that the "correct" behavior is that any non-customized attributres get updated to use current style defaults, whereas any customized attributes are preserved. In fact we work pretyt hard to make this true. But text attached to lines is a bit different from ordinary text. And yes, it would be nice if reset worked. It's a bit tricky in that there are potentially three different text elements attached to a line (begin, continue, end). So the Inspector can't *really* reflect the status of the text - they might well be in three different states.

So the correct behaviour for palette text and text-lines is:

1. If applied from a preset workspace (Basic or Advanced), they adopt the global text style set in the style menu.

2. If applied from a custom workspace, they adopt the local text-properties (set in "line properties when the symbol was saved to the palette).

No. It has nothing to do with what palette or workspace an element came from. As I said, "any non-customized attributres get updated to use current style defaults, whereas any customized attributes are preserved". Meaning, for each particular attribute (like font size, line thickness, etc), if you customized it on a given element before adding it to your palette, then that customization remains if you later add that to another score. If you did *not* customize a given attribute for a given element, then when you place that element in another score, it will use the style defaults for the score.

In other words, it works exactly as common sense would suggest. If you add an element to a palette, and you take the time to customzie something about that element before adding it to your palette, it's assumed you will want that same customization to be applied whenever you add that element to a score. Whereas anything you left at the default setting before adding the element to your palette, it's assumed you would want it to continue to use the (current) default whenever adding that element to a score.

Not saying we always hit the mark on this, but as I said, we actually do take some pains to make it so.

OK, I understand the rationale now. But. I believe that the following behaviour would be easier to understand for users:

* Applied non-custom elements: All attributes assume global text style settings

* Applied custom elements: All attributes retain the user-settings made in "text properties" before saving to the palette.

I'm not quite sure the point you are making. As far as I can tell, you just wrote the same thing as me, but in slightly different words, but limited to attrributes you can text via Text Properties. Anyhow, what you wqrote *is* how it works.

But there is a subtle difference (if I've understood correctly) …

Currently, the attributes of a customised palette element exhibit a dual behaviour: some values (customised ones) are retained on application, others (non-customised ones) change to the global style settings.

But, perhaps it would be better if for applied customised palette elements, all attribute values are retained (none default to global style settings).

That way, when a user applies a customised palette element to the score it always retains the appearance that it had when the user saved it to their custom workspace.

That's the exact opposite of what one would normally want. Style options exist for a reason - so they get applied to new elements placed in a score by default. Why cripple customizable palettes by not allowing them to take advantage of this basic expected behavior? If I create a special "bold face staff text" that is just normal staff text in most respects but bold face, I want it to apply as such to any score. I don't want to have 10 different versions of that same element on my palette to handle the 10 different styles I might use.

There are arguments, no doubt, for and against, the current behaviour of applied palette lines.

Perhaps an option should be added to the program to allow the user to set the exact behaviour they want: Either "attribute-based" (the status quo) or "element-based" (the proposed alternative).

PS: This issue can be closed, if you wish, as the bug reports are no longer valid.