about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/dtas/player/client_handler.rb9
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/dtas/player/client_handler.rb b/lib/dtas/player/client_handler.rb
index ea0fc28..f313a2a 100644
--- a/lib/dtas/player/client_handler.rb
+++ b/lib/dtas/player/client_handler.rb
@@ -554,12 +554,11 @@ module DTAS::Player::ClientHandler # :nodoc:
       rescue ArgumentError => e
         return io.emit("ERR #{e.message}")
       end
-      _tl_skip if set_as_current
 
-      # start playing if we're the only track
-      if @tl.size == 1 && ! need_to_queue
-        next_source(_next)
-      end
+      _tl_skip if set_as_current # if @current is playing, it will restart soon
+
+      # start playing if we're currently idle
+      next_source(_next) unless need_to_queue
       io.emit("#{track_id}")
     when "repeat"
       case msg.shift