X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/0517868c5cbbfabf18625f6d833821047459f36d..2b33c4cf27ec6f4bd73c16ed1395eab209dec51f:/doc/disorder_protocol.5.in diff --git a/doc/disorder_protocol.5.in b/doc/disorder_protocol.5.in index 678c1fd..f4c5b2f 100644 --- a/doc/disorder_protocol.5.in +++ b/doc/disorder_protocol.5.in @@ -237,15 +237,15 @@ See below for the track information syntax. Request that DisOrder reconfigure itself. Requires the \fBadmin\fR right. .TP -.B register \fIUSER PASSWORD EMAIL +.B register \fIUSERNAME PASSWORD EMAIL Register a new user. Requires the \fBregister\fR right. The result contains a confirmation string; the user will be be able to log in until this has been presented back to the server via the \fBconfirm\fR command. .TP -.B reminder \fIUSER\fR -Send a password reminder to \fIUSER\fR. +.B reminder \fIUSERNAME\fR +Send a password reminder to user \fIUSERNAME\fR. If the user has no valid email address, or no password, or a reminder has been sent too recently, then no reminder will be sent. .TP @@ -255,9 +255,21 @@ Requires one of the \fBremove mine\fR, \fBremove random\fR or \fBremove any\fR rights depending on how the track came to be added to the queue. .TP -.B rescan +.B rescan \fR[\fBwait\fR] \fR[\fBfresh\fR] Rescan all roots for new or obsolete tracks. Requires the \fBrescan\fR right. +.IP +If the \fBwait\fR flag is present then the response is delayed until the rescan +completes. +Otherwise the response arrives immediately. +This is primarily intended for testing. +.IP +If the \fBfresh\fR flag is present a rescan is already underway then a second +rescan will be started when it completes. +The default behavior is to piggyback on the existing rescan. +.IP +NB that \fBfresh\fR is currently disabled in the server source, so using this +flag will just provoke an error. .TP .B resolve \fITRACK\fR Resolve a track name, i.e. if this is an alias then return the real track name. @@ -282,6 +294,61 @@ Requires one of the \fBscratch mine\fR, \fBscratch random\fR or \fBscratch any\fR rights depending on how the track came to be added to the queue. .TP +.B schedule-add \fIWHEN\fR \fIPRIORITY\fR \fIACTION\fR ... +Schedule an event for the future. +.IP +.I WHEN +is the time when it should happen, as \fBtime_t\fR value. +It must refer to a time in the future. +.IP +.I PRIORITY +is the event priority. +This can be \fBnormal\fR, in which case the event will be run at startup if its +time has past, or \fBjunk\fR in which case it will be discarded if it is found +to be in the past at startup. +The meaning of other values is not defined. +.IP +.I ACTION +is the action to perform. +The choice of action determines the meaning of the remaining arguments. +Possible actions are: +.RS +.TP +.B play +Play a track. +The next argument is the track name. +Requires the \fBplay\fR right. +.TP +.B set-global +Set a global preference. +The next argument is the preference name and the final argument is the value to +set it to (omit it to unset it). +Requires the \fBglobal prefs\fR right. +.RE +.IP +You need the right at the point you create the event. +It is not possible to create scheduled events in expectation of a future change +in rights. +.TP +.B schedule-del \fIEVENT\fR +Deletes a scheduled event. +Users can always delete their own scheduled events; with the \fBadmin\fR +right you can delete any event. +.TP +.B schedule-get \fIEVENT\fR +Sends the details of scheduled event \fIEVENT\fR in a response body. +Each line is a pair of strings quoted in the usual way, the first being the key +ane the second the value. +No particular order is used. +.IP +Scheduled events are considered public information. +Right \fBread\fR is sufficient to see details of all events. +.TP +.B schedule-list +Sends the event IDs of all scheduled events in a response body, in no +particular order. +Use \fBschedule-get\fR to get the details of each event. +.TP .B search \fITERMS\fR Search for tracks matching the search terms. The results are put in a response body, one to a line. @@ -321,13 +388,13 @@ Requires the \fBprefs\fR right. Unset a global preference. Requires the \fBglobal prefs\fR right. .TP -.B user \fIUSER\fR \fIRESPONSE\fR -Authenticate as \fIUSER\fR. +.B user \fIUSERNAME\fR \fIRESPONSE\fR +Authenticate as user \fIUSERNAME\fR. See .B AUTHENTICATION below. .TP -.B userinfo \fIUSER PROPERTY +.B userinfo \fIUSERNAME PROPERTY Get a user property. .TP .B users @@ -494,11 +561,11 @@ Completed playing \fITRACK\fR .B failed \fITRACK\fR \fIERROR\fR Completed playing \fITRACK\fR with an error status .TP -.B moved \fIUSER\fR -User \fIUSER\fR moved some track(s). +.B moved \fIUSERNAME\fR +User \fIUSERNAME\fR moved some track(s). Further details aren't included any more. .TP -.B playing \fITRACK\fR [\fIUSER\fR] +.B playing \fITRACK\fR [\fIUSERNAME\fR] Started playing \fITRACK\fR. .TP .B queue \fIQUEUE-ENTRY\fR... @@ -510,16 +577,16 @@ Added \fIID\fR to the recently played list. .B recent_removed \fIID\fR Removed \fIID\fR from the recently played list. .TP -.B removed \fIID\fR [\fIUSER\fR] +.B removed \fIID\fR [\fIUSERNAME\fR] Queue entry \fIID\fR was removed. -This is used both for explicit removal (when \fIUSER\fR is present) +This is used both for explicit removal (when \fIUSERNAME\fR is present) and when playing a track (when it is absent). .TP .B rescanned A rescan completed. .TP -.B scratched \fITRACK\fR \fIUSER\fR -\fITRACK\fR was scratched by \fIUSER\fR. +.B scratched \fITRACK\fR \fIUSERNAME\fR +\fITRACK\fR was scratched by \fIUSERNAME\fR. .TP .B state \fIKEYWORD\fR Some state change occurred.