to just after the first non-listed track before it, or to the head if there is
no such track.
.TP
+.B nop
+Do nothing. Used by
+.BR disobedience (1)
+as a keepalive measure.
+.TP
.B part \fITRACK\fR \fICONTEXT\fI \fIPART\fR
Get a track name part. Returns an empty string if a name part cannot be
constructed.
Authenticate as \fIUSER\fR.
.IP
When a connection is made the server sends a \fB221\fR response before any
-command is received. As its first field this contains a challenge string
-encoded in hex.
+command is received. This contains an algorithm name and a challenge encoded
+in hex. Currently the algorithm name is omitted if it is "sha1".
.IP
-The \fIRESPONSE\fR consists of the SHA-1 hash of the user's password
+The \fIRESPONSE\fR consists of the selected hash of the user's password
concatenated with the challenge, encoded in hex.
.TP
.B version
Some state change occurred. The current set of keywords is:
.RS
.TP
+.B completed
+The current track completed successfully.
+.TP
.B disable_play
Playing was disabled.
.TP
.B enable_random
Random play was enabled.
.TP
+.B failed
+The current track failed.
+.TP
.B pause
The current track was paused.
.TP
+.B playing
+A track started playing.
+.TP
.B resume
The current track was resumed.
+.TP
+.B scratched
+The current track was scratched.
+.PP
+To simplify client implementation, \fBstate\fR commands reflecting the current
+state are sent at the start of the log.
.RE
.TP
.B volume \fILEFT\fR \fIRIGHT\fR
.\" mode:nroff
.\" fill-column:79
.\" End:
-.\" arch-tag:7b6e9931e426d2b810422b20aef38601