Mixxx: GPL DJ Software
39 comments
·January 20, 2025djaychela
jesprenj
Can you share the program that reads the now playing track? We use Mixxx at a student radio station and we could maybe try using something like this to show the now-playing track on the website.
Sn0wCoder
I have not used Mixxx nor do I have it installed, but might download to check it out.
But..... If its always in a SQLite DB you should be able to use DB Browser for SQLite to inspect the DB Schema and then write a bash/python (whatever) script to pull the info out.
RESULTS=$(sqlite-utils "data.db" " SELECT song, artist, duration, FROM my_table WHERE song = 'CURRENT';")
RESULTS=$(sqlite3 data.db <<EOF SELECT song, artist, duration, FROM my_table WHERE song = 'CURRENT'; EOF )
I have no idea what the schema looks like but those are just some examples of how straightforward it might be. Run it on CRON (whatever) update as needed. https://cronitor.io/guides/python-cron-jobs
Once you have the Schema an LLM could most likely do the rest if you are not a programmer, but still need someone to get it added to the site.
apt-get
Been using it for the past few years, nothing bad to say about it, lovely piece of software. Vendor lock-in is very present in this field, with different brands of controllers supported by a myriad of proprietary DJ applications all more interested in onboarding you to their music subscription services rather than implement useful features or support open protocols.
Meanwhile, Mixxx allows you to write your own adapter scripts for any controller you have (as long as it outputs MIDI), and there's a built-in library featuring scripts for the most common commercial controllers and MIDI devices out there.
noman-land
I tried it many years ago and this didn't work. Can Mixxx be used with the Rane mixers used with Serato back in the day?
Mashimo
Does the mixer speak midi? In that case probably.
Is there already a mapping for you device? Check the manual https://manual.mixxx.org/2.5/en/
SamWhited
Even if there's not a mapping Mixxx has a "MIDI Learning Wizard" (I forget what they call it) where, assuming it speaks MIDI, you can plug it up, choose an action, and then move the control for that action and it will figure out how to wire it up. For simple configurations that don't require scripting (ie. no setting LEDs on the controller or what not) you can get a fully functional setup for a controller Mixxx has no knowledge of without writing any JavaScript or XML at all!
crtasm
specifically: https://manual.mixxx.org/2.5/en/hardware/manuals#hardware-ma...
and if not there, the forum might have one: https://mixxx.discourse.group/c/controller-mappings/10
I notice that HID is also supported: https://manual.mixxx.org/2.5/en/chapters/controlling_mixxx#c...
null
quesomaster9000
I'm really happy that 2.5 added 'beats until next marker', which together with a USB controller from Numark I have pretty much feature complete DJ setup for under $500 (including cost of laptop & controller) without having to rely on Windows, Mac, subscription licenses or feature-crippled 'lite' versions.
And it's surprising how quickly people adapt to it when they're used to other setups, within an hour a few people have gone from 'oooh, can I have a go' to showing me their own tips, tricks and different styles.
Especially combined with a youtube & soundcloud downloader running on a different workspace, I can get pretty much any track into the library within a minute or two.
starkparker
Mixx is sneaky good as a TTRPG soundscape mixer. You can queue layer multiple ambiance tracks over tempo-matched music, build soundboards, and hook it all to hardware controls.
It's overkill, but a lot of similar tools either lock you into a media ecosystem, lack some power-user functionality, have a subscription, or don't work at all on Linux or macOS.
lysace
Just a cultural observation:
This screams german developers to me. The name. The GPL.
I checked out the Github project contributors: Yes, theory pretty much confirmed.
Rock on :).
Downloaded a mac build - first impressions are good.
tmountain
I've been using this to make mix tapes at home (bought a vintage tape player). It has awesome cross fading capabilities, and it does volume normalization out of the box, so it's a very nice piece of software for those features alone. Playlist and library management is also solid. My only complaint is that the UI isn't very intuitive for a non-DJ, and it took me some time to figure out how to do basic stuff, but it's all there in the docs, so you can certainly figure it out.
treve
Also works great with my Traktor mixer. Traktor doesn't have linux support for their software, so I was glad my mixer didn't brick after the switch
sim7c00
thanks for commenting this. all i needed to know :D
iammrpayments
I thought this was Donald’s Knuth Mix computer at first
bramgn
What does GPL actually do?
sho_hn
In this space, probably the biggest effect might be that HW vendors of DJ kit cannot fork this software to bundle with their HW and avoid sharing their improvements back, so people using other HW can still benefit.
cies
I've been using this for the few DJ sets I do per year. Very complete software, very stable also.
Sadly I have to use RekordBox now that I want to not bring the laptop + DJ controller, but just a USB stick. And RekordBox does not run well on Linux (tried VirtualBox and Wine, both failed attempts).
Sadly there's no RecordBox clone, or "export to RekordBox USB" feature on Mixxx.
diggan
> And RekordBox does not run well on Linux
RekordBox doesn't even run well on Windows, so hard to imagine what worse looks like.
But yeah, if Mixxx (or other FOSS software) could offer writing playlists into USB sticks, I'd get rid of RekordBox yesterday because few software out there works as bad as RekordBox.
quesomaster9000
I considered renting out some Pioneer equipment to add RekordBox playlist writing support, mainly because I'm in a similar situation. Mixxx does have support for reading USBs & SD cards, but not writing ;_;
Unfortunately it's far down my priority list given the cost, my unfamiliarity with Mixxx development and that I rarely do anything without Mixx.
But this is absolutely what ecosystem grants/bounties should be for.
Mashimo
I think there are two projects who worked on it a bit:
* https://github.com/kimtore/rex
* https://github.com/Holzhaus/rekordcrate (Current status of export: https://github.com/Holzhaus/rekordcrate/pull/103 )
copyleftdj
Would be cool if there is Foss firmware to install on pioneer cdj. It just feels better for a lot DJs. Any projects in this direction?
BTW, the DJ collective I'm with has Pioneer CDJ. If anyone need use the hardware let me know. I'm trying to get them to start using open FOSS software, but it is hard.
diggan
> But this is absolutely what ecosystem grants/bounties should be for.
I'd be down to fund a bounty/grant for this (and I'm clearly not alone), if anyone is looking for booty :)
fragmede
> RekordBox playlist writing support
Without the Rekordbox beat analysis, you'd only be getting track names, and you can achieve similar functionality on the Pioneer side by just putting the files for a each playlist in a separate folder.
There's a kaitai bin format parser config file for the usb db file but kaitai isn't expressive enough to read it properly from that.
Pioneer (err Alphatheta)'s stranglehold on the industry is a shame.
phntxx
Could not agree more. I recently made the switch to exclusively using Linux on Desktop machines, yet I now have to have a Windows PC laying around for the sole purpose of updating my USB using Rekordbox.
helpfulContrib
>GPL DJ Software
Its kind of a nuisance that, as a requirement to build Mixxx on MacOS, ones has to use foreign binaries, disable Gatekeeper, run a 'first build', and from that point on .. can treat the project as a regular CMake project. Re-enable Gatekeeper after the 'first build'.
Hmm.
What are the custom binaries for? Surely not cmake. Not having - yet - done this myself (until I can put it in a VM), I'm nevertheless kind of curious about this necessity.
Any Mixxx/MacOs devs care to describe the contents?
bri3d
You can just read the source? mixxx-deps come from a build process sourced from:
https://github.com/mixxxdj/vcpkg
The same binary-backed build process is present on Windows, too, presumably to keep people from needing to go through dependency hell to contribute to the project.
drdirk
What does GPL stand for?
frob
GNU General Public License: https://en.wikipedia.org/wiki/GNU_General_Public_License
It's one of several options for software licenses a developer or team can use when distributing a piece of software to help ensure that it and its derivates stay free and open-source.
TeeMassive
I like your "no bad questions" attitude and your straightforward answer!
null
asimovfan
Its like when Morpheus goes into the Matrix to free more people.
Used mixxx to do the djing for my wedding last year. Created a collaborative music voting site for the guests, then got all the music and made a mix which worked really well, even going between genres. Had a lot of fun playing with it getting everything ready and it worked with a couple of DJ controllers bought cheaply without any issue.
I even made a little program to read the now playing track from the sqlite database which then allowed the lights to follow the music (for complex reasons I don't have time to explain).
Most importantly it worked on the night without missing a beat.