aboutsummaryrefslogtreecommitdiffstats
path: root/src/playlist.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-11-12 21:55:13 +0100
committerMax Kellermann <max@duempel.org>2008-11-12 21:55:13 +0100
commitae9bb9295278be1dac86bad6594a9b1b2251e9a5 (patch)
treeab8ab7fe66524371cd3d3d278e8bcd0d8c57ef60 /src/playlist.c
parent93f488f03433212efe0e3f97ead2f2085a0c29ca (diff)
downloadmpd-ae9bb9295278be1dac86bad6594a9b1b2251e9a5.tar.gz
mpd-ae9bb9295278be1dac86bad6594a9b1b2251e9a5.tar.xz
mpd-ae9bb9295278be1dac86bad6594a9b1b2251e9a5.zip
playlist: call clearPlayerQueue() only if song is queued II
This patch extends commit 35a16b99, and amends several 2 missing checks. It simplifies 2 more checks by merging "if" conditions.
Diffstat (limited to 'src/playlist.c')
-rw-r--r--src/playlist.c24
1 files changed, 10 insertions, 14 deletions
diff --git a/src/playlist.c b/src/playlist.c
index 0f0e0da6c..8581755ca 100644
--- a/src/playlist.c
+++ b/src/playlist.c
@@ -979,11 +979,8 @@ enum playlist_result moveSongInPlaylist(unsigned from, int to)
to = (currentSong + abs(to)) % playlist.length;
}
- if (playlist_state == PLAYLIST_STATE_PLAY) {
- int queuedSong = -1;
-
- if (playlist.queued >= 0)
- queuedSong = playlist.order[playlist.queued];
+ if (playlist_state == PLAYLIST_STATE_PLAY && playlist.queued >= 0) {
+ int queuedSong = playlist.order[playlist.queued];
if (queuedSong == (int)from || queuedSong == to
|| currentSong == from || (int)currentSong == to)
clearPlayerQueue();
@@ -1062,10 +1059,8 @@ static void orderPlaylist(void)
if (playlist.current >= 0 && playlist.current < (int)playlist.length)
playlist.current = playlist.order[playlist.current];
- if (playlist_state == PLAYLIST_STATE_PLAY) {
- if (playlist.queued >= 0)
- clearPlayerQueue();
- }
+ if (playlist_state == PLAYLIST_STATE_PLAY && playlist.queued >= 0)
+ clearPlayerQueue();
for (i = 0; i < playlist.length; i++) {
playlist.order[i] = i;
@@ -1087,10 +1082,9 @@ static void randomizeOrder(int start, int end)
DEBUG("playlist: randomize from %i to %i\n", start, end);
- if (playlist_state == PLAYLIST_STATE_PLAY) {
- if (playlist.queued >= start && playlist.queued <= end)
- clearPlayerQueue();
- }
+ if (playlist_state == PLAYLIST_STATE_PLAY &&
+ playlist.queued >= start && playlist.queued <= end)
+ clearPlayerQueue();
for (i = start; i <= end; i++) {
ri = random() % (end - start + 1) + start;
@@ -1158,7 +1152,9 @@ void shufflePlaylist(void)
if (playlist.length > 1) {
if (playlist_state == PLAYLIST_STATE_PLAY) {
- clearPlayerQueue();
+ if (playlist.queued >= 0)
+ clearPlayerQueue();
+
/* put current playing song first */
swapSongs(0, playlist.order[playlist.current]);
if (playlist.random) {