Status: This specification is in drafting. This is a meta-specification which is dependent on the outcomes of other specifications. Please feel free to add comments.
This project entails a complete revamp of many parts of Mixxx.
The internal mixing engine must be revamped to support more than 2 decks being mixed together.
The UI and skin file are heavily 2-deck centric. The skinning system must be either heavily modified or re-written with N-decks in mind from the start. A feature specification for this is in drafting: Skinning Engine
Bill Good is currently working on External Mixer Mode. This will allow Mixxx users to detail where they would like outputs to be routed and mixed. Pending his design, there will be a flexible way for users to route additional sources to their preferred sinks.
This work breakdown structure (WBS) will become more detailed as the design above becomes more thorough and complete.
1. N-Deck Support 1.1 Refactor the engine to support multiple decks / audio channels. 1.2 Strip all 2-deck centric code out of random parts of the Mixxx codebase. 1.3 Update preferences dialog to allow routing of each deck to an appropriate sink. 1.4 Update/rewrite the skinning engine to allow for N-decks 1.5 Handle corner cases (e.g. what happens when the user wants more decks than a skin shows) 1.6 Build a skin that has more than 2 decks in it.
The lp:~mixxxdevelopers/mixxx/features_hydra branch contains all the work that's been done so far.
If you are looking for a place to contribute to this project, please tackle making a part of Mixxx on this list flexible enough to handle N-Decks.
”[ChannelN]” with ”[Channel”+Controller.Deck+”]”)If you're interested in helping to code this feature, sign up your name below: