TobyInkster.co.uk

jukebox.pl

jukebox.pl is a GTK2 player for Ogg Vorbis files written in Perl. It uses SDL for audio output.

Why yet another Linux media player?
Because this one has just the features I need and nothing more. It provides the facility to select which song you want to hear next (and if no songs are queued, will select one at random); skip the current song; pause; and a volume control. I don't need anything other than that, and I'd image that a lot of other people don't either. (If anything, the volume control is an extravagance!)

Screenshot of jukebox.pl, showing a queued song.

The screenshot above shows jukebox.pl with a queued song and another song currently being paused.

  • Version 2.19 beta: Perl script | Highlighted version. Logs tonnes of info to STDOUT. Improved TCP interface, adding queuing functions and the ability to shut down the jukebox.
  • Version 2.19 alpha: Perl script | Highlighted version. Adds a TCP interface: you can telnet into a running Jukebox on port 5853 (or another port, see options) and issue commands to control the volume and skip the current song; the jukebox also contains a small client, so that it can connect to another running jukebox and issue commands by TCP. Command-line option processing, run with "--help" for details. A GUI-less mode (option "--nogui") whereby the jukebox is controlled entirely through the TCP interface. Added a "mute" function, currently only available through the TCP interface.
    What is the point of this TCP interface?
    It allows the jukebox to be connected to and controlled by other programs. This allows for the easy integration of the jukebox with multimedia keyboards (computer keyboards with additional buttons such as Volume Up, Volume Down, Play, Pause, Fast Forward, etc). Just tell your system to run particular commands when the buttons are pushed: for example, when the "Fast Forward" button is pushed, the command "jukebox.pl -r skip" could be run.
  • Version 2.1: Perl script | Highlighted version. Adds a volume control; fades out when skipping a song or quitting; switched to SDL instead of libao (seems a more mature sound library).
  • Version 2.09 gamma: Perl script | Highlighted version. Even prettier.
  • Version 2.09 beta: Perl script | Highlighted version. Added proper Perl stuff (File::Find) to get the list of sound files instead of calling find and use prettier printing for the song list.
  • Version 2.09 alpha: Perl script | Highlighted version. Added proper Perl stuff to play the sound files instead of calling an external program (ogg123) and adds a "Pause" button.
  • Version 2.01: Perl script | Highlighted version. Made the function to update the display run at a lower priority. Should cut down the CPU usage by roughly 80%.
  • Version 2.00: Perl script | Highlighted version.
  • Version 1.x: was unfortunately lost. It was quite a nasty hack, didn't use proper threads and was command-line based.

Requires

  • gtk+2
  • libglib2
  • libogg
  • libvorbis
  • SDL
  • perl including the following modules: Gtk2, Glib and Ogg::Vorbis::Header

Google Search

Article Details

Author:Toby Inkster
Licence:All rights reserved
Created:Fri, 16 Sep 2005
Status:Standard
Permalink:Permalink

Blogroll

Here are some other sites. Some might be good; some might be rubbish. You decide.