diff options
author | Eric Wong <normalperson@yhbt.net> | 2013-09-09 07:51:06 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2013-09-09 07:51:06 +0000 |
commit | 72bdee181ad5d95f1925d3abedd7f860101a75d3 (patch) | |
tree | 7896769d343304962d967777039323549f83e9e2 /lib/dtas | |
parent | 0a2c2084eaca34fb869ee338315e91cbf809212f (diff) | |
download | dtas-72bdee181ad5d95f1925d3abedd7f860101a75d3.tar.gz |
This means we can go back and forth in the tracklist like a normal music player. This will allow an easier MPRIS 2.0 implementation.
Diffstat (limited to 'lib/dtas')
-rw-r--r-- | lib/dtas/player/client_handler.rb | 7 | ||||
-rw-r--r-- | lib/dtas/tracklist.rb | 6 |
2 files changed, 13 insertions, 0 deletions
diff --git a/lib/dtas/player/client_handler.rb b/lib/dtas/player/client_handler.rb index 355451d..33cae05 100644 --- a/lib/dtas/player/client_handler.rb +++ b/lib/dtas/player/client_handler.rb @@ -583,6 +583,13 @@ module DTAS::Player::ClientHandler # :nodoc: when "current-id" path = @tl.cur_track io.emit(path ? path.object_id.to_s : "NONE") + when "next" + _tl_skip + io.emit("OK") + when "previous" + @tl.previous! + _tl_skip + io.emit("OK") end end end diff --git a/lib/dtas/tracklist.rb b/lib/dtas/tracklist.rb index e0b00cb..c3cd3ff 100644 --- a/lib/dtas/tracklist.rb +++ b/lib/dtas/tracklist.rb @@ -114,4 +114,10 @@ class DTAS::Tracklist @goto_pos = nil # noop if track_id is invalid end + + def previous! + return if @list.empty? + prev_idx = @pos - 1 + @goto_pos = @list[prev_idx] ? prev_idx : nil + end end |