summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <waker@users.sourceforge.net>2014-07-22 21:26:04 +0200
committerGravatar Alexey Yakovenko <waker@users.sourceforge.net>2014-07-22 21:26:04 +0200
commitb98dc0a74de51870977cbb74657b563e5daeba46 (patch)
tree1adfa032dcc8eded0c7ca9196235427cba79ad68
parenteafb2643cc8494efb021a28bcdac37d815386ee5 (diff)
plt_init_shuffle_albums cleanup
-rw-r--r--main.c13
-rw-r--r--streamer.c7
2 files changed, 3 insertions, 17 deletions
diff --git a/main.c b/main.c
index 8c67d9d8..5500b728 100644
--- a/main.c
+++ b/main.c
@@ -576,12 +576,6 @@ player_mainloop (void) {
case DB_EV_PLAY_NUM:
pl_playqueue_clear ();
streamer_set_nextsong (p1, 4);
- if (pl_get_order () == PLAYBACK_ORDER_SHUFFLE_ALBUMS) {
- int pl = streamer_get_current_playlist ();
- playlist_t *plt = plt_get_for_idx (pl);
- plt_init_shuffle_albums (plt, p1);
- plt_unref (plt);
- }
break;
case DB_EV_STOP:
streamer_set_nextsong (-2, 0);
@@ -680,13 +674,6 @@ restore_resume_state (void) {
streamer_lock (); // need to hold streamer thread to make the resume operation atomic
streamer_set_current_playlist (plt);
streamer_set_nextsong (track, paused ? 2 : 3);
- if (pl_get_order () == PLAYBACK_ORDER_SHUFFLE_ALBUMS) {
- playlist_t *p = plt_get_for_idx (plt);
- if (p) {
- plt_init_shuffle_albums (p, track);
- plt_unref (p);
- }
- }
streamer_set_seek (pos);
streamer_unlock ();
}
diff --git a/streamer.c b/streamer.c
index 432bc16b..70c97d86 100644
--- a/streamer.c
+++ b/streamer.c
@@ -774,10 +774,6 @@ streamer_move_to_randomsong_real (void) {
}
}
- if (pl_get_order () == PLAYBACK_ORDER_SHUFFLE_ALBUMS) {
- plt_init_shuffle_albums (plt, r);
- }
-
streamer_set_nextsong (r, 1);
return 0;
}
@@ -1357,6 +1353,9 @@ streamer_set_nextsong_real (int song, int pstate) {
playpos = 0;
last_seekpos = -1;
}
+ if (pl_get_order () == PLAYBACK_ORDER_SHUFFLE_ALBUMS) {
+ plt_init_shuffle_albums (streamer_playlist, song);
+ }
streamer_unlock ();
}