Skin Highlight Controls: highlight Skin Element Groups through controller scripts#15438
Skin Highlight Controls: highlight Skin Element Groups through controller scripts#15438absorb-it wants to merge 18 commits into
Conversation
allow highlighting of Skin elements with controller command. Useful to use 2 deck controller for 4 decks.
|
the preview folder contains some screenshots, and will not be part of any 'release' :) |
|
This is indeed a neat helper, thanks! What I don't like is that we now have borders per se, regardless if there's a script using the highlight controls. Regarding the alignment of un/focused regions, we may also set a What do you think? |
right!
Thought about this and searched trough the code - there is a third option:
This would solve the requirement to give the user some main switch to enable/disable this setting via some controller or skin option - some might like this feature, others might find it too offensive. With this approach it will be even possible to allow this per Settings configuration sidebar on request. What do you think? |
|
Over the day I thought about single-deck controllers or pad-only controllers - it makes sense to implement this in a way that every controller implementation can benefit from it. I think the implementation should be as universal as possible. Therefore I suggest the following approach with adding some more controls:
It's not clear if all those elements can be easily highlighted, but that's something I can figure out on the way. The approach will allow us
What do you think? |
|
I think for now we should stick to the basic use case, changing the deck controlled by a controller section. And that is usually the complete deck (transport controls, cues, pitch, mixer column) and effect units (see (1) below). (1) For Fx units we already have |
added option ([Skin], highlight_input_allow) to globally allow or deny highlighting from external devices. All changes to layout only applied if external highlighting is enabled (still requires restart, to be fixed)
if global option is required, borders might be activated - redraw is required
including tooltip
|
Implemented now some 'global' option to allow the external highlighting or not. If this is not activated, the layout is not changed a all. Separate options for all 4 decks are available and formatting is done with qss like Implemented options are now: If this seems to be ok like it is I will go trough all styles and try to add some suitable effect for this external highlighting in a final step. |
|
Interesting, this works without defining any |
added some properties in 39258cb , just did it the same way as "highlight" was implemented with 05488db - and "just works". Most trouble I had finding some trigger to redraw the widget when Border is shown or not. This got solved with 6e64827 Did I missed something for a clean implementation? Had no issues / warnings on the terminal so far. |
|
Tonight I will change the naming of the options from "highlight_deck[1-4]" to "highlight_deck_[1-4]" (additional underscore) to keep this aligned with the other options. |
I'd prefer |
renamed highlight_deckX to highlight_[ChannelX] and adapted similar names
done with 8bc1050 |
|
added documentation PR mixxxdj/manual#802 |
removed non-required padding between waves in controller-highlight mode
|
I'll try to do a manual test soonish. FWIW I'm not a big fan of these 5px borders. Why not stick to 1px like focus borders in all skins? |
|
I think a bit more granularity is indeed required, though I don't think we need the extensive bitmask pattern you proposed above. Can we go with deck | waveform | mixer for now? What do you think? |
changed highlighting style to be the same as all other highlightings
splitted highlight_channel into separate calls to highlight_deck, highlight_mixer and highlight_waveform
I found the partially bigger borders more obvious and more appealing, but anyway, I'm not sticking to this. And I can change this for my personal skin if I miss it too much :) Changed to standard highlighting in c826d32 |
Implemented as suggested in e1509c3 , a lot of options... But as we both agree the a more fine-grained control might be required, this is the way. |
|
This PR is marked as stale because it has been open 90 days with no activity. |
|
Anything than wait that can be done to get this implemented? (bot added stale label) Best regards, Rene |
|
Sorry this had to wait so long. As ususal priorities shifted and this has been pushed off the table. |








New feature suggestion: allow highlighting of Skin elements with controller commands. This can be especially useful if you activate skin element groups (like one deck) to be controlled with your hardware controller, while other similar element groups can only be controlled from the mixxx GUI.
This is especially useful when you are going to use a 2 deck hardware controller for 4 decks. Instead of one small blinking LED indicating what Deck you are working on, this can be cleanly indicated in the GUI. If you are using a 2-deck controller to play with 4 decks you will have a look on the GUI anyway.
The example implementation was done for LateNight skins and highlighting of waveform, deckview and deck-equalizers as a group. Maybe it makes sense to make the selection about what to highlight more fine-grained to increase flexibility.
Highlighting can be triggered with
engine.setValue("[Skin]", "highlight_deck[1-4]", true/false)I'm open for suggestions.