X-Git-Url: https://git.distorted.org.uk/~mdw/disorder/blobdiff_plain/00861dcb1b67a282893f3d30187459c6384cbee7..0bc1d67cbb413a23b3cf3dce64be13738739b9d3:/lib/client-stubs.c?ds=sidebyside diff --git a/lib/client-stubs.c b/lib/client-stubs.c index 3d02139..d0c3103 100644 --- a/lib/client-stubs.c +++ b/lib/client-stubs.c @@ -94,10 +94,31 @@ int disorder_get_global(disorder_client *c, const char *pref, char **valuep) { return dequote(disorder_simple(c, valuep, "get-global", pref, (char *)0), valuep); } +int disorder_length(disorder_client *c, const char *track, long *lengthp) { + char *v; + int rc; + + if((rc = disorder_simple(c, &v, "length", track, (char *)0))) + return rc; + *lengthp = atol(v); + xfree(v); + return 0; +} + int disorder_make_cookie(disorder_client *c, char **cookiep) { return dequote(disorder_simple(c, cookiep, "make-cookie", (char *)0), cookiep); } +int disorder_move(disorder_client *c, const char *track, long delta) { + char buf_delta[16]; + byte_snprintf(buf_delta, sizeof buf_delta, "%ld", delta); + return disorder_simple(c, 0, "move", track, buf_delta, (char *)0); +} + +int disorder_moveafter(disorder_client *c, const char *target, char **ids, int nids) { + return disorder_simple(c, 0, "moveafter", target, disorder_list, ids, nids, (char *)0); +} + int disorder_nop(disorder_client *c) { return disorder_simple(c, 0, "nop", (char *)0); } @@ -114,6 +135,10 @@ int disorder_play(disorder_client *c, const char *track, char **idp) { return dequote(disorder_simple(c, idp, "play", track, (char *)0), idp); } +int disorder_playafter(disorder_client *c, const char *target, char **tracks, int ntracks) { + return disorder_simple(c, 0, "playafter", target, disorder_list, tracks, ntracks, (char *)0); +} + int disorder_playlist_delete(disorder_client *c, const char *playlist) { return disorder_simple(c, 0, "playlist-delete", playlist, (char *)0); } @@ -130,6 +155,10 @@ int disorder_playlist_lock(disorder_client *c, const char *playlist) { return disorder_simple(c, 0, "playlist-lock", playlist, (char *)0); } +int disorder_playlist_set(disorder_client *c, const char *playlist, char **tracks, int ntracks) { + return disorder_simple(c, 0, "playlist-set", playlist, disorder_body, tracks, ntracks, (char *)0); +} + int disorder_playlist_set_share(disorder_client *c, const char *playlist, const char *share) { return disorder_simple(c, 0, "playlist-set-share", playlist, share, (char *)0); } @@ -142,6 +171,10 @@ int disorder_playlists(disorder_client *c, char ***playlistsp, int *nplaylistsp) return disorder_simple_list(c, playlistsp, nplaylistsp, "playlists", (char *)0); } +int disorder_queue(disorder_client *c, struct queue_entry **queuep) { + return disorder_somequeue(c, "queue", queuep); +} + int disorder_random_disable(disorder_client *c) { return disorder_simple(c, 0, "random-disable", (char *)0); } @@ -158,6 +191,10 @@ int disorder_random_enabled(disorder_client *c, int *enabledp) { return boolean("random-enabled", v, enabledp); } +int disorder_recent(disorder_client *c, struct queue_entry **recentp) { + return disorder_somequeue(c, "recent", recentp); +} + int disorder_reconfigure(disorder_client *c) { return disorder_simple(c, 0, "reconfigure", (char *)0); }