about summary refs log tree commit homepage
path: root/lib/dtas/player
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2014-12-27 11:54:25 +0000
committerEric Wong <e@80x24.org>2014-12-27 11:58:26 +0000
commit949dbe07c02919f8f17d7880bc69c3ee683daca4 (patch)
treee8f112595a27ef95fcbc590e973cb2d926779ffd /lib/dtas/player
parent6c025858196b348c83ddd50e9233eb85c86c71d6 (diff)
downloaddtas-949dbe07c02919f8f17d7880bc69c3ee683daca4.tar.gz
This becomes useful for systems without inotify when we're editing
YAML (or whatever) files frequently and want changes to be reflected
right away during playback.  This is a weaker version of the plain
"restart" command, which restarts the entire playback chain.
Diffstat (limited to 'lib/dtas/player')
-rw-r--r--lib/dtas/player/client_handler.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/dtas/player/client_handler.rb b/lib/dtas/player/client_handler.rb
index 37357f7..35f85c2 100644
--- a/lib/dtas/player/client_handler.rb
+++ b/lib/dtas/player/client_handler.rb
@@ -463,7 +463,11 @@ module DTAS::Player::ClientHandler # :nodoc:
   def source_handler(io, msg)
     map = @source_map
     op = msg.shift
-    if op == "ls"
+    case op
+    when "restart"
+      __current_requeue
+      return io.emit("OK")
+    when "ls"
       s = map.keys.sort { |a,b| map[a].tryorder <=> map[b].tryorder }
       return io.emit(s.join(' '))
     end