This repo offers tools that I use with Mixxx and its database.
They work on Linux. For Windows there might be a few adaptations needed to make it work… I can totally do it, but unless someone shows an interest, I'm going to play the YAGNI card :-)
IMPORTANT: As of May 4th 2024, Mixxx's database needs to be fixed so the Python tools work. Please see thefix_mixxx_db.md file.
They are stored in the python_tools
folder.
cue_to_tracklist.py
is a Python tool to generate the tracklist corresponding to the cue file automatically generated when recording a mix on Mixxx, so you can add it in the description of the Soundcloud/Youtube/… page.
fix_track_paths
is a Python tool to fix the tracks paths, using the informations from your music player database. It is usefull when the file has been renamed or if the track is now in another format (for example you wanted a better quality format and went from a mp3 to a flac file).
It works with Clementine's database so far, but it won't be hard to add other players' databases.
mixxx_to_rekordbox_xml
export your Mixxx library into the Rekorbox XML format and YES IT EXPORTS THE PLAYLISTS, HOT CUES AND BEATGRIDS :-)
Then you can import the XML file in Rekordbox to prepare a USB key. Rekorbox is free for this use, and can run on Wine with a few tricks.
If you are a Git/Python noob, here's what I suggest:
- Download this repo, unzip it, and open the "python_tools" folder (leave this window opened).
- Install Mambaforge with the default settings.
Now open a terminal (omg so scary :-p ) and:
- Create an Mamba environment:
mamba create --name mixxx-utils --yes pandas sqlalchemy jellyfish sqlite
. (An "environment" is simply a folder with compatible executables and libraries.) - Activate this new environment:
mamba activate mixxx-utils
. ("Activating" means that the executables and libraries in the environement folder will be used when you execute code.) - Change the path:
- On Windows type
chdir̀ /D
and on Linux typecd
- Then go back to the windows you've opened, and drag&drop the folder you want to use in the terminal, which will write the path to the folder. So you end up with something like
chdir /D D:\...\mixxx_to_rekordbox_xml
orcd /home/.../mixxx_to_rekordbox_xml
. - Execute the command (press "Enter")
- On Windows type
- Execute the python tool like explained in the README.md file.
mixxx_prepare.sh
uses the commands recommended in the wiki
in order to minimize the latency problems in Linux.
It must be executed before launching Mixxx as follow:
sudo ./mixxx_prepare.sh
mixxxdb_cleanup.sql
is a copy of a script found in the offical repo:
So far I've only added a single command (noted with "EXTRA" in the comment).
To use it on Linux:
cp ${HOME}/.mixxx/mixxxdb.sqlite ${HOME}/.mixxx/mixxxdb.sqlite.bak.$(date +%y%m%d%H%M)
sqlite3 ${HOME}/.mixxx/mixxxdb.sqlite < mixxxdb_cleanup.sql