queue: added queue_shuffle_order_last()

This function shuffles the last song of a range.  This is used by
addSongToPlaylist().
This commit is contained in:
Max Kellermann
2009-01-25 14:00:51 +01:00
parent 1a59afa388
commit 688880bc0b
3 changed files with 18 additions and 6 deletions

View File

@@ -442,12 +442,9 @@ addSongToPlaylist(struct song *song, unsigned *added_id)
start = playlist.queued + 1;
else
start = playlist.current + 1;
if (start < queue_length(&playlist.queue)) {
unsigned swap = g_rand_int_range(g_rand, start,
queue_length(&playlist.queue));
queue_swap_order(&playlist.queue,
queue_length(&playlist.queue) - 1, swap);
}
if (start < queue_length(&playlist.queue))
queue_shuffle_order_last(&playlist.queue, start,
queue_length(&playlist.queue));
}
incrPlaylistVersion();