diff options
-rw-r--r-- | emacsconf-mail.el | 7 | ||||
-rw-r--r-- | emacsconf.el | 9 |
2 files changed, 13 insertions, 3 deletions
diff --git a/emacsconf-mail.el b/emacsconf-mail.el index 6553ffe..47b6031 100644 --- a/emacsconf-mail.el +++ b/emacsconf-mail.el @@ -830,7 +830,8 @@ Thank you so much for all the work you put into preparing a talk for ${conf-name ${signature}") (plist-get talk :email) - (let ((files (directory-files emacsconf-cache-dir + (let ((default-directory emacsconf-cache-dir) + (files (directory-files emacsconf-cache-dir t (regexp-quote (plist-get talk :file-prefix))))) (list :title (plist-get talk :title) @@ -856,10 +857,10 @@ ${signature}") (string-trim (shell-command-to-string (concat "md5sum " (shell-quote-argument file) " | cut -f 1 -d ' '")))) - (if (member (file-name-extension file) subed-video-extensions) + (if (member (file-name-extension file) emacsconf-media-extensions) (format " (around %d minutes long)\n" (ceiling - (/ (compile-media-get-file-duration-ms file) + (/ (emacsconf-get-file-duration-ms file) 60000.0))) ""))) files diff --git a/emacsconf.el b/emacsconf.el index d574ef3..37bfc83 100644 --- a/emacsconf.el +++ b/emacsconf.el @@ -1677,5 +1677,14 @@ tracks with the ID in the cdr of that list." "0"))))) info) (lambda (a b) (< (car a) (car b)))))))) + +(defun emacsconf-get-file-duration-ms (filename) + "Return the duration of FILENAME in milliseconds." + (* 1000 + (string-to-number + (shell-command-to-string + (concat "ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 " + (shell-quote-argument (expand-file-name filename))))))) + (provide 'emacsconf) ;;; emacsconf.el ends here |