Comment 4 for bug 1180872

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Sorry for not being super clear. The bug title suggests I wanted to put a disabled state on each CO but I agree that that is not a good fix. I was talking about connecting indicator COs (e.g. [Channel1],passthrough) to the enabled state of widgets or groups of widgets.

I'm talking about solving the GUI feedback problem of representing that the entire mixer section is not used if no master or headphone output is selected. Or that the deck controls have no effect when passthrough is enabled. Or that EQs have no effect if the user disables EQs (not something we support yet) or disabling the low-filter knob when the low-filter-kill is active.

If skin writers could hook a [Master],mixer_enabled CO to the enabled QWidget property of the WWidgetGroup that contains all the mixer widgets then all the mixer widgets would automatically become disabled when the mixer_enabled CO is 0. We will also support hiding the mixer section entirely but that I think should be a user selected action rather than an automatic one. Hiding widgets isn't always an option.

This a real usability issue -- for example users being confused that the microphone talkover button doesn't work when they haven't configured a mic input. The widgets should render in a disabled state. We would get far fewer confused people on the forums.

WKnob/WDisplay already support the WWidget disabled state. I'm talking about combining the WWidget disabled state with the QWidget enabled property and extending support for the enabled/disabled state to WWidgetGroup/WWidgetStack/WKnobComposed/WSliderComposed/WStatusLight/WLabel/etc.

This leaves representing the disabled states as an option to the skin writer. Similarly, the controller preset writer also has the option to represent the disabled states if their controller has the option.