- error(0, "malformed response to '%s'", cmd);
- return -1;
- }
- return 0;
-}
-
-int disorder_exists(disorder_client *c, const char *track, int *existsp) {
- char *v;
-
- if(disorder_simple(c, &v, "exists", track, (char *)0)) return -1;
- return boolean("exists", v, existsp);
-}
-
-int disorder_enabled(disorder_client *c, int *enabledp) {
- char *v;
-
- if(disorder_simple(c, &v, "enabled", (char *)0)) return -1;
- return boolean("enabled", v, enabledp);
-}
-
-int disorder_length(disorder_client *c, const char *track,
- long *valuep) {
- char *value;
-
- if(disorder_simple(c, &value, "length", track, (char *)0)) return -1;
- *valuep = atol(value);
- return 0;
-}
-
-int disorder_search(disorder_client *c, const char *terms,
- char ***vecp, int *nvecp) {
- return disorder_simple_list(c, vecp, nvecp, "search", terms, (char *)0);
-}
-
-int disorder_random_enable(disorder_client *c) {
- return disorder_simple(c, 0, "random-enable", (char *)0);
-}
-
-int disorder_random_disable(disorder_client *c) {
- return disorder_simple(c, 0, "random-disable", (char *)0);
-}
-
-int disorder_random_enabled(disorder_client *c, int *enabledp) {
- char *v;
-
- if(disorder_simple(c, &v, "random-enabled", (char *)0)) return -1;
- return boolean("random-enabled", v, enabledp);
-}
-
-int disorder_stats(disorder_client *c,
- char ***vecp, int *nvecp) {
- return disorder_simple_list(c, vecp, nvecp, "stats", (char *)0);
-}
-
-int disorder_set_volume(disorder_client *c, int left, int right) {
- char *ls, *rs;
-
- if(byte_asprintf(&ls, "%d", left) < 0
- || byte_asprintf(&rs, "%d", right) < 0)
- return -1;
- if(disorder_simple(c, 0, "volume", ls, rs, (char *)0)) return -1;
- return 0;
-}
-
-int disorder_get_volume(disorder_client *c, int *left, int *right) {
- char *r;
-
- if(disorder_simple(c, &r, "volume", (char *)0)) return -1;
- if(sscanf(r, "%d %d", left, right) != 2) {
- error(0, "error parsing response to 'volume': '%s'", r);