Hi, I’m a software engineer and DJ. For a long time I’ve wanted to be able to DJ from the command line, mostly for playback and music selection controls, and leaving mixing either to external software or hardware, but if mixing and effects is desirable as well then maybe I can make that work too. I’m making this thread because as I’m planning out how I’m going to do this, I’d love to hear any feedback on the idea and to have a discussion about what would be useful for the end user (you) and for developers to make this happen.
I’ve looked over the launchpad for the project and I can’t find any requests for this feature (which do exist) that have gained traction. If there truly isn’t anyone working on this then I’d like to give it a try for myself, but of course will welcome anyone that wants to help in any capacity.
If there are any feature ideas or requests, or developer suggestions for how best to work with mixxx, particularly with regards to how I should interface with the core of the program so that I can programmatically interact with it without having to launch the GUI, or any other relevant discussions like it I would love to hear about it.
My first idea, besides becoming more familiar with the codebase and documentation which I’m already doing, is to make use of the control system to create a controller in software. A program that uses some ncurses-like library that runs separately from Mixxx, maybe one program instance for each deck so software tools like tmux or window managers like i3wm can be used to keep the user on the keyboard but still allow easy and fast deck switching for controls, all inside separate terminals. At first I think I’m just going to keep some fairly minimal features like play/cues, tempo +/-, loop, browse tracks, select & load track, and basic display of info maybe something reminiscent of older CDJs like the 1000. But if that’s successful I’ll probably move onto some more fun stuff, like maybe auto-cues, mixing controls, fx controls, maybe even plugin controls if things go really well, who knows.
Cheers, and let’s have a good discussion.