Commit 9c983c44 authored by Max Kellermann's avatar Max Kellermann

command: added command "listplaylists"

"listplaylists" returns a list of all stored playlists. This command seems more elaborate than listing them below "lsinfo".
parent f8e58640
......@@ -119,6 +119,10 @@ load <string name>
lsinfo <string directory>
list contents of _directory_, from the db. _directory_ is optional
When listing the root directory, this currently returns the
list of stored playlists. This behavior is deprecated; use
"listplaylists" instead.
move <int from> <int to>
move song at _from_ to _to_ in the playlist
increments playlist version by 1
......@@ -184,6 +188,9 @@ random <int state>
repeat <int state>
set repeat state to _state_, _state_ should be 0 or 1
listplaylists
prints a list of the playlist directory
rm <string name>
removes the playlist <name>.m3u from the playlist directory
......
......@@ -1157,6 +1157,22 @@ static int handlePlaylistAdd(struct client *client,
}
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 },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment