From 6c8504238ddbd96deea577df58c043b95cb1068d Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 7 Dec 2015 02:34:28 +0000 Subject: tracklist: swap functionality This (from the point of the client) will atomically swap two tracks. This should allow easily implementing of a tracklist editor. --- lib/dtas/player/client_handler.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lib/dtas/player/client_handler.rb') diff --git a/lib/dtas/player/client_handler.rb b/lib/dtas/player/client_handler.rb index e0af295..17cd6c3 100644 --- a/lib/dtas/player/client_handler.rb +++ b/lib/dtas/player/client_handler.rb @@ -696,6 +696,14 @@ module DTAS::Player::ClientHandler # :nodoc: io.emit('OK') end + def _dpc_tl_swap(io, msg) + usage = 'ERR usage: "tl swap TRACK_ID_A TRACK_ID_B"' + a_id = msg.shift or return io.emit(usage) + b_id = msg.shift or return io.emit(usage) + @tl.swap(a_id.to_i, b_id.to_i) or return io.emit('MISSING') + io.emit('OK') + end + def __bp_prev_next(io, msg, cur, bp) case type = msg[1] when nil, "track" -- cgit v1.2.3-24-ge0c7