.\"
-.\" Copyright (C) 2004, 2005, 2006, 2007 Richard Kettlewell
+.\" Copyright (C) 2004-2008 Richard Kettlewell
.\"
.\" 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
.SH SYNOPSIS
.B disorder
.RI [ OPTIONS ]
-.RB [ -- ]
+.RB [ \-\- ]
.RI [ COMMANDS ...]
.SH DESCRIPTION
.B disorder
Otherwise, it executes the commands specified.
.SH OPTIONS
.TP
-.B --config \fIPATH\fR, \fB-c \fIPATH
+.B \-\-config \fIPATH\fR, \fB\-c \fIPATH
Set the configuration file.
The default is
.IR pkgconfdir/config .
.TP
-.B --debug\fR, \fB-d
+.B \-\-debug\fR, \fB\-d
Enable debugging.
.TP
-.B --help\fR, \fB-h
+.B \-\-help\fR, \fB\-h
Display a usage message.
.TP
-.B --version\fR, \fB-V
+.B \-\-version\fR, \fB\-V
Display version number.
.TP
-.B --help-commands\fR, \fB-H
+.B \-\-help\-commands\fR, \fB\-H
List all known commands.
.SH COMMANDS
.TP
-.B adduser \fIUSER PASSWORD\fR [\fIRIGHTS\fR]
+.B adduser \fIUSERNAME PASSWORD\fR [\fIRIGHTS\fR]
Create a new user.
If \fIRIGHTS\fR is not specified then the \fBdefault_rights\fR
setting from the server's configuration file applies.
.TP
-.B authorize \fIUSER\fR [\fIRIGHTS\fR]
-Create \fIUSER\fR with a random password.
-\fIUSER\fR must be a UNIX login user (not just any old string).
+.B authorize \fIUSERNAME\fR [\fIRIGHTS\fR]
+Create user \fIUSERNAME\fR with a random password.
+User \fIUSERNAME\fR must be a UNIX login user (not just any old string).
If \fIRIGHTS\fR is not specified then the \fBdefault_rights\fR
setting from the server's configuration file applies.
.IP
-\fI~USER/.disorder/passwd\fR is created with the password in it, so the new
+\fI~USERNAME/.disorder/passwd\fR is created with the password in it, so the new
user should be able to log in immediately.
.IP
If writing the \fIpasswd\fR file fails then the user will already have been
created in DisOrder's user database.
Use \fBdisorder deluser\fR to remove them before trying again.
.TP
-.B deluser \fIUSER\fR
+.B deluser \fIUSERNAME\fR
Delete a user.
.TP
.B dirs \fIDIRECTORY\fR [\fB~\fIREGEXP\fR]
.B disable
Disable playing after the current track finishes.
.TP
-.B edituser \fIUSER PROPERTY VALUE
+.B edituser \fIUSERNAME PROPERTY VALUE
Set some property of a user.
.TP
.B enable
.B get \fITRACK\fR \fIKEY\fR
Display the preference \fIKEY\fR for \fITRACK\fR.
.TP
-.B get-global \fIKEY\fR
+.B get\-global \fIKEY\fR
Get a global preference.
.TP
-.B get-volume
+.B get\-volume
Display the current volume settings.
.TP
.B length \fITRACK\fR
values towards the tail.
.IP
Note that if you specify a negative value then the
-.B --
+.B \-\-
option separate (before all commands) becomes mandatory, as otherwise the
negative value is misinterpreted an an option.
.TP
List the current queue.
The first entry in the list is the next track to play.
.TP
-.B random-disable
+.B random\-disable
Disable random play.
.TP
-.B random-enable
+.B random\-enable
Enable random play.
.TP
.B recent
.B resume
Resume the current track after a pause.
.TP
-.B rtp-address
+.B rtp\-address
Report the RTP brodcast address used by the server (if any).
.TP
+.B schedule-del \fIEVENT\fR
+Delete a scheduled event.
+.TP
+.B 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.
+.TP
+.B schedule-play \fIWHEN PRIORITY TRACK\fI
+Play \fITRACK\fR at time \fIWHEN\fR.
+Various time/date formats are supported depending on locale but the following
+three will always work:
+.RS
+.RS
+.TP
+.B "YYYY-MM-DD HH:MM:SS"
+.TP
+.B "HH:MM:SS"
+.TP
+.B "HH:MM"
+.RE
+.RE
+.IP
+\fIPRIORITY\fR should be \fBjunk\fR or \fBnormal\fR.
+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.
+.TP
+.B schedule-set-global \fIWHEN PRIORITY NAME VALUE\fI
+Set global preference \fINAME\fR to \fIVALUE\fR at time \fIWHEN\fR.
+.TP
+.B schedule-unset-global \fIWHEN PRIORITY NAME\fI
+Unset global preference \fINAME\fR at time \fIWHEN\fR.
+.TP
.B scratch
Scratch the currently playing track.
.TP
-.B scratch-id \fIID\fR
+.B scratch\-id \fIID\fR
Scratch the currently playing track, provided it has the given ID.
.TP
.B search \fITERMS\fR
.B set \fITRACK\fR \fIKEY\fR \fIVALUE\fR
Set the preference \fIKEY\fR for \fITRACK\fR to \fIVALUE\fR.
.TP
-.B set-global \fIKEY\fR \fIVALUE\fR
+.B set\-global \fIKEY\fR \fIVALUE\fR
Set a global preference.
.TP
-.B set-volume \fBLEFT\fR \fBRIGHT\fR
+.B set\-volume \fBLEFT\fR \fBRIGHT\fR
Set the volume.
.TP
-.B setup-guest \fR[\fB--no-online-registration\fR]
+.B setup\-guest \fR[\fB\-\-no\-online\-registration\fR]
Create the "guest" user for use by the web interface.
This user will have no password and will only have the "read" and
"register" rights, the latter allowing new users to automatically
register themselves via the web interface.
.IP
-With the option \fB--no-online-registration\fR, the "register" right is
+With the option \fB\-\-no-online\-registration\fR, the "register" right is
suppressed and users must be manually created by an administrator.
.IP
If online registration is desired then \fBmail_sender\fR must be set in the
.B unset \fITRACK\fR \fIKEY\fR
Unset the preference \fIKEY\fR for \fITRACK\fR.
.TP
-.B unset-global \fIKEY\fR
+.B unset\-global \fIKEY\fR
Unset the global preference \fIKEY\fR.
.TP
-.B userinfo \fIUSER PROPERTY
+.B userinfo \fIUSERNAME PROPERTY
Get some property of a user.
.TP
.B users
Leading and trailing spaces are not significant but internal spaces are.
.IP
Using the
-.B required-tags
+.B required\-tags
and
-.B prohibited-tags
+.B prohibited\-tags
global preferences, it is possible to limit the tracks that will be selected at
random.
.TP
.B unscratched
The number of times the track has been played to completion without
being scratched.
+.TP
+.B weight
+The weight for this track. Weights are non-negative integers which determine
+the relative likelihood of a track being picked at random (i.e. if track A has
+twice the weight of track B then it is twice as likely to be picked at random).
+A track with weight 0 will not be picked at random, though \fBpick_at_random\fR
+is a more sensible way to configure this.
+.IP
+The default weight, used if no weight is set or the weight value is invalid, is
+90000. Note that many other factors than track weight affect whether a track
+will be played - tracks already in the queue will not be picked at random for
+instance.
+.IP
+The maximum allowed weight is 2147483647. If you set a larger value it will be
+clamped to this value. Negative weights will be completely ignored and the
+default value used instead.
.SH NOTES
.B disorder
is locale-aware.
Communication socket for \fBdisorder\fR(1).
.SH "SEE ALSO"
\fBdisorderd\fR(8), \fBdisorder_config\fR(5), \fBsyslog\fR(3), \fBtime\fR(2),
-\fBpcrepattern\fR(3), \fBdisobedience\fR(1)
+\fBpcrepattern\fR(3), \fBdisobedience\fR(1), \fBdisorder.cgi\fR(8)
.PP
"\fBpydoc disorder\fR" for the Python API documentation.
.\" Local Variables: