branch: externals/listen
commit e9ea67350cf3b6cd870561c5e52d4b5255b04d34
Author: Adam Porter <a...@alphapapa.net>
Commit: Adam Porter <a...@alphapapa.net>

    Fix: (listen-queue-revert) Update current track by filename
---
 README.org      | 3 +++
 listen-queue.el | 7 ++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/README.org b/README.org
index c81b2566d9..a558636e05 100644
--- a/README.org
+++ b/README.org
@@ -86,6 +86,9 @@ Use the command ~listen~ to show the Transient menu.  From 
there, it is--hopeful
 + Optimize updating of individual tracks in queue buffer.
 + Improve handling of maximum volume with VLC (allowing boosting over 100%).
 
+*Fixes*
++ When reverting a queue's tracks from disk, re-detect the currently playing 
track by filename.
+
 ** v0.6
 
 *Additions*
diff --git a/listen-queue.el b/listen-queue.el
index 1b2ee5a409..7804c0fd52 100644
--- a/listen-queue.el
+++ b/listen-queue.el
@@ -639,7 +639,12 @@ disk."
   ;; TODO: Revise the terminology (i.e. "revert" should mean to revert from 
disk).
   (interactive (list listen-queue :reloadp current-prefix-arg))
   (when reloadp
-    (listen-queue-reload queue))
+    (listen-queue-reload queue)
+    (when (listen-queue-current queue)
+      ;; Update current track by filename.
+      (setf (listen-queue-current queue)
+            (cl-find (listen-track-filename (listen-queue-current queue))
+                     (listen-queue-tracks queue) :key #'listen-track-filename 
:test #'equal))))
   (listen-queue--update-buffer queue))
 
 (defun listen-queue-reload (queue)

Reply via email to