Changing expression style changes staff text style

• Jul 2, 2019 - 19:14
Reported version
P2 - Medium
S4 - Minor

In the attached score: text test.mscz

The location for the text in the second verse is the only expression text. The position has been changed to below. Press the S to apply the style and notice all of the others (which are staff text) are moved below the staff.


Priority P2 - Medium

This is currently by design, since expression text is staff text, just with a special text style, and placement is an attribute of the element type, not the text style. Probably eventually placement should be included as part of the text style.

Since they are listed as separate styles and expression text is very commonly below the staff, they should be separate.

But to be clear: expression text is set to below by default, whether adding via shortcut (Ctrl+E) or palette. So there shouldn't be a need to hit "set as style" in the first place - everything works as it should already without pressing it.

Anyhow, I agree that ultimately it would better if default placement were part of text style, so that even this usage would work as expected.

Perhaps this is a shortcoming in the import process. The score I was working on was created in version 2. I'm in the process of correcting it and assigning the expression text style to an existing staff text should move it below. This didn't happen.

This is for the same reason: placement is not an attribute of the text style, but of the element type. You will indeed need to flip it below manually. The style setting comes from Format / Style / Staff Text, so it's above by default. And because this is an element-level style setting, changing it does indeed affect all elements of that type. So, don't press the set as style button, just leave it as is. Which does indeed mean that any other staff texts you want to change to expression, you'll need to do both - set text style to expression text, and set placement to below - because again, placement is not a property of the text tyle but of the element.

When you try an expression text from scratch and you'll end up in the same place in a single step: element type is staff text, default placement is therefore above, but the placement for the expression text you just added is set to below, because that's what both Ctrl+E and the Expression text on the palette automatically do.

Adding placement to the list of properties included in text style is certainly possible, but would break compatibility. Meanwhile, perhaps a command (or even plugin) could be created to "expressionize" staff text - change the text style to expression and the placement to below - in a single operation.