From 9c983c442c03a71bbf80ccbf1dad84894403a983 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 22 Oct 2008 19:16:56 +0200 Subject: command: added command "listplaylists" "listplaylists" returns a list of all stored playlists. This command seems more elaborate than listing them below "lsinfo". --- src/command.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/command.c') diff --git a/src/command.c b/src/command.c index dbdbe4003..db793350d 100644 --- a/src/command.c +++ b/src/command.c @@ -1156,6 +1156,22 @@ static int handlePlaylistAdd(struct client *client, return print_playlist_result(client, result); } +static int +handle_list_playlists(struct client *client, + mpd_unused int argc, mpd_unused char *argv[]) +{ + GPtrArray *list = spl_list(); + if (list == NULL) { + command_error(client, ACK_ERROR_SYSTEM, + "failed to get list of stored playlists"); + return -1; + } + + print_spl_list(client, list); + spl_list_free(list); + return 0; +} + static int handle_idle(struct client *client, mpd_unused int argc, mpd_unused char *argv[]) @@ -1194,6 +1210,7 @@ static const struct command commands[] = { { "listallinfo", PERMISSION_READ, 0, 1, handleListAllInfo }, { "listplaylist", PERMISSION_READ, 1, 1, handleListPlaylist }, { "listplaylistinfo", PERMISSION_READ, 1, 1, handleListPlaylistInfo }, + { "listplaylists", PERMISSION_READ, 0, 0, handle_list_playlists }, { "load", PERMISSION_ADD, 1, 1, handleLoad }, { "lsinfo", PERMISSION_READ, 0, 1, handleLsInfo }, { "move", PERMISSION_CONTROL, 2, 2, handleMove }, -- cgit v1.2.3