NAME
disorder - DisOrder jukebox client
SYNOPSIS
disorder [OPTIONS] [--] [COMMANDS...]
DESCRIPTION
disorder is used to query the disorderd(8) daemon from the command
line. It may be used to request tracks, scratch tracks, query the cur-
rent state, etc, and by an administrator to shutdown or reconfigure the
daemon.
If no commands are specified then disorder connects to the daemon and
then immediately disconnects. This can be used to test whether the
daemon is running. Otherwise, it executes the commands specified.
This man page documents the command-line client. See disorderd (8) for
information about the server process and disorder_config (5) for docu-
mentation of the configuration file.
OPTIONS
--config PATH, -c PATH
Set the configuration file. The default is /etc/disorder/con-
fig.
--debug, -d
Enable debugging.
--help, -h
Display a usage message.
--version, -V
Display version number.
--help-commands, -H
List all known commands.
COMMANDS
adduser USERNAME PASSWORD [RIGHTS]
Create a new user. If RIGHTS is not specified then the
default_rights setting from the server's configuration file
applies.
adopt ID
Adopts track ID (in the queue). The track will show up as sub-
mitted by the calling user.
authorize USERNAME [RIGHTS]
Create user USERNAME with a random password. User USERNAME must
be a UNIX login user (not just any old string). If RIGHTS is
not specified then the default_rights setting from the server's
configuration file applies.
~USERNAME/.disorder/passwd is created with the password in it,
so the new user should be able to log in immediately.
If writing the passwd file fails then the user will already have
been created in DisOrder's user database. Use disorder deluser
to remove them before trying again.
deluser USERNAME
Delete a user.
dirs DIRECTORY [~REGEXP]
List all the directories in DIRECTORY.
An optional regexp may be specified, marked with an initial ~.
Only directories with a basename matching the regexp will be
returned.
disable
Disable playing after the current track finishes.
edituser USERNAME PROPERTY VALUE
Set some property of a user.
enable (Re-)enable playing.
files DIRECTORY [~REGEXP]
List all the files in DIRECTORY.
An optional regexp may be specified, marked with an initial ~.
Only files with a basename matching the regexp will be returned.
get TRACK KEY
Display the preference KEY for TRACK. See disorder_preferences
(5).
get-global KEY
Get a global preference. See disorder_preferences (5).
get-volume
Display the current volume settings.
length TRACK
Display the length of TRACK in seconds.
log Write event log messages to standard output, until the server is
terminated. See disorder_protocol (5) for details of the output
syntax.
move TRACK DELTA
Move TRACK by DELTA within the queue. Positive values move
towards the head of the queue, negative values towards the tail.
Note that if you specify a negative value then the -- option
separate (before all commands) becomes mandatory, as otherwise
the negative value is misinterpreted an an option.
part TRACK CONTEXT PART
Get a track name part.
CONTEXT should be either sort or display. part is the part of
the name desired, typically artist, album or title.
pause Pause the current track. (Note that not all players support
pausing.)
play TRACKS...
Add TRACKS to the end of the queue.
playing
Report the currently playing track.
playlist-del PLAYLIST
Deletes playlist PLAYLIST.
playlist-get PLAYLIST
Gets the contents of playlist PLAYLIST.
playlist-set PLAYLIST [PATH]
Set the contents of playlist PLAYLIST. If an absolute path name
is specified then the track list is read from that filename.
Otherwise the track list is read from standard input. In either
case, the list is terminated either by end of file or by a line
containing a single ".".
playlists
Lists known playlists (in no particular order).
prefs TRACK
Display all the preferences for TRACK. See disorder_preferences
(5).
queue List the current queue. The first entry in the list is the next
track to play.
random-disable
Disable random play.
random-enable
Enable random play.
recent List recently played tracks. The first entry is the oldest
track, the last entry is the most recently played one.
reconfigure
Make the daemon reload its configuration file.
Not all configuration options can be modified during the life-
time of the server; of those that can't, some will just be
ignored if they change while others will cause the new configu-
ration to be rejected. See disorder_config(5) for details.
remove TRACK
Remove a track from the queue.
rescan Rescan the filesystem for new tracks. There is an automatic
daily rescan but if you've just added some tracks and want them
to show up immediately, use this command.
resolve TRACK
Resolve aliases for TRACK and print out the real track name.
resume Resume the current track after a pause.
rtp-address
Report the RTP brodcast address used by the server (if any).
schedule-del EVENT
Delete a scheduled event.
schedule-list
List scheduled events. Each line contains the ID, a timestamp,
'N' or 'J' for normal or junk priority, the user, the action and
action-specific data.
schedule-play WHEN PRIORITY TRACK
Play TRACK at time WHEN. Various time/date formats are sup-
ported depending on locale but the following three will always
work:
YYYY-MM-DD HH:MM:SS
HH:MM:SS
HH:MM
PRIORITY should be junk or normal. This determines how the
event is handled if it becomes due when the server is down.
Junk events are just discarded in this case, while normal events
will be executed when the server comes back up, even if this is
much later.
schedule-set-global WHEN PRIORITY NAME VALUE
Set global preference NAME to VALUE at time WHEN.
schedule-unset-global WHEN PRIORITY NAME
Unset global preference NAME at time WHEN.
scratch
Scratch the currently playing track.
scratch-id ID
Scratch the currently playing track, provided it has the given
ID.
search TERMS
Search for tracks containing all of the listed terms. The terms
are separated by spaces and form a single argument, so must be
quoted, for example:
disorder search 'bowie china'
You can limit the search to tracks with a particular tag, too,
using the tag: modifier. For example:
disorder search 'love tag:depressing'
set TRACK KEY VALUE
Set the preference KEY for TRACK to VALUE. See disorder_prefer-
ences (5).
set-global KEY VALUE
Set a global preference. See disorder_preferences (5).
set-volume LEFT RIGHT
Set the volume.
setup-guest [--no-online-registration]
Create the "guest" user for use by the web interface. This user
will have no password and will only have the "read" and "regis-
ter" rights, the latter allowing new users to automatically reg-
ister themselves via the web interface.
With the option --no-online-registration, the "register" right
is suppressed and users must be manually created by an adminis-
trator.
If online registration is desired then mail_sender must be set
in the configuration file. See disorder_config(5).
shutdown
Shut down the daemon.
stats List server statistics.
tags List known tags.
unset TRACK KEY
Unset the preference KEY for TRACK. See disorder_preferences
(5).
unset-global KEY
Unset the global preference KEY. See disorder_preferences (5).
userinfo USERNAME PROPERTY
Get some property of a user.
users List known users.
version
Report the daemon's version number.
For move and remove, tracks may be specified by name or by ID. If you
use the name and a track appears twice in the queue it is undefined
which is affected.
NOTES
disorder is locale-aware. If you do not set the locale correctly then
it may not handle non-ASCII data properly.
The client determines which user to attempt to authenticate as by exam-
ining the current UID. This can be overridden in a per-user configura-
tion file, see disorder_config(5).
See disorder_protocol(5) for the rights required to run each command.
(For instance, shutdown requires the admin right, which most users
would not normally have.)
This program is not intended to run in a setuid environment.
The regexp syntax used by the files and dirs commands use the syntax
described in pcrepattern(3). Matching is case-independent. It is
strongly recommended that you quote regexps, since they often contain
characters treated specially by the shell. For example:
disorder dirs /Music ~'^(?!the [^t])t'
TROUBLESHOOTING
If you cannot play a track, or it does not appear in the database even
after a rescan, check the following things:
. Are there any error messages in the system log? The server logs
to LOG_DAEMON, which typically ends up in /var/log/daemon.log or
/var/log/messages, though this depends on local configuration.
. Is the track in a known format? Have a look at /etc/disor-
der/config for the formats recognized by the local installation.
The filename matching is case-sensitive.
. Do permissions on the track allow the server to read it?
. Do the permissions on the containing directories allow the
server to read and execute them?
The user the server runs as is determined by the user directive in the
configuration file. The README recommends using jukebox for this pur-
pose but it could be different locally.
ENVIRONMENT
HOME The user's home directory.
LC_ALL, LANG, etc
Current locale. See locale(7).
FILES
/etc/disorder/config
Global configuration file. See disorder_config(5).
~/.disorder/passwd
Per-user password file
/var/lib/disorder/socket
Communication socket for disorder(1).
SEE ALSO
disorderd(8), disorder_config(5), syslog(3), time(2), pcrepattern(3),
disobedience(1), disorder.cgi(8), disorder_preferences(5)
"pydoc disorder" for the Python API documentation.