command/queue: add range parameter to plchanges and plchangesposid

This commit is contained in:
Max Kellermann
2015-10-27 20:35:40 +01:00
parent 15e432204e
commit 8acf996d90
8 changed files with 58 additions and 18 deletions

View File

@@ -148,8 +148,8 @@ static constexpr struct command commands[] = {
{ "playlistinfo", PERMISSION_READ, 0, 1, handle_playlistinfo },
{ "playlistmove", PERMISSION_CONTROL, 3, 3, handle_playlistmove },
{ "playlistsearch", PERMISSION_READ, 2, -1, handle_playlistsearch },
{ "plchanges", PERMISSION_READ, 1, 1, handle_plchanges },
{ "plchangesposid", PERMISSION_READ, 1, 1, handle_plchangesposid },
{ "plchanges", PERMISSION_READ, 1, 2, handle_plchanges },
{ "plchangesposid", PERMISSION_READ, 1, 2, handle_plchangesposid },
{ "previous", PERMISSION_CONTROL, 0, 0, handle_previous },
{ "prio", PERMISSION_CONTROL, 2, -1, handle_prio },
{ "prioid", PERMISSION_CONTROL, 2, -1, handle_prioid },

View File

@@ -251,8 +251,13 @@ handle_plchanges(Client &client, Request args, Response &r)
if (!ParseCommandArg32(r, version, args.front()))
return CommandResult::ERROR;
RangeArg range = RangeArg::All();
if (!args.ParseOptional(1, range, r))
return CommandResult::ERROR;
playlist_print_changes_info(r, client.partition,
client.playlist, version);
client.playlist, version,
range.start, range.end);
return CommandResult::OK;
}
@@ -263,7 +268,12 @@ handle_plchangesposid(Client &client, Request args, Response &r)
if (!ParseCommandArg32(r, version, args.front()))
return CommandResult::ERROR;
playlist_print_changes_position(r, client.playlist, version);
RangeArg range = RangeArg::All();
if (!args.ParseOptional(1, range, r))
return CommandResult::ERROR;
playlist_print_changes_position(r, client.playlist, version,
range.start, range.end);
return CommandResult::OK;
}