OpenDJMix as the name implies is a free opensource virtual DJ system which allows you to mix MP3 files and audio CD tracks. It consists of a C++ API that manages a virtual sound bus with its I/O and a Qt GUI that enables a user to mix 4 MP3 or audio CD tracks. The API has been designed to be used in all multitrack sound tools.
OpenDJMix is still in Beta and looks very promising. OpenDJMix has 4 turn tables and can support the Scratch , Drill and DJ Rewind features on each tables.