Deferred button execution (master button)
Allow the user to link button controls to a master button that executes all the linked actions when pressed.
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Ferran Pujol
- Direction:
- Needs approval
- Assignee:
- Ferran Pujol
- Definition:
- Drafting
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Imagine yourself in the heat of a set. You have four decks running and you perform a cool build-up using the filters, the effects, maybe some eq kills...and you later want to turn all this things off at the right moment while possibly hitting a couple of hotcues to bring your tracks to the right point. In this situation you have to press maybe 3 (4,5,6...) buttons in no time. This can be tricky with a controller and maybe impossible if you have more than one.
Here's the solution. You have one master button and you can link other buttons to it. And then when you push the master button, all the other buttons are automatically "pressed" for you. Then all the links are automatically broken so the button is ready for another usage.
I've tested this concept with traktor and it is superb! It allows the dj to do more, and with Mixxx supporting 4 decks this would be very handy!
Considerations:
-We need two buttons: the master button, and a link/unlink button.
-Skins must provide some way to tell which buttons are linked. Glowing buttons? Whatever differentiate the linked buttons from the others may only be visible only when the link/unlink button is kept pressed down.
Sean says: Maybe we can add this to the controller scripting system by adding a functions that add & delete a MixxxControl to/from a QList of them with values for each, and a function to trigger them all and optionally clear that list. This would need to be done in the Controller class but shouldn't be too difficult. The challenging part would be providing access to add & delete arbitrary controls to that list from the GUI (and possibly scripting.)
Daniel said: Cool idea. That could be also implemented like a lighting scene panel. A button grid, where each button fires a script, or just a list of controls with the desired values.