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

@@ -71,19 +71,36 @@ queue_print_uris(Response &r, Partition &partition, const Queue &queue,
void
queue_print_changes_info(Response &r, Partition &partition, const Queue &queue,
uint32_t version)
uint32_t version,
unsigned start, unsigned end)
{
for (unsigned i = 0; i < queue.GetLength(); i++) {
assert(start <= end);
if (start >= queue.GetLength())
return;
if (end > queue.GetLength())
end = queue.GetLength();
for (unsigned i = start; i < end; i++)
if (queue.IsNewerAtPosition(i, version))
queue_print_song_info(r, partition, queue, i);
}
}
void
queue_print_changes_position(Response &r, const Queue &queue,
uint32_t version)
uint32_t version,
unsigned start, unsigned end)
{
for (unsigned i = 0; i < queue.GetLength(); i++)
assert(start <= end);
if (start >= queue.GetLength())
return;
if (end > queue.GetLength())
end = queue.GetLength();
for (unsigned i = start; i < end; i++)
if (queue.IsNewerAtPosition(i, version))
r.Format("cpos: %i\nId: %i\n",
i, queue.PositionToId(i));

View File

@@ -42,11 +42,13 @@ queue_print_uris(Response &r, Partition &partition, const Queue &queue,
void
queue_print_changes_info(Response &r, Partition &partition, const Queue &queue,
uint32_t version);
uint32_t version,
unsigned start, unsigned end);
void
queue_print_changes_position(Response &r, const Queue &queue,
uint32_t version);
uint32_t version,
unsigned start, unsigned end);
void
queue_find(Response &response, Partition &partition, const Queue &queue,