branch: externals/emms
commit 7dc68851d417343917f1c3d7eaaeef87b16b4690
Author: Grant Shangreaux <gr...@unabridgedsoftware.com>
Commit: Grant Shangreaux <gr...@unabridgedsoftware.com>

    Add: re-namespace emms-tag-tracktag, info-date map to date
---
 emms-tag-editor.el                       |  4 +--
 emms-tracktag.el => emms-tag-tracktag.el | 46 +++++++++++++++++---------------
 2 files changed, 26 insertions(+), 24 deletions(-)

diff --git a/emms-tag-editor.el b/emms-tag-editor.el
index 45c90f7..ce9d934 100644
--- a/emms-tag-editor.el
+++ b/emms-tag-editor.el
@@ -37,7 +37,7 @@
 (require 'emms-info-mp3info)
 (require 'emms-playlist-mode)
 (require 'emms-mark)
-(require 'emms-tracktag)
+(require 'emms-tag-tracktag)
 (require 'format-spec)
 (require 'subr-x)
 
@@ -140,7 +140,7 @@ See also `emms-tag-editor-default-parser'.")
       (info-date        . "--TDAT")))
     ("ogg" . emms-tag-editor-tag-ogg)
     ("flac" . emms-tag-editor-tag-flac)
-    ("opus" . emms-tracktag-file))
+    ("opus" . emms-tag-tracktag-file))
   "An alist used when committing changes to tags in files.
 If the external program sets tags by command line options
 one-by-one, then the list should like:
diff --git a/emms-tracktag.el b/emms-tag-tracktag.el
similarity index 61%
rename from emms-tracktag.el
rename to emms-tag-tracktag.el
index 0b8b660..71c6ff5 100644
--- a/emms-tracktag.el
+++ b/emms-tag-tracktag.el
@@ -1,4 +1,4 @@
-;;; emms-tracktag.el --- EMMS interface for audiotools tracktag  -*- 
lexical-binding: t; -*-
+;;; emms-tag-tracktag.el --- EMMS interface for audiotools tracktag  -*- 
lexical-binding: t; -*-
 
 ;; Copyright (C) 2021  Grant Shoshin Shangreaux
 
@@ -30,42 +30,44 @@
 
 (require 'emms)
 
-(defvar emms-info-tracktag--info-fields
-  '((info-album . album)
-    (info-artist . artist)
+(defvar emms-tag-tracktag--info-fields
+  '((info-artist . artist)
     (info-composer . composer)
     (info-performer . performer)
-    (info-year . year)
-    (info-date . year)
+    (info-title . name)
+    (info-album . album)
     (info-tracknumber . number)
     (info-discnumber . album-number)
-    (info-note . comment)
-    (info-title . name))
+    (info-year . year)
+    (info-date . date)
+    (info-note . comment))
   "An alist mapping info-* fields to tracktag fields.")
 
-(defun emms-tracktag--map-track-info (track)
+(defun emms-tag-tracktag--map-track-info (track)
   (seq-filter (lambda (cell) (cdr cell))
               (mapcar (lambda (pair)
                         (cons (cdr pair) (emms-track-get track (car pair))))
-                      emms-info-tracktag--info-fields)))
+                      emms-tag-tracktag--info-fields)))
 
-(defun emms-tracktag--build-args (track)
+(defun emms-tag-tracktag--build-args (track)
   (flatten-list
-   (append (mapcar (lambda (pair)
-                     (let ((tag (car pair)) (value (cdr pair)))
-                       (when value
-                         (if (string-equal value "") (concat "--remove-" 
(format "%s" tag))
-                           (concat "--" (format "%s" tag) "=" value)))))
-                   (emms-tracktag--map-track-info track))
-           (list (emms-track-name track)))))
+   (append
+    (mapcar (lambda (pair)
+              (let ((tag (car pair)) (value (cdr pair)))
+                (when value
+                  ;; if we've deleted a tag value in the editor, remove the 
tag from file metadata.
+                  (if (string-equal "" value) (concat "--remove-" (format "%s" 
tag))
+                    (concat "--" (format "%s" tag) "=" value)))))
+            (emms-tag-tracktag--map-track-info track))
+    (list (emms-track-name track)))))
 
-(defun emms-tracktag-file (track)
+(defun emms-tag-tracktag-file (track)
   (apply #'call-process
    "tracktag" nil
    (get-buffer-create emms-tag-editor-log-buffer)
    nil
    "-Vdebug"
-   (emms-tracktag--build-args track)))
+   (emms-tag-tracktag--build-args track)))
 
-(provide 'emms-tracktag)
-;;; emms-tracktag.el ends here
+(provide 'emms-tag-tracktag)
+;;; emms-tag-tracktag.el ends here

Reply via email to