From 6153c55c12cd8a538ac3a1bed1c8b977ac3083ff Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 22 Jan 2021 21:16:53 +0100 Subject: [PATCH] ambrevar/file: Add `tags'. --- .local/share/common-lisp/source/ambrevar/emacs.lisp | 2 ++ .local/share/common-lisp/source/ambrevar/file.lisp | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/.local/share/common-lisp/source/ambrevar/emacs.lisp b/.local/share/common-lisp/source/ambrevar/emacs.lisp index 6ba25643..a67a126d 100644 --- a/.local/share/common-lisp/source/ambrevar/emacs.lisp +++ b/.local/share/common-lisp/source/ambrevar/emacs.lisp @@ -9,6 +9,8 @@ (trivial-package-local-nicknames:add-package-local-nickname :alex :alexandria) (trivial-package-local-nicknames:add-package-local-nickname :sera :serapeum)) +;; TODO: Add helper to print list of objects / structs / plist / alist to an Emacs tabulated-mode buffer. + (export-always 'with-emacs-eval) (defmacro with-emacs-eval (&body body) "Evaluate BODY (s-expressions) with `emacsclient'. diff --git a/.local/share/common-lisp/source/ambrevar/file.lisp b/.local/share/common-lisp/source/ambrevar/file.lisp index a343e1a8..f2359ee0 100644 --- a/.local/share/common-lisp/source/ambrevar/file.lisp +++ b/.local/share/common-lisp/source/ambrevar/file.lisp @@ -15,6 +15,8 @@ ;; TODO: Only expose readers for slots that cannot be modified, such as `path'. +;; TODO: Implement disk-usage for directories. + (sera:eval-always (defun name-identity (name definition) (declare (ignore definition)) @@ -372,3 +374,8 @@ See `%description'." (ambrevar/ffprobe:height (find-if #'plusp (media-streams file) :key #'ambrevar/ffprobe:height))) + +(export-always 'tags) +(defmethod tags ((file mediafile)) + ;; TODO: Get tags from streams too? + (ambrevar/ffprobe:tags (media-format file)))