DisOrder

What Is DisOrder?

DisOrder is a software jukebox designed for multi-user environments. It allows users to pick music tracks for play from a shared collection. When nobody has picked anything, it can play randomly picked tracks instead.

There are two main user interfaces: a web interface and a GTK+ client called Disobedience. The latter is somewhat more sophisticated but only runs on UNIX-like systems; however most features are supported by both interfaces.

Tracks can be selected either by navigating through the directory hierarchy or by fast word search. It's also possible to apply tags to tracks and search by tag. Once a track is playing it's possible to cancel it if someone doesn't like it, or to pause it.

Sound can be played via either the ALSA or OSS (/dev/audio) interfaces; via the Mac's native sound API; or broadcast/multicast over a LAN.

Natively, DisOrder supports MP3, OGG, WAV and FLAC files. It's possible to add players for other file formats.

Download

File Contents
disorder-4.3.tar.bz2 Source code for latest released version
README Installation instructions
CHANGES Changes in the latest release
.deb files:
disorder.deb etch lenny lenny (64-bit) Base package - needed on clients and servers
disorder-server.deb etch lenny lenny (64-bit) Server (includes web interface)
disobedience.deb etch lenny lenny (64-bit) GTK+ user interface
disorder-rtp.deb etch lenny lenny (64-bit) Network play client

If you have an i386 Debian system then the .deb files are the best choice; they will do most of the setup for you automatically. They are also likely to work on Ubuntu systems of comparable age. For other platforms you will have to download and compile the source code yourself.

Announcements of new versions will be sent to sgo-software-announce, among other places.

Requirements

DisOrder runs on Linux, Mac OS X and FreeBSD (though it is much more tested on Linux). It may be possible to port it to other UNIX platforms. It requires the following other bits of software:

What Where Notes
libdb http://www.sleepycat.com/ Need at least 4.3.x (but avoid 4.6.x)
libgc http://www.hpl.hp.com/personal/Hans_Boehm/gc/  
libvorbisfile http://www.vorbis.com/  
libpcre http://www.pcre.org/ UTF-8 support must be enabled
libmad http://www.underbit.com/products/mad/
libgcrypt http://directory.fsf.org/security/libgcrypt.html 1.2.3 works for me.
libao http://www.xiph.org/ao/ 0.8.6 works for me.
libasound http://www.alsa-project.org/ Optional. 1.0.13 works for me.
libFLAC http://flac.sourceforge.net/ 1.1.2 works for me.
GNU C http://gcc.gnu.org/ 4.0.1 and 4.1.2 work for me.
Python http://www.python.org/ Optional. 2.4.4 works for me.
If you want to use the GTK+ interface:
GTK+ http://www.gtk.org/ 2.8.20 works for me.
If you want to use the web interface, a web server:
Apache http://httpd.apache.org/ 1.3 and 2.x work for me.
If you want to do development work on DisOrder:
Automake http://www.gnu.org/software/automake/ 1.10 works for me; 1.7 is not suitable
Autoconf http://www.gnu.org/software/autoconf/ 2.61 works for me
Libtool http://www.gnu.org/software/libtool/ 1.5.22 works for me; 1.4 is not suitable
Bazaar http://bazaar-vcs.org/  

All of these things can be found in Debian, Fink and the FreeBSD ports collection.

Developers

DisOrder now uses Bazaar (“bzr”) for revision control. You can retrieve and build a nightly snapshot of the trunk using:

$ bzr clone http://www.greenend.org.uk/rjk/bzr/disorder.stable
$ cd disorder.stable
$ bash ./prepare
[some output]
$ ./configure -C
[lots of output]
$ make                    # gmake on FreeBSD
[lots of output]

prepare runs Automake, Autoconf, etc. You should read README.developers. You may find plumbing.png handy.

Current branches:

Branch Log Purpose
disorder.stable disorder.stable.log Latest trunk revision that passes make check. Branch from here if you want to add new features.
disorder.dev disorder.dev.log Latest trunk. Might be so broken it doesn't pass make check.
disorder.4.3 disorder.4.3.log 4.3.x fixes. Branch from here if you want to fix bugs in the current release.
disorder.4.3-rel disorder.4.3-rel.log 4.3.x releases

See Google Code for the bug tracker.

Copyright

Copyright © 2003-2009 Richard Kettlewell
Portions copyright © 2007 Ross Younger
Portions copyright © 2007 Mark Wooding
Portions extracted from MPG321, Copyright © 2001 Joe Drew, Copyright © 2000-2001 Robert Leslie
Portions copyright © 1997-2006 Free Software Foundation, Inc.

Binaries may derive extra copyright owners through linkage (binary distributors are expected to do their own legwork)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

RJK | Contents