From 92b982757880ffbe37ef8b2e7d6166c5440d94f0 Mon Sep 17 00:00:00 2001 From: Yoni Rabkin Date: Mon, 1 Aug 2016 11:32:01 -0400 Subject: * lisp/emms-tag-editor.el: Avoids FLAC tags dup. Avoids FLAC tags duplication with old values. Patch by Daniel Dehennin . --- lisp/emms-tag-editor.el | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'lisp') diff --git a/lisp/emms-tag-editor.el b/lisp/emms-tag-editor.el index 6ed23f2..23e45f9 100644 --- a/lisp/emms-tag-editor.el +++ b/lisp/emms-tag-editor.el @@ -143,19 +143,25 @@ See also `emms-tag-editor-tag-file' and `emms-tag-editor-tag-ogg'.") "Commit changes to an FLAC file according to TRACK." (require 'emms-info-metaflac) (with-temp-buffer - (let (need val) + (let ((tags '("artist" "composer" "performer" "title" "album" "tracknumber" "discnumber" "date" "genre" "note")) + need val) (mapc (lambda (tag) (let ((info-tag (intern (concat "info-" tag)))) (when (> (length (setq val (emms-track-get track info-tag))) 0) (insert (upcase tag) "=" val "\n")))) - '("artist" "composer" "performer" "title" "album" "tracknumber" "discnumber" "date" "genre" "note")) + tags) (when (buffer-string) - (funcall #'call-process-region (point-min) (point-max) - emms-info-metaflac-program-name nil - (get-buffer-create emms-tag-editor-log-buffer) - nil - "--import-tags-from=-" - (emms-track-name track)))))) + (apply #'call-process-region (point-min) (point-max) + emms-info-metaflac-program-name nil + (get-buffer-create emms-tag-editor-log-buffer) + nil + (append + (mapcar (lambda (tag) + (concat "--remove-tag=" tag)) + tags) + '("--import-tags-from=-") + '("--") + (list (emms-track-name track)))))))) (defun emms-tag-editor-tag-ogg (track) "Commit changes to an OGG file according to TRACK." -- cgit v1.2.3