EMMS: Use emms-browser-cache-thumbnail-async to make helm-emms usable

master
Pierre Neidhardt 2019-02-22 16:58:48 +01:00
parent 6175c6e8e4
commit f41ab1b873
2 changed files with 22 additions and 1 deletions

View File

@ -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)

View File

@ -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)