PerlJammer is a SQL-backed Perl/Tk music player based on Mike Oliphant's abandoned DigitalDJ. It is free software; you may do whatever you want with it, so long as you credit the author.
PerlJammer generates random MP3 playlists from a DDJ-compatible MySQL database, and plays them using an external command-line MP3 player, which defaults to madplay. It is highly configurable, and can be remote-controlled via a companion pjam-remote program which sends commands to it via a network socket. The playlist can be reordered by drag-and-drop, and songs can be dynamically dropped from the playlist or inserted into it before, after, or in place of the current playing selection.

The screenshot above shows PerlJammer in the middle of playing a song. The button bar can be configured to appear either at the top or bottom of the window. Some controls change their appearance depending on the state of the program. In general, buttons that start or change something have blue icons that highlight green; buttons that stop, close, or delete something have black icons that highlight red; and buttons that are waiting for a user action or a state change have red icons. In this example, with a selection playing, the Play button has changed to a Pause button.
Here is the initial state of the main button bar with nothing playing. All buttons are in their default states.
Here, a selection has been paused mid-play, and PerlJammer is waiting for the user to either unpause it or stop it altogether. (The elapsed-time display also changes from blue to red when paused.)
And here, PerlJammer is doing a "delayed stop", in which it allows the current selection to finish, then stops playback. This feature is, to the best of my knowledge, unique to PerlJammer.
There is an interim PerlJammer tarball here. This interim release contains only PerlJammer itself (v1.2.3) and pjam-remote (v1.0.1). When complete, the PerlJammer release will also include a replacement for DigitalDJ's mp3insert tool, allowing Grip to continue to automatically insert MP3s into the music database as it rips. I also intend to include a tool (pjam-dbmaker) to create the database, if you don't already have one, and a batch import tool (pjam-import) to scan your existing MP3 library into it.
At present, you will need an existing DigitalDJ database to use PerlJammer. To install it, extract the tarball, copy perljammer and pjam-remote to a suitable location such as /usr/local/bin, run perljammer once to create your config directory and a template config file (~/.pjam/config), then edit the config file as necessary. See the 00.README file for more details.