emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/listen 278c97695a 11/15: Change: (listen-queue) Update


From: ELPA Syncer
Subject: [elpa] externals/listen 278c97695a 11/15: Change: (listen-queue) Update current track when changed
Date: Tue, 5 Mar 2024 21:58:15 -0500 (EST)

branch: externals/listen
commit 278c97695a68c5c164c3b82186007f51a847bccb
Author: Adam Porter <adam@alphapapa.net>
Commit: Adam Porter <adam@alphapapa.net>

    Change: (listen-queue) Update current track when changed
---
 listen-queue.el | 25 ++++++++++++++++++-------
 1 file changed, 18 insertions(+), 7 deletions(-)

diff --git a/listen-queue.el b/listen-queue.el
index 496bf7f2b1..579e5f7952 100644
--- a/listen-queue.el
+++ b/listen-queue.el
@@ -109,13 +109,24 @@ intended to be set from the `listen-menu'."
             (make-vtable
              :columns
              (list (list :name "▶" :primary 'descend
-                         :getter (lambda (track _table)
-                                   ;; We compare filenames in case the queue's 
files
-                                   ;; have been refreshed from disk, in which 
case
-                                   ;; the track objects would no longer be 
`eq'.
-                                   (if (equal (listen-track-filename track)
-                                              (listen-track-filename 
(listen-queue-current queue)))
-                                       "▶" " ")))
+                         :getter
+                         (lambda (track _table)
+                           ;; We compare filenames in case the queue's files
+                           ;; have been refreshed from disk, in which case
+                           ;; the track objects would no longer be `eq'.
+                           (if (equal (listen-track-filename track)
+                                      (listen-track-filename 
(listen-queue-current queue)))
+                               (progn
+                                 (unless (eq (listen-queue-current 
listen-queue) track)
+                                   ;; HACK: Update current track in queue.  I 
don't know a
+                                   ;; more optimal place to do this.
+                                   (setf (seq-elt (listen-queue-tracks 
listen-queue)
+                                                  (seq-position 
(listen-queue-tracks listen-queue)
+                                                                
(listen-queue-current listen-queue)))
+                                         track
+                                         (listen-queue-current listen-queue) 
track))
+                                 "▶")
+                             " ")))
                    (list :name "#" :primary 'descend
                          :getter (lambda (track _table)
                                    (cl-position track (listen-queue-tracks 
queue))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]