From: Richard Kettlewell Date: Sun, 30 Sep 2007 21:58:40 +0000 (+0100) Subject: send "playing" at start of log; document log state updates X-Git-Tag: debian-1_5_99dev8~189 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/commitdiff_plain/5abe307a2878e3e523cfd76fa3343cf904c9297f send "playing" at start of log; document log state updates --- diff --git a/doc/disorder_protocol.5.in b/doc/disorder_protocol.5.in index d3ad537..07fada9 100644 --- a/doc/disorder_protocol.5.in +++ b/doc/disorder_protocol.5.in @@ -408,6 +408,9 @@ Queue entry \fIID\fR was removed. This is used both for explicit removal (when 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 @@ -420,11 +423,23 @@ Playing was enabled. .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 diff --git a/server/server.c b/server/server.c index cb7714e..1d3e682 100644 --- a/server/server.c +++ b/server/server.c @@ -759,6 +759,9 @@ static int c_log(struct conn *c, sink_printf(ev_writer_sink(c->w), "%"PRIxMAX" state %s\n", (uintmax_t)now, paused ? "pause" : "resume"); + if(playing) + sink_printf(ev_writer_sink(c->w), "%"PRIxMAX" state playing\n", + (uintmax_t)now); c->lo = xmalloc(sizeof *c->lo); c->lo->fn = logclient; c->lo->user = c;