X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/68122e5fd7f16e0ea3824c9499345fbca31ed142..caecd4f412422d8130d616da33325e03557218e7:/README diff --git a/README b/README index df19803..9c6150f 100644 --- a/README +++ b/README @@ -1,16 +1,23 @@ DisOrder ======== -This program is used to play random and chosen tracks from a collection of -digital audio files (for instance MP3 and OGG files). If you just set it going -it plays random tracks from your collection, but you can also ask for specific -tracks to be played, either via a command line program or a web interface, and -you can 'scratch' the current track. +DisOrder is a multi-user software jukebox. + * It can play either selected tracks or pick tracks at random. + * It supports OGG, MP3, FLAC and WAV files, and can be configured to support + anything you can supply a player for (up to a point). + * It supports both ALSA and OSS and can also broadcast an RTP stream over a + LAN; a player for the latter is included. + * Tracks may be selected either via a hierarchical interface or by a fast + word search. + * It has a web interface (allowing access from graphical web browsers) and a + GTK+ interface that runs on Linux and Mac systems. + * Playing tracks can be paused or cancelled ("scratched"). See CHANGES for details of recent changes to DisOrder. -Currently it only runs on Linux. It could probably be ported to other UNIX -variants in some cases without too much effort. Things you will need: +The server supports Linux and can be made to on a Mac. The clients work on +both Linux and the Mac. It could probably be ported to some other UNIX +variants in without too much effort. Things you will need: Build dependencies: Name Tested Notes @@ -80,21 +87,19 @@ NOTE: If you are upgrading from an earlier version, see README.upgrades. --without-gtk Don't build GTK+ client (Disobedience) --without-python Don't build Python support - See README.client for setting up a standalone client. + See README.client for setting up a standalone client (or read the + disobedience man page). + + The server is only built by default under Linux. See README.mac concerning + its use under OS X. 2. Install it. Most of the installation is done via the install target: make installdirs install - The CGI interface has to be installed separately, and you must use Libtool - to install it. For instance: - - ./libtool --mode=install install -m 755 clients/disorder.cgi /usr/local/lib/cgi-bin/disorder + The CGI interface has to be installed separately: - Depending on how your system is configured you may need to link the disorder - libao driver into the right directory: - - ln -s /usr/local/lib/ao/plugins-2/libdisorder.so /usr/lib/ao/plugins-2/. + install -m 755 clients/disorder.cgi /usr/local/lib/cgi-bin/disorder 3. Create a 'jukebox' user and group, with the jukebox group being the default group of the jukebox user. The server will run as this user and group. @@ -125,39 +130,13 @@ NOTE: If you are upgrading from an earlier version, see README.upgrades. See README.raw for details on setting up "raw format" players, which allow for pausing and gapless play. -5. Create /etc/disorder/config.private. This should be readable only by the - jukebox group: - - touch /etc/disorder/config.private - chown root:jukebox /etc/disorder/config.private - chmod 640 /etc/disorder/config.private - - Set up a username and password for root, for example with line like this: - - allow root somepassword - - Use (for instance) pwgen(1) to create the password. DO NOT use your root - password - this is a password to give root access to the server, not to give - access to the root login. - - See disorderd(8) and disorder_config(5) for more details. - -6. Make sure the server is started at boot time. +5. Make sure the server is started at boot time. On many Linux systems, examples/disorder.init should be more or less suitable; install it in /etc/init.d, adapting it as necessary, and make appropriate links from /etc/rc[0-6].d. -7. Make sure the state directory (/var/disorder or /usr/local/var/disorder or - as determined by configure) exists and is writable by the jukebox user. - - mkdir -m 755 /var/disorder - chown disorder:root /var/disorder - - If you want to use some other directory you must put use the 'home' command - in the configuration file. - -8. Start the server. +6. Start the server. On Linux systems with sysv-style init: @@ -168,40 +147,30 @@ NOTE: If you are upgrading from an earlier version, see README.upgrades. start up correctly there should be an error message. Correct the problem and try again. -9. After a minute it should start to play something. Try scratching it, as any - of the users you set up in step 5: +7. After a minute it should start to play something. Try scratching it: disorder scratch The track should stop playing, and (if you set any up) a scratch sound play. -10. Add any other users you want to config.private. Each user's password - should be stored in a file in their home directory, ~/.disorder/passwd, - which should be readable only by them, and should take the form of a single - line: - - password MYPASSWORD - - (root doesn't need this as the client can read it out of config.private - when running as root.) +8. Add any other users you want. These easiest way to do this is: - Note that the server must be reloaded (e.g. by 'disorder reconfigure') - when new users are added. + disorder authorize USERNAME - Alternatively the administrator can create /etc/disorder/config.USERNAME - containing the same thing as above. It can either be owned by the user and - mode 400, or owned by root and the user's group (if you have per-user - groups) and mode 440. + This will automatically choose a random password and add new line to + /etc/disorder/config.private and create /etc/disorder/config.USERNAME. - You can use 'disorder authorize' to automatically pick passwords and - create these files. + Those users should now be able to access the server from the same host as it + runs on, either via the disorder command or Disobedience. To run + Disobedience from some other host, File->Login allows hostnames, passwords + etc to be configured. -11. Optionally source completion.bash from /etc/profile or similar, for - example: +9. Optionally source completion.bash from /etc/profile or similar, for + example: - . /usr/local/share/disorder/completion.bash + . /usr/local/share/disorder/completion.bash - This provides completion over disorder command and option names. + This provides completion over disorder command and option names. Web Interface