mixxx DJ software and Apple AAC/mp4 WMA & MOD

hosts some great open source (free) DJing software-
Drawback is: the free pre compiled Linux Downloads you can get are not built to process Apple AAC/m4a audio files such as are widely used within iTunes. This is because of Apple & other patent issues-
On MACs & PCs it’s taken care of by their own pre installed Libraries.

Yet you are free to build it yourself legally and freely.
But don’t distribute the results. Such is the Law.
Also the Default will not handle my old collection of .MOD/.IT (Screamtracker) audio files from Amiga days, 1980’s era…
Not Commonly Needed. But I have some!
Also, although the site seems to suggest Windows .wma files cannot be handled. my compile seemed to  read them Just Fine.. with an Exception: Microsoft code a PRO format. 
“Windows Media Audio 10 Professional” reports the “medianfo” utility in Ubuntu : (
These load as a BLANK timeline with no spectrograph-
and won’t make sound.  Use ffmpeg to convert them. Too Bad.
I wanted to be able to read all possible audio formats without having to convert anything. This Compile seemed to work for me in Linux using  Mint ver 20 based on Ubuntu 19 & the latest ‘stable’ Branch of Mixxx, which is ver 2.4.4 as of Oct 2020

Not Kosher– But, I found it easiest to run everything as ‘root’ rather than ‘sudo’ this that & the other. Some tricky instructions are indeed here:
but I became Confused in the footsteps of those for whom this is familiar territory.  For Starters:
#apt-get install cmake

Now we need to put in ‘development’ Headers and info about the Libraries that will be Used
(Don’t worry too much about ‘already installed’ warnings here)
So, in My Case, as Root, on One Line::

#apt-get install g++ git scons libportmidi-dev libopusfile-dev libshout-dev libtag1-dev libprotobuf-dev protobuf-compiler libusb-1.0-0-dev libfftw3-dev libmad0-dev portaudio19-dev libchromaprint-dev librubberband-dev libsqlite3-dev libid3tag0-dev libflac-dev libsndfile-dev libupower-glib-dev libavcodec-dev libavformat-dev libavutil-dev libswresample-dev libgl-dev liblilv-dev libjack-dev libjack0 portaudio19-dev libmp3lame-dev libebur128-dev
(lots of messages– Look For Error)
Then more:
#apt-get install qt5-default qtdeclarative5-dev libqt5opengl5-dev qtscript5-dev libqt5svg5-dev libqt5x11extras5-dev libqt5sql5-sqlite libmodplug-dev
(More Blurbs– Look for Errors)

Now! Onto the Build Process: (For Current stable ver 2.2.x)
#cd /usr/src 
#md git 
#cd git 
#git clone -b2.2 https://github.com/mixxxdj/mixxx 
#cd mixxx 
#scons faad=1 ffmpeg=1 prefix=/usr/local -j `nproc` optimize=native

-j nproc will execute the “nproc” command to return the number of CPUs you have to the -j parameter, so the compiler will work in parallel. Wow. Look at TOP where I have an 8 core laptop– This made the cooling fan  run and took about 5 mins to compile. I get compile time Warnings in Blue, nothing in red..

14848 root 20 0 340616 292780 17168 R 98.7 1.2 0:03.85 cc1plus
14828 root 20 0 402956 363292 23336 R 98.3 1.5 0:06.47 cc1plus
14858 root 20 0 250128 217712 16720 R 97.3 0.9 0:03.02 cc1plus
14795 root 20 0 489764 434088 23432 R 95.7 1.8 0:09.46 cc1plus
14854 root 20 0 283376 235888 17080 R 85.7 1.0 0:03.11 cc1plus
14869 root 20 0 181592 153036 16888 R 58.5 0.6 0:01.76 cc1plus
14875 root 20 0 157396 130176 16988 R 47.8 0.5 0:01.44 cc1plus
14881 root 20 0 122708 93916 16888 R 26.6 0.4 0:00.80 cc1plus

Now then!
#cmake install
This will create the following installs:

Ideally copy this last file onto your Desktop

BEFORE running mixxx
Check in ~/.mixxx
in case you have run things before, perhaps move everything out of that folder. It will be re created and store your (NON ROOT) launch of mixxx


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.