Support 4-deck control with 2-deck controllers
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
Fix Released
|
Wishlist
|
Be |
Bug Description
Lots of controllers have hard-coded bindings to Channels 1 and 2, but now that mixxx supports 4 decks this may become a problem.
If I have one of these controllers, I might want to have a magic "layer" button that switches the controller from channels 1 and 2 to controlling decks 3 and 4.
Or, I might have two controllers, one that I use for decks 1 and 2 and one for decks 3 and 4. And I know of at least one controller that I'd want to be 1 and 3, with the other being 2 and 4.
Yes, controller configs will have to be rewritten.
So I think controllers should abandon [Channel1] and instead use a keyword like [ControlA] and [ControlB]. Internally in Mixxx, through user preferences, we can map ControlA and ControlB to whatever channels the users wants on a per-controller basis. And if the user hits the layer button, the ControlA switches from Channel1 to Channel3. Note that we'd have to remap midi lights on the fly.
This is probably post-1.12
Changed in mixxx: | |
importance: | Undecided → Wishlist |
milestone: | none → 1.13.0 |
Changed in mixxx: | |
status: | New → Confirmed |
Changed in mixxx: | |
status: | Fix Committed → Fix Released |
A group-changer control abstraction may be the right way to go for this.
Another option is to skip putting the abstraction in the control layer (to avoid complicating it) and instead put it in the controller mapping / script layer. We have full control over when controller scripts and mapping look up controls -- they do so on the fly every time so it can be changed on the fly as well.
A related issue is that all skins should support "highlighting" a deck. It could be done with a simple [ChannelX] ,highlight CO to show that it has the focus of a controller. (Need to think about what that looks like for multiple controllers)