EMMS: Use emms-browser-cache-thumbnail-async to make helm-emms usable
parent
6175c6e8e4
commit
f41ab1b873
|
@ -6,11 +6,13 @@
|
|||
(emms-all)
|
||||
(emms-history-load)
|
||||
|
||||
(require 'patch-emms)
|
||||
|
||||
(setq emms-player-list (list emms-player-mpv)
|
||||
emms-source-file-default-directory (file-truename "~/music")
|
||||
emms-source-file-directory-tree-function 'emms-source-file-directory-tree-find
|
||||
;; Cover thumbnails.
|
||||
emms-browser-covers 'emms-browser-cache-thumbnail)
|
||||
emms-browser-covers 'emms-browser-cache-thumbnail-async)
|
||||
(add-to-list 'emms-player-mpv-parameters "--no-audio-display")
|
||||
(add-to-list 'emms-info-functions 'emms-info-cueinfo)
|
||||
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
;; REVIEW: The following should be included in EMMS 5.2.
|
||||
|
||||
(defvar emms-browser--cache-hash nil)
|
||||
(defun emms-browser-cache-thumbnail-async (dir size)
|
||||
(unless emms-browser--cache-hash
|
||||
(setq emms-browser--cache-hash (make-hash-table :test 'equal)))
|
||||
(let* ((key (cons dir size))
|
||||
(val (gethash key emms-browser--cache-hash)))
|
||||
(or val
|
||||
(puthash key (emms-browser-cache-thumbnail dir size)
|
||||
emms-browser--cache-hash))))
|
||||
|
||||
(defun emms-browser-clear-cache-hash ()
|
||||
(interactive)
|
||||
(clrhash emms-browser--cache-hash))
|
||||
|
||||
(setq emms-browser-covers 'emms-browser-cache-thumbnail-async)
|
||||
|
||||
(provide 'patch-emms)
|
Loading…
Reference in New Issue