diff options
author | Max Kellermann <max@duempel.org> | 2014-11-25 19:21:22 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-11-26 08:24:25 +0100 |
commit | 8aa4a66ba03e8d2726fb7fddac53a892c41f1711 (patch) | |
tree | b97ceed147df07da0fee9a65e190282769d21ebd /src/queue/Playlist.cxx | |
parent | 2e7153d8d61548afdd84c2a0000af0571b84e62e (diff) | |
download | mpd-8aa4a66ba03e8d2726fb7fddac53a892c41f1711.tar.gz mpd-8aa4a66ba03e8d2726fb7fddac53a892c41f1711.tar.xz mpd-8aa4a66ba03e8d2726fb7fddac53a892c41f1711.zip |
Playlist: move playlist_song_started() into the class
Diffstat (limited to 'src/queue/Playlist.cxx')
-rw-r--r-- | src/queue/Playlist.cxx | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/queue/Playlist.cxx b/src/queue/Playlist.cxx index b2fd673b4..40495b330 100644 --- a/src/queue/Playlist.cxx +++ b/src/queue/Playlist.cxx @@ -63,24 +63,21 @@ playlist_queue_song_order(playlist &playlist, PlayerControl &pc, pc.EnqueueSong(new DetachedSong(song)); } -/** - * Called if the player thread has started playing the "queued" song. - */ -static void -playlist_song_started(playlist &playlist, PlayerControl &pc) +inline void +playlist::QueuedSongStarted(PlayerControl &pc) { assert(pc.next_song == nullptr); - assert(playlist.queued >= -1); + assert(queued >= -1); /* queued song has started: copy queued to current, and notify the clients */ - int current = playlist.current; - playlist.current = playlist.queued; - playlist.queued = -1; + const int old_current = current; + current = queued; + queued = -1; - if(playlist.queue.consume) - playlist.DeleteOrder(pc, current); + if (queue.consume) + DeleteOrder(pc, old_current); idle_add(IDLE_PLAYER); } @@ -185,7 +182,7 @@ playlist::SyncWithPlayer(PlayerControl &pc) /* check if the player thread has already started playing the queued song */ if (pc_next_song == nullptr && queued != -1) - playlist_song_started(*this, pc); + QueuedSongStarted(pc); pc.Lock(); pc_next_song = pc.next_song; |