Comment 2 for bug 1180872

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Here some thoughts about it (please correct me If I am wrong):
* Disabling control widgets will only effect the GUI, not the connected controllers.
* the "disable" CO will clutter the CO interface
* permanent disabled controls for all COs will clutter the GUI
* Disabled controls may need CPU time

- Is there a use case for the requirement to manually switch the disable state while paying life?
- Do we need a real control Object for disabling a CO like "play_disable"?
- Do we need to track CO changes while a CO is disabled?

For now, I can see two use cases:
1. Indicate that a control is temporary out of function
2. Hide some controls because they are not needed for the specific setup or mixing style

I think some of the issues of 1. are part of the cdj branch https://github.com/mixxxdj/mixxx/pull/65

The branch issues a slit of a control into a Control and a Control Indicator.
IMHO this is the best solution for use case 1. because it is useful for GUI and Controllers.
Currently it uses Blink patterns for indicate additional states. So it looks like we really need to find a way to extend this for less eye catching non blinking solutions inside the GUI.

A "play_disable" control for instance has the disadvantage that all indicating devices have to calculate what to show from the original control and the disable control.
IMHO a pre-calculated indicator CO is much better, because it is easy to use and we can do the calculation inside Mixxx, able to adapt special cases like done in the cdj branch.

For use case 2. we have already solutions in 1.11 eg. the talk over button.