From 137e36e346a4641850183684ab136fe781af121a Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 9 Sep 2013 07:43:24 +0000 Subject: player: reset tracklist when idle stat is detected We should return to the starting position of the tracklist if we are idle. --- lib/dtas/player.rb | 9 +++++++-- lib/dtas/tracklist.rb | 5 +++++ 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'lib/dtas') diff --git a/lib/dtas/player.rb b/lib/dtas/player.rb index a8c7fe0..8926e0b 100644 --- a/lib/dtas/player.rb +++ b/lib/dtas/player.rb @@ -359,7 +359,7 @@ class DTAS::Player # :nodoc: end end - echo "idle" + player_idle nil end @@ -388,10 +388,15 @@ class DTAS::Player # :nodoc: @srv.wait_ctl(dst, :wait_readable) else stop_sinks if @sink_buf.inflight == 0 - echo "idle" + player_idle end end + def player_idle + @tl.reset + echo "idle" + end + def drop_target(target) @srv.wait_ctl(target, :delete) target.close diff --git a/lib/dtas/tracklist.rb b/lib/dtas/tracklist.rb index 01339cc..a51db32 100644 --- a/lib/dtas/tracklist.rb +++ b/lib/dtas/tracklist.rb @@ -35,6 +35,11 @@ class DTAS::Tracklist @goto_pos = nil end + def reset + @goto_pos = nil + @pos = TL_DEFAULTS["pos"] + end + def size @list.size end -- cgit v1.2.3-24-ge0c7