Building Mixxx 2.1.1 on a Raspberry Pi

For an upcoming holiday with a few of my friends I needed a Midi-controllable software which allows me to play different audio-samples – some might call this a ‘soundboard’. On top of my wishlist were things like

-open source

-runs on Linux (Raspberry)

-fully customizable

Fortunately, before starting a new project myself I came across Mixxx. It’s an open source DJ-Software with a completely customizable user-interface that also includes a multi-cell sample-player. Mixxx version 1.10 is readily available for various platforms (“sudo apt-gt install mixxx” on a Raspberry PI) but has been superseded by version 2.1.1 (as time of writing). There are no precompiled binaries for Mixxx 2.1 on a Raspberry PI yet so the first step was to build a version myself. The necessary steps are documented in Mixxx’s own Wiki but it’s partially outdated and not everything is located in one place.

Building Mixxx 2.1 on a Raspberry PI is not that complicated but if you are like me and not knee-deep into Mixxx’s development it might be a little hard to get it all together. This is mostly copy-pasted from here and a little bit from here:

 

First set your Raspberry’s memory split to 256MB. Then issue the following commands:

 

sudo apt-get update

sudo apt-get upgrade

(reboot)

sudo apt-get remove libtag1-vanilla

sudo apt-get install g++ git scons libqt4-dev libqt4-sql-sqlite 
libportmidi-dev libopusfile-dev libshout3-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 libsndfile1-dev libupower-glib-dev liblilv-dev

sudo apt-get install libjack-dev libjack0 portaudio19-dev # because of Bug #1464120

sudo apt-get install libfaad-dev libmp4v2-dev # required for M4A support

sudo apt-get install libmp3lame-dev 
sudo apt-get remove g++ g++-4.7 
sudo apt-get autoremove 
sudo apt-get install g++-5 
sudo ln /usr/bin/g++-5 /usr/bin/g++ 

For Version 2.1:

sudo apt-get install libqt4-dev libqt4-sql-sqlite libqt4-opengl-dev libqt4-svg libqt4-xmlpatterns libqt4-sql
git clone -b 2.1 https://github.com/mixxxdj/mixxx.git

Or when pulling from the master branch:

sudo apt-get install qt5-default libqt5opengl5-dev qtscript5-dev libqt5svg5-dev
git clone https://github.com/mixxxdj/mixxx.git
cd mixxx
sudo scons -c && sudo scons -j 3 opengles=1 staticlibs=1 optimize=native # -j 3 is okay, if you keep your RPI well ventilated

Now wait for ~1.5 hours . If everything went fine you are granted with a shiny new version of a Mixxx executable in your ~/mixxx – folder. To install it systemwide run

sudo scons install

Volumio box

Derzeit baue ich einen ganzen Stapel an Gerätschaften, um beim nächsten Festival-Besuch entertainment-technisch auf einem angemessenen Level zu sein. Dazu gehört selbstverständlich irgendetwas mit Musik. Bisher hatten wir immer ein Laptop mit einer uralt-Version von Virtual-DJ dabei. Das war halbwegs okay, aber bei der diesjährigen Vorplanung für’s Deichbrand Festival hatten wir Lust darauf, irgendetwas mit mehr CYBER zu machen: Steuerung per Handy und so’n Schiet.

Unsere Wahl fiel relativ schnell auf Volumio, das wir auf einem Raspberry betreiben werden.

Continue reading

Unboxing Raspberry PI

[24.7.2012]

It’s finally there….My Raspberry PI model B. I tried to get on the orderlist as soon as lines were opened. Payed for it ~6 weeks ago and now … there it is. In all its glory.

 

Unboxing like a boss.

 

 

Purest expression of joy upon holding it in my hands.

 

Outrageous joy….

 

Truely outrageous joy…

 

OK…enough with that…stop it…

 

It’s me…Doktor-Andy .. so I’ve got to examine it thoroughly.

 

I have about 2 tons of USB cables lying around. Dozens of every flavour. But the fr*gg*ng “micro USB” ain’t one of them….

 

Bam!….