about summary refs log tree commit homepage
path: root/lib/dtas
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dtas')
-rw-r--r--lib/dtas/tracklist.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/dtas/tracklist.rb b/lib/dtas/tracklist.rb
index 094c22d..644c57f 100644
--- a/lib/dtas/tracklist.rb
+++ b/lib/dtas/tracklist.rb
@@ -120,6 +120,10 @@ class DTAS::Tracklist
   def previous!
     return if @list.empty?
     prev_idx = @pos - 1
-    @goto_pos = @list[prev_idx] ? prev_idx : nil
+    if prev_idx < 0
+      # stop playback if nothing to go back to.
+      prev_idx = @repeat ? @list.size - 1 : @list.size
+    end
+    @goto_pos = prev_idx
   end
 end