X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/f2620548144b356661614eba36c9de12ef31395c..6ebc4527c6a103d0532c08744fb916f951018413:/lib/eclient.c diff --git a/lib/eclient.c b/lib/eclient.c index fad9e1b..5eda674 100644 --- a/lib/eclient.c +++ b/lib/eclient.c @@ -741,7 +741,7 @@ static void process_line(disorder_eclient *c, char *line) { && line[1] >= '0' && line[1] <= '9' && line[2] >= '0' && line[2] <= '9' && line[3] == ' ')) - fatal(0, "invalid response from server: %s", line); + disorder_fatal(0, "invalid response from server: %s", line); c->rc = (line[0] * 10 + line[1]) * 10 + line[2] - 111 * '0'; c->line = line; switch(c->rc % 10) { @@ -1132,6 +1132,28 @@ int disorder_eclient_play(disorder_eclient *c, "play", track, (char *)0); } +int disorder_eclient_playafter(disorder_eclient *c, + const char *target, + int ntracks, + const char **tracks, + disorder_eclient_no_response *completed, + void *v) { + struct vector vec; + int n; + + if(!target) + target = ""; + vector_init(&vec); + vector_append(&vec, (char *)"playafter"); + vector_append(&vec, (char *)target); + for(n = 0; n < ntracks; ++n) + vector_append(&vec, (char *)tracks[n]); + stash_command_vector(c, 0/*queuejump*/, no_response_opcallback, completed, v, + -1, 0, vec.nvec, vec.vec); + disorder_eclient_polled(c, 0); + return 0; +} + int disorder_eclient_pause(disorder_eclient *c, disorder_eclient_no_response *completed, void *v) {