Ottava: properties "Line style" and "Line width" grayed out

• Oct 12, 2014 - 08:06
Type
Functional
Severity
S4 - Minor
Status
by design
Project
  • Select an ottava line.

  • Look at the properties "Line style" and "Line width" in the Inspector.

Actual result: the "Line style" drop-down list is grayed out, so does the "Line width" spinner.

Expected result: fields not grayed out.

Config: MuseScore daf97e1 on Xubuntu 14.10.


Comments

Thinking aloud a little here:

This has to do with management of the "Styled" attribute for these properties. It seems the idea is that for properties whose default value are controlled by Style settings, properties at their style-determined-default values are considered as STYLED, ones explicitly changed by user show as UNSTYLED (properties not affected by Style settings at all show as NOSTYLE).

Currently, STYLED properties are greyed out and have their reset buttons disabled, which I guess is meant to indicate that the value you see displayed is just the default value from the Style setting. Maybe the idea is that seeing the value greyed out might clue you in that you could simply change the Style value to change the setting? But even though it is greyed out (indicating the value is at it's style default), you can change it, and that sets the property attribute to UNSTYLED, which then ungreys the control and enables the reset button.

Anyhow, the bottom line is, it *seems* this behavior is deliberate. And if you look at it the way I just explained it (which was really me explaining it to myself as I explored the code), it kind of makes sense. But I wonder if instead of greying out the control to indicate a property that is at its Style-determined default value, we should have an explicit "Style Default" entry in the drop down list?

Thanks for your comment. Some thoughts:

  • I think that using grayed out effect for elements that can be changed is not ergonomic. This effect is usually used to indicate that a field can't be selected or edited. Indeed, it's even more confusing because it's used in the Inspector to indicate that. Examples:
    • reset value buttons when the value is the default one
    • unclickable buttons in the section Select (example: when we click on a quarter note, the only button not grayed out and clickable is Stem).
  • Is it really deliberate? Because it's grayed out only for ottava and pedal lines. All other lines don't have these fields grayed out.
  • I'm not sure I understand what you mean by Maybe the idea is that seeing the value greyed out might clue you in that you could simply change the Style value to change the setting?
  • Right now, it seems to me that in the Inspector, the way used to indicate that a field has its default value is to gray out the reset value button, not the related field itself. I think that's sufficient to understand that the field value is the one by default.

Well, the code does grey out any property that reports itself as "styled". Only properties that actually *are* controlled by style settings will do that. Only ottavas & and pedal have (working*) style settings for line style, and sure enough, these *are* all greyed out. Are there specific lines you are seeing as not greyed out even though they are controlled by a style setting? If so, then those are bugs.

While agree that greying out these elements is surprising, there is a sense in which it makes sense. Because these are properties whose value come from style settings, they are not "fixed" in the way other properties are. That is, you could look at an ottava, see it set to Dashed, then go to Style / General, change the default to Solid, and sure enough it changes to Solid. Most properties are *not* like this. There is no style setting that will override your specified "Horizontal offet", for instance. The idea that some property settings are *pervasive" (in the sense that once set, nothing you do elsewhere in the program will change them) while others are "ephemeral" (in the sense that they are subject to settings made elsewhere in the the program" is an important distinction, one definitely worth conveying in the Inspector, so you know if a setting you are looking at is guaranteed to stick or whether it is just reflecting the current state of some more global setting.

What do I mean by "Maybe the idea is..." - well, let me re-phrase. I am guessing the *reason* the property is greyed out is the following. Imagine a user adding an ottava to his score, seeing it dashed, and deciding he wants it solid. He goes to inspector to change it. Upon seeing it greyed out, hopefully that causes him to think, "Hmm, I wonder why it's greyed out? Maybe there is some other setting somewhere that is overriding this", and this eventually leads him to find the style setting he didn't know existed. Then he can change the style setting and have all other ottavas automatically fixed as well. Of course, seeing "Style Default" in the dropdown would accomplish that even more directly, but that only works for things like dropdowns. For checkboxes - like "Numbers Only" - there would be no easy way to indicate "this value comes from the style setting". And that *does* seem like a useful thing to indicate.

The reset button greying is different. It is greyed out any time the value is different from its default, but that has nothing to do with whether or not the property itself comes from a style setting. That is, the greying only affects those relatively few properties whose default values are controlled by style settings. So again using the example of "Horizontal offset", the reset button is greyed out if the value is 0.0 because that is the default. But it is not greyed out, because that 0.0 value is "pervasive" - there is no Style setting that will cause that to change. Whereas for "Line Style" et al, the value you see in the Inspector is actually subject to change if you alter the Style setting. That is the additional information that greying is attempting to convey.

Again, I agree greying is not a great way to indicate this, but I'm not sure what is.

*Voltas also have a style setting for line style but it doesn't work :-)

Thanks a lot for this long explanation. Now I understand what you meant in your first comment. I see now that it makes sense, though it may not be fully comprehensible without the explanation. My first impression was: "It's grayed out. Why can't I change this value? Wait, I still can change it. Weird. Probably a bug. I'll fill a report." :-) Then: "Hairpins don't have this field grayed out. Definitely a bug." :-)

For checkboxes - like "Numbers Only" - there would be no easy way to indicate "this value comes from the style setting". And that *does* seem like a useful thing to indicate.

What if the label of checkboxes or fields was in italic when the value comes from style settings, and "normal" (not in italic) when it's from the user?

Anyway, no matter the visual effect retained, I suppose it will be explained in the documentation about the Inspector (the upcoming documentation for MuseScore 2).

Status (old) active by design

I thought about this for a few days. The fact that only the value is grayed out, not the label, seems a good compromise to limit confusion with not selectable/not editable/read only fields:

labels.png

The only exception is checkboxes:

checkbox.png

However, it's probably necessary to gray out the label too because a grayed out unchecked box would be practically indistinguishable from a not grayed out one.

Lets close the report as "by design".

Attachment Size
labels.png 5.88 KB
checkbox.png 2.72 KB