Building and installing the MP4 / M4A / AAC plugin for Mixxx 2.0 / 2.1 on Ubuntu


 This is a pita. You've installed and set up Mixxx, but your .m4a files are not shown in the library. You need to compile Mixxx from source, but it is fast to do so. Here's how. I tested this on Ubuntu 16.04.02 LTS 64bit and it will build Mixxx 2.0 / 2.1 under "<YOUHOMEDIRECTORY>/mixxx". Ymmv for other Mixxx versions, but the wiki should get you started.

Install prequisites (might need super-user rights):

apt install g++ git scons libqt4-dev libqt4-sql-sqlite 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 libjack-dev libjack0 portaudio19-dev libfaad-dev libmp4v2-dev

Clone repository to ./mixxx directory:

cd ~
git clone -b 1.12 https://github.com/mixxxdj/mixxx.git <- for 2.0
or
git clone -b 2.1 https://github.com/mixxxdj/mixxx.git <- for 2.1

Go to directory and create install dir:

cd mixxx
mkdir install

Build Mixxx with M4A / AAC support:

scons prefix=~/mixxx/install -j 4 optimize=native faad=1

Create soundsource plugin directory if it does not exist and copy plugin there (might need super-user rights):

cd ~
mkdir /usr/lib/mixxx/plugins/soundsource/
cp ~/mixxx/lin64_build/plugins/lin64_build/m4a/libsoundsourcem4a.so /usr/lib/mixxx/plugins/soundsource/

Optional: Delete build directory:

rm -rf ~/mixxx

Optional: Uninstall all "-dev" prequisites again, but keep libmp4v2 and libfaad (might need super-user rights):

apt remove scons libqt4-dev 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 libjack-dev portaudio19-dev libfaad-dev libmp4v2-dev

Now run Mixxx and enjoy your mp4 support.

Comments

小池友岳 said…
This comment has been removed by the author.
小池友岳 said…
Thank you for good information.

But I could not setup to my environment installed Ubuntu 18.04.1 and mixxx 2.2, and so I had to add packages below too.

apt install pyqt5-dev libqt5svg5-dev qtscript5-dev qtscripttools5-dev qtscript5-dev

And compare to building whole, the following indication of target make to build faster.

scons -j 4 optimize=native faad=1 lin64_build/plugins/lin64_build/m4a/libsoundsourcem4a.so