2 .\" Copyright (C) 2004-2008 Richard Kettlewell
4 .\" This program is free software: you can redistribute it and/or modify
5 .\" it under the terms of the GNU General Public License as published by
6 .\" the Free Software Foundation, either version 3 of the License, or
7 .\" (at your option) any later version.
9 .\" This program is distributed in the hope that it will be useful,
10 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
11 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 .\" GNU General Public License for more details.
14 .\" You should have received a copy of the GNU General Public License
15 .\" along with this program. If not, see <http://www.gnu.org/licenses/>.
19 disorder \- DisOrder jukebox client
27 is used to query the \fBdisorderd\fR(8) daemon from the command line.
28 It may be used to request tracks, scratch tracks, query the current
29 state, etc, and by an administrator to shutdown or reconfigure the
32 If no commands are specified then \fBdisorder\fR connects to the
33 daemon and then immediately disconnects.
34 This can be used to test whether the daemon is running.
35 Otherwise, it executes the commands specified.
37 This man page documents the command-line client.
38 See \fBdisorderd\fR (8) for information about the server process
39 and \fBdisorder_config\fR (5) for documentation of the configuration file.
42 .B \-\-config \fIPATH\fR, \fB\-c \fIPATH
43 Set the configuration file.
45 .IR pkgconfdir/config .
47 .B \-\-debug\fR, \fB\-d
50 .B \-\-help\fR, \fB\-h
51 Display a usage message.
53 .B \-\-version\fR, \fB\-V
54 Display version number.
56 .B \-\-help\-commands\fR, \fB\-H
57 List all known commands.
60 .B adduser \fIUSERNAME PASSWORD\fR [\fIRIGHTS\fR]
62 If \fIRIGHTS\fR is not specified then the \fBdefault_rights\fR
63 setting from the server's configuration file applies.
66 Adopts track \fIID\fR (in the queue).
67 The track will show up as submitted by the calling user.
69 .B authorize \fIUSERNAME\fR [\fIRIGHTS\fR]
70 Create user \fIUSERNAME\fR with a random password.
71 User \fIUSERNAME\fR must be a UNIX login user (not just any old string).
72 If \fIRIGHTS\fR is not specified then the \fBdefault_rights\fR
73 setting from the server's configuration file applies.
75 \fI~USERNAME/.disorder/passwd\fR is created with the password in it, so the new
76 user should be able to log in immediately.
78 If writing the \fIpasswd\fR file fails then the user will already have been
79 created in DisOrder's user database.
80 Use \fBdisorder deluser\fR to remove them before trying again.
82 .B deluser \fIUSERNAME\fR
85 .B dirs \fIDIRECTORY\fR [\fB~\fIREGEXP\fR]
86 List all the directories in \fIDIRECTORY\fR.
88 An optional regexp may be specified, marked with an initial \fB~\fR.
89 Only directories with a basename matching the regexp will be returned.
92 Disable playing after the current track finishes.
94 .B edituser \fIUSERNAME PROPERTY VALUE
95 Set some property of a user.
100 .B files \fIDIRECTORY\fR [\fB~\fIREGEXP\fR]
101 List all the files in \fIDIRECTORY\fR.
103 An optional regexp may be specified, marked with an initial \fB~\fR.
104 Only files with a basename matching the regexp will be returned.
106 .B get \fITRACK\fR \fIKEY\fR
107 Display the preference \fIKEY\fR for \fITRACK\fR.
108 See \fBdisorder_preferences\fR (5).
110 .B get\-global \fIKEY\fR
111 Get a global preference.
112 See \fBdisorder_preferences\fR (5).
115 Display the current volume settings.
117 .B length \fITRACK\fR
118 Display the length of \fITRACK\fR in seconds.
121 Write event log messages to standard output, until the server is terminated.
122 See \fBdisorder_protocol\fR (5) for details of the output syntax.
124 .B move \fITRACK\fR \fIDELTA\fR
130 Positive values move towards the head of the queue, negative
131 values towards the tail.
133 Note that if you specify a negative value then the
135 option separate (before all commands) becomes mandatory, as otherwise the
136 negative value is misinterpreted an an option.
138 .B part \fITRACK\fR \fICONTEXT\fI \fIPART\fR
139 Get a track name part.
141 \fICONTEXT\fR should be either \fBsort\fR or \fBdisplay\fR.
142 \fBpart\fR is the part of the name desired, typically \fBartist\fR,
143 \fBalbum\fR or \fBtitle\fR.
146 Pause the current track.
147 (Note that not all players support pausing.)
149 .B play \fITRACKS\fR...
150 Add \fITRACKS\fR to the end of the queue.
153 Report the currently playing track.
156 Display all the preferences for \fITRACK\fR.
157 See \fBdisorder_preferences\fR (5).
160 List the current queue.
161 The first entry in the list is the next track to play.
170 List recently played tracks.
171 The first entry is the oldest track, the last entry is the most
175 Make the daemon reload its configuration file.
177 .B remove \fITRACK\fR
178 Remove a track from the queue.
181 Rescan the filesystem for new tracks.
182 There is an automatic daily rescan but if you've just added some tracks
183 and want them to show up immediately, use this command.
185 .B resolve \fITRACK\fR
186 Resolve aliases for \fITRACK\fR and print out the real track name.
189 Resume the current track after a pause.
192 Report the RTP brodcast address used by the server (if any).
194 .B schedule-del \fIEVENT\fR
195 Delete a scheduled event.
198 List scheduled events.
199 Each line contains the ID, a timestamp, 'N' or 'J' for normal or junk priority,
200 the user, the action and action-specific data.
202 .B schedule-play \fIWHEN PRIORITY TRACK\fI
203 Play \fITRACK\fR at time \fIWHEN\fR.
204 Various time/date formats are supported depending on locale but the following
205 three will always work:
209 .B "YYYY-MM-DD HH:MM:SS"
217 \fIPRIORITY\fR should be \fBjunk\fR or \fBnormal\fR.
218 This determines how the event is handled if it becomes due when the server is
220 Junk events are just discarded in this case, while normal events will be
221 executed when the server comes back up, even if this is much later.
223 .B schedule-set-global \fIWHEN PRIORITY NAME VALUE\fI
224 Set global preference \fINAME\fR to \fIVALUE\fR at time \fIWHEN\fR.
226 .B schedule-unset-global \fIWHEN PRIORITY NAME\fI
227 Unset global preference \fINAME\fR at time \fIWHEN\fR.
230 Scratch the currently playing track.
232 .B scratch\-id \fIID\fR
233 Scratch the currently playing track, provided it has the given ID.
235 .B search \fITERMS\fR
236 Search for tracks containing all of the listed terms.
237 The terms are separated by spaces and form a single argument,
238 so must be quoted, for example:
240 .B "disorder search 'bowie china'"
242 You can limit the search to tracks with a particular tag, too, using the
246 .B "disorder search 'love tag:depressing'"
248 .B set \fITRACK\fR \fIKEY\fR \fIVALUE\fR
249 Set the preference \fIKEY\fR for \fITRACK\fR to \fIVALUE\fR.
250 See \fBdisorder_preferences\fR (5).
252 .B set\-global \fIKEY\fR \fIVALUE\fR
253 Set a global preference.
254 See \fBdisorder_preferences\fR (5).
256 .B set\-volume \fBLEFT\fR \fBRIGHT\fR
259 .B setup\-guest \fR[\fB\-\-no\-online\-registration\fR]
260 Create the "guest" user for use by the web interface.
261 This user will have no password and will only have the "read" and
262 "register" rights, the latter allowing new users to automatically
263 register themselves via the web interface.
265 With the option \fB\-\-no-online\-registration\fR, the "register" right is
266 suppressed and users must be manually created by an administrator.
268 If online registration is desired then \fBmail_sender\fR must be set in the
270 See \fBdisorder_config\fR(5).
273 Shut down the daemon.
276 List server statistics.
281 .B unset \fITRACK\fR \fIKEY\fR
282 Unset the preference \fIKEY\fR for \fITRACK\fR.
283 See \fBdisorder_preferences\fR (5).
285 .B unset\-global \fIKEY\fR
286 Unset the global preference \fIKEY\fR.
287 See \fBdisorder_preferences\fR (5).
289 .B userinfo \fIUSERNAME PROPERTY
290 Get some property of a user.
296 Report the daemon's version number.
302 tracks may be specified by name or by ID.
303 If you use the name and a track appears twice in the queue it is
304 undefined which is affected.
308 If you do not set the locale correctly then it may not handle non-ASCII
311 The client determines which user to attempt to authenticate as by examining the
313 This can be overridden in a per-user configuration file, see
314 \fBdisorder_config\fR(5).
316 See \fBdisorder_protocol\fR(5) for the rights required to run each command.
317 (For instance, \fBshutdown\fR requires the \fBadmin\fR right, which most users
318 would not normally have.)
320 This program is not intended to run in a setuid environment.
322 The regexp syntax used by the \fBfiles\fR and \fBdirs\fR commands use the
323 syntax described in \fBpcrepattern\fR(3).
324 Matching is case-independent.
325 It is strongly recommended that you quote regexps, since they often
326 contain characters treated specially by the shell.
329 .B "disorder dirs /Music ~'^(?!the [^t])t'"
331 If you cannot play a track, or it does not appear in the database even after a
332 rescan, check the following things:
335 Are there any error messages in the system log? The server logs to
336 \fBLOG_DAEMON\fR, which typically ends up in
337 .I /var/log/daemon.log
339 .IR /var/log/messages ,
340 though this depends on local configuration.
343 Is the track in a known format? Have a look at
345 for the formats recognized by the local installation.
346 The filename matching is case-sensitive.
349 Do permissions on the track allow the server to read it?
352 Do the permissions on the containing directories allow the server to read and
355 The user the server runs as is determined by the \fBuser\fR directive in the
357 The README recommends using \fBjukebox\fR for this purpose but it could
358 be different locally.
362 The user's home directory.
364 .B LC_ALL\fR, \fBLANG\fR, etc
370 Global configuration file.
371 See \fBdisorder_config\fR(5).
373 .I ~/.disorder/passwd
374 Per-user password file
376 .I pkgstatedir/socket
377 Communication socket for \fBdisorder\fR(1).
379 \fBdisorderd\fR(8), \fBdisorder_config\fR(5), \fBsyslog\fR(3), \fBtime\fR(2),
380 \fBpcrepattern\fR(3), \fBdisobedience\fR(1), \fBdisorder.cgi\fR(8),
381 \fBdisorder_preferences\fR(5)
383 "\fBpydoc disorder\fR" for the Python API documentation.