[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/listen f4aad1d915 4/5: Fix: Revert tracks individually
From: |
ELPA Syncer |
Subject: |
[elpa] externals/listen f4aad1d915 4/5: Fix: Revert tracks individually |
Date: |
Tue, 12 Mar 2024 18:58:41 -0400 (EDT) |
branch: externals/listen
commit f4aad1d915f06b2b24ccf69b4c86c344f7205cb0
Author: Adam Porter <adam@alphapapa.net>
Commit: Adam Porter <adam@alphapapa.net>
Fix: Revert tracks individually
So if a track's metadata came from MPD and we can't read its metadata
ourselves, we leave the track as-is.
---
listen-queue.el | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/listen-queue.el b/listen-queue.el
index dd826f25b3..a0be851d39 100644
--- a/listen-queue.el
+++ b/listen-queue.el
@@ -532,7 +532,10 @@ with \"ffprobe\"."
(defun listen-queue-revert-track (track)
"Revert TRACK's metadata from disk."
;; TODO: Use this where appropriate.
- (let ((new-track (car (listen-queue-tracks-for (list (listen-track-filename
track))))))
+ (when-let ((new-track (car (listen-queue-tracks-for (list
(listen-track-filename track))))))
+ ;; If `listen-queue-track' (and thereby `listen-queue-tracks-for') returns
nil for a track
+ ;; (e.g. if its metadata can't be read), leave it alone (e.g. its metadata
might have come from
+ ;; by MPD).
(dolist (slot '(artist title album number date genre etc))
;; FIXME: Store metadata in its own slot and don't misuse etc slot.
(setf (cl-struct-slot-value 'listen-track slot track)
@@ -662,14 +665,7 @@ disk."
(defun listen-queue-reload (queue)
"Reload QUEUE's tracks from disk."
- ;; FIXME: If a track's metadata can't be read by
`listen-info--decode-info-fields',
- ;; `listen-queue-track' will return nil for it instead of a track. This
means that, for a few
- ;; filetypes that, e.g. MPD can read but `listen-info' can't, this function
will end up discarding
- ;; tracks that might have metadata from MPD and that VLC could play.
- (setf (listen-queue-tracks queue)
- (listen-queue-tracks-for (mapcar (lambda (track)
- (expand-file-name
(listen-track-filename track)))
- (listen-queue-tracks queue)))))
+ (mapc #'listen-queue-revert-track (listen-queue-tracks queue)))
(defun listen-queue-order-by ()
"Order the queue by the column at point.
- [elpa] externals/listen updated (2d4e2d3b98 -> 16a2c5a154), ELPA Syncer, 2024/03/12
- [elpa] externals/listen 0d750b5db7 1/5: Fix: (listen-queue--vtable-update-object) Non-found object, ELPA Syncer, 2024/03/12
- [elpa] externals/listen 6e29d50363 2/5: Fix: Adding tracks to queue from library, ELPA Syncer, 2024/03/12
- [elpa] externals/listen 3e6d544fbb 3/5: Fixes for reloading, deduplicating, etc., ELPA Syncer, 2024/03/12
- [elpa] externals/listen 16a2c5a154 5/5: Fix: (listen-lighter-format-rating) Ignore "-1" ratings, ELPA Syncer, 2024/03/12
- [elpa] externals/listen f4aad1d915 4/5: Fix: Revert tracks individually,
ELPA Syncer <=