On 31 December, my mission was to make people dance from 22:00 to 03:00 in the morning. Fortunately, I could rely on Mixxx, a fantastic and powerful DJing software available for free for all platforms (Linux, Mac OS X and Windows).
Mixxx performed admirably during the five hours.
On Linux, Mixxx supports MP3 out of the box but as I had quite a lot of AAC (i.e. M4A) files, I had to compile it from source. Here are the commands I used on my Ubuntu Linux 12.04 LTS box:
sudo aptitude install scons qt3-dev-tools libqt4-dev g++ bzr libportmidi-dev libsndfile1-dev libtag1-dev libmad0-dev libid3tag0-dev libmp4v2-dev libfaad-dev portaudio19-dev
scons -j2 faad=1 shoutcast=0 tuned=1
sudo scons prefix=/usr/local install
The first line is to install all the required dependencies, the second is to compile Mixxx with AAC support (faad=1) and specifically for the processor I was using (tuned=1). The third line is to install it in /usr/local
Have fun DJing with Mixxx :-)