DJPlay Home

DJPlay aims to be a high class live DJing application for Linux.

DJPlay is licensed under GNU GPL

News: Jan. 19th, 2007
  • New Application "BPMCounter" released
News: Jan. 12th, 2007
  • Upcoming version 0.6.0:
  • Totally new BPM counter (fast!)
  • Proper ID3 updating support
  • BPM from ID3 tag now shown in lists
  • BPM from ID3 tag overrides detection
  • ID3 tag now properly skipped on play

Older news
  • Santa's been here! DJ Console access is now a separate lib
  • Some cleanup fixes to the core code
  • Tweaked the pitch-bend slopes to make mixing easier
  • Native support for the Hercules DJ Console through libusb
  • Some performance tweaks
  • Now supports the joystick on the DJ Console
  • DJ Console controls can be reassigned by config files
  • Fedora Core 5 RPMS now provided
  • make install is fixed in source installs

DJPlay has a new companion app. Since ID3 support has been greatly expanded in 0.6.0, BPM counts in ID3 tags are now really useful.

BPMCounter addresses this and provides a comfortable GUI application to count out and tag your file collection.

BPM counter allows you to collect a list of files to process in batch mode, tags the files, if desired, and is able to print a report of the files found and the results of the beat counting.

DJPlay prerequisites:
  • Linux on i386
  • qt 3.x >= 3.3
  • Jack Sound server
  • libsamplerate
  • libmad (optional)
  • libaudiofile (optional)
  • libmpeg3 (optional)
  • id3lib (optional)
  • cdda_paranoia (optional)
  • fftw3
  • LADSPA headers (optional)
  • DJ EQ plugin from swh-plugins (optional)
  • pitch plugin from tap-plugins (optional)
  • libxml2 (optional)
  • libdjconsole
  • libusb
  • gcc >= 3.x
BPMCounter prerequisites:
  • Linux on i386
  • qt 3.x >= 3.3
  • libmad
  • id3lib
  • fftw3
  • gcc >= 3.x

DJPlay and BPMCounter use id3lib to access ID3 information. When ID3 update is enabled, tags will also be written through id3lib. There is a bug in id3lib, which will corrupt UTF-16 tags. Many legally downloaded mp3 files are tagged with UTF-16 tags. If you wish to use the ID3 update feature, please obtain and install the patch or the patched version of the library from this page:

Fedora Core 5 RPMs (based on Dries RPMs)


Users of Ubuntu can get debian builds for Ubuntu. These may lag a few days behind each release.

Fedora Core 5 users should download the provided RPMS. Follow the instructions at The Unofficial Fedora FAQ to set up additional repositories to get the nonfree stuff.
If you are in any way serious about live DJing, follow the steps at Planet CCRMA @ Home to make your system realtime-capable.
After completing the above steps, execute

yum -y localinstall libdjconsole-0.1.0-1.i386.rpm djplay-0.5.0-1.i386.rpm

This will install DJPlay ready to go. All you need to do now is add a launcher for DJPlay to your menu or panel.

All others will need to build from source.

A somewhat outdated, yet still helpful document describes the procedure to install from source on Debian:
Debian DJPlay Installation/Setup Guide

Building from source:

Get and install the above listed prerequisites.
Download the tarball versions of libdjconsole and djplay.

Untar the libdjconsole package: tar xvfz libdjconsole-x.x.x.tar.gz
Configure it: ./configure --prefix=/usr
Build it: make
Install it: make install

Untar the djplay package: tar xvfz djplay-x.x.x.tar.gz
Configure it: ./configure
Build it: make
Install it: make install

See INSTALL in the release for more information.

DJPlay will not compile with the RedHat patched version of the gcc compiler, version 2.96. This is not an official gcc release and has been known to cause numerous problems with multimedia applictions. It will also not work if Qt has been compiled with gcc 2.96, even if another gcc 2.x compiler is used to compile DJPlay.


Download: Download here

Mailing list:
djplay-devel - Developer talk, compile problems and problems running DJPlay

- Severe performance issues on cdda playback with some drives

- Beat matching
- Cue point support
- Skins (support for skinning exists)
- Documentation <sigh>