From 93b4340e6fd2b34f50aec2fa129e3d4122f6a5f6 Mon Sep 17 00:00:00 2001 From: Yoni Rabkin Date: Fri, 1 Sep 2017 16:27:37 -0400 Subject: * lisp/emms-playlist-sort.el: new function Sort playlist by file mtime. --- lisp/emms-playlist-sort.el | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'lisp') diff --git a/lisp/emms-playlist-sort.el b/lisp/emms-playlist-sort.el index 0c3b466..d9fc519 100644 --- a/lisp/emms-playlist-sort.el +++ b/lisp/emms-playlist-sort.el @@ -118,6 +118,20 @@ With a prefix argument, decreasingly." (file-name-extension (emms-track-get a 'name)) (file-name-extension (emms-track-get b 'name)))))) +(defun emms-playlist-sort-by-file-mtime () + "Sort emms playlist by file mtime, newest first. +With a prefix argument, oldest first." + (interactive) + (emms-playlist-sort + '(lambda (a b) + (funcall + (if current-prefix-arg + 'time-less-p + (lambda (t1 t2) (not (time-less-p t1 t2)))) + (emms-info-track-file-mtime a) + (emms-info-track-file-mtime b))))) + + (defvar emms-playlist-sort-map nil) (defun emms-playlist-sort-map-setup () @@ -138,6 +152,7 @@ With a prefix argument, decreasingly." (define-key map (kbd "C") 'emms-playlist-sort-by-info-composer) (define-key map (kbd "L") 'emms-playlist-sort-by-list) (define-key map (kbd "N") 'emms-playlist-sort-by-name) + (define-key map (kbd "T") 'emms-playlist-sort-by-file-mtime) map)) (define-key emms-playlist-mode-map -- cgit v1.2.3