* lisp/mpc.el (mpc-format): Always push form to pred

This commit is contained in:
Mark Oteiza 2015-10-14 19:00:31 -04:00
parent 943f7f902e
commit 453af81f16

View file

@ -1010,30 +1010,30 @@ If PLAYLIST is t or nil or missing, use the main playlist."
(substring time (match-end 0))
time)))))
(`Cover
(if-let ((dir (file-name-directory
(mpc-file-local-copy (cdr (assq 'file info)))))
(covers '(".folder.png" "cover.jpg" "folder.jpg"))
(cover (cl-loop for file in (directory-files dir)
if (member (downcase file) covers)
return (concat dir file)))
(file (with-demoted-errors "MPC: %s"
(mpc-file-local-copy cover))))
(let (image)
;; (debug)
(push `(equal ',dir (file-name-directory (cdr (assq 'file info)))) pred)
(if (null size) (setq image (create-image file))
(let ((tempfile (make-temp-file "mpc" nil ".jpg")))
(call-process "convert" nil nil nil
"-scale" size file tempfile)
(setq image (create-image tempfile))
(mpc-tempfiles-add image tempfile)))
(setq size nil)
(propertize dir 'display image))
;; Make sure we return something on which we can
;; place the `mpc-pred' property, as
;; a negative-cache. We could also use
;; a default cover.
(progn (setq size nil) " ")))
(let ((dir (file-name-directory
(mpc-file-local-copy (cdr (assq 'file info))))))
;; (debug)
(push `(equal ',dir (file-name-directory (cdr (assq 'file info)))) pred)
(if-let ((covers '(".folder.png" "cover.jpg" "folder.jpg"))
(cover (cl-loop for file in (directory-files dir)
if (member (downcase file) covers)
return (concat dir file)))
(file (with-demoted-errors "MPC: %s"
(mpc-file-local-copy cover))))
(let (image)
(if (null size) (setq image (create-image file))
(let ((tempfile (make-temp-file "mpc" nil ".jpg")))
(call-process "convert" nil nil nil
"-scale" size file tempfile)
(setq image (create-image tempfile))
(mpc-tempfiles-add image tempfile)))
(setq size nil)
(propertize dir 'display image))
;; Make sure we return something on which we can
;; place the `mpc-pred' property, as
;; a negative-cache. We could also use
;; a default cover.
(progn (setq size nil) " "))))
(_ (let ((val (cdr (assq tag info))))
;; For Streaming URLs, there's no other info
;; than the URL in `file'. Pretend it's in `Title'.