branch: externals/listen commit 27b4e24ed23c5d14e1c61f29306acfbf0f3984b6 Author: Adam Porter <a...@alphapapa.net> Commit: Adam Porter <a...@alphapapa.net>
Fix: (listen--info MPV) Ignore when metadata isn't available --- listen-mpv.el | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/listen-mpv.el b/listen-mpv.el index 17fe3534e0..86a9130df8 100755 --- a/listen-mpv.el +++ b/listen-mpv.el @@ -43,11 +43,14 @@ ;;;; Functions (cl-defmethod listen--info ((player listen-player-mpv)) - (map-apply (lambda (key value) - ;; TODO: Consider using symbols as keys (VLC returns strings, MPV's decodes as - ;; symbols). - (cons (downcase (symbol-name key)) value)) - (listen-mpv--get-property player "metadata"))) + "Return metadata from MPV PLAYER, or nil if a track is not playing." + ;; If the metadata property isn't available, ignore the error. + (when-let ((metadata (ignore-errors (listen-mpv--get-property player "metadata")))) + (map-apply (lambda (key value) + ;; TODO: Consider using symbols as keys (VLC returns strings, MPV's decodes as + ;; symbols). + (cons (downcase (symbol-name key)) value)) + metadata))) (cl-defmethod listen--filename ((player listen-player-mpv)) "Return filename of PLAYER's current track."