aboutsummaryrefslogtreecommitdiff
path: root/emms-cache.el
diff options
context:
space:
mode:
authorPetteri Hintsanen <petterih@iki.fi>2021-03-11 20:53:11 +0200
committerPetteri Hintsanen <petterih@iki.fi>2021-04-30 00:39:35 +0300
commit74429d5abfc8399af4cb058eb8e0bad6c5f9be27 (patch)
treec87660552f542f5899db611a5b6b52ac749fc7f6 /emms-cache.el
parentd56d7053a08beab4c4cf047628f6c417bfccb2f2 (diff)
Make it possible to force-update Emms cache
Add a prefix argument to emms-cache-sync that will unconditionally update all tracks in Emms cache.
Diffstat (limited to 'emms-cache.el')
-rw-r--r--emms-cache.el17
1 files changed, 8 insertions, 9 deletions
diff --git a/emms-cache.el b/emms-cache.el
index 766af8c..72d0097 100644
--- a/emms-cache.el
+++ b/emms-cache.el
@@ -155,12 +155,12 @@ This is used to cache over emacs sessions.")
(load emms-cache-file t nil t)
(setq emms-cache-dirty nil))
-(defun emms-cache-sync ()
+(defun emms-cache-sync (arg)
"Sync the cache with the data on disc.
Remove non-existent files, and update data for files which have
-been modified."
- (interactive)
- (message "Syncing emms track cache...")
+been modified. With prefix argument, update data for all files
+regardless of whether they have been modified or not."
+ (interactive "P")
(let (removed)
(maphash (lambda (path track)
(when (eq (emms-track-get track 'type) 'file)
@@ -172,13 +172,12 @@ been modified."
(let ((file-mtime (emms-info-track-file-mtime track))
(info-mtime (emms-track-get track 'info-mtime)))
(when (or (not info-mtime)
- (emms-time-less-p
- info-mtime file-mtime))
- (run-hook-with-args 'emms-info-functions track))))))
+ (emms-time-less-p info-mtime file-mtime)
+ arg)
+ (emms-info-initialize-track track arg))))))
emms-cache-db)
(when removed
- (setq emms-cache-dirty t)))
- (message "Syncing emms track cache...done"))
+ (setq emms-cache-dirty t))))
(defun emms-cache-reset ()
"Reset the cache."