From c80315946e885a523f74d6a66ca7d7fa0682d6c2 Mon Sep 17 00:00:00 2001 From: Grant Shangreaux Date: Sun, 10 Jan 2021 20:30:35 -0600 Subject: Add: emms-tracktag wrapper for the audiotools program http://audiotools.sourceforge.net/ provides a tool `tracktag` which handles writing tags for several different audio formats, including Opus. this patch provides a very basic wrapper to interface between EMMS track info and tracktag metadata. It also configures emms-tag-editor.el to use it for writing tags to Opus files. Add: test.sh and test/test-all.el Basic setup to run ert tests from the terminal using Emacs in batch mode. This should load up only ERT, the tests in the test/ directory and their dependencies. Add: opus extension to emms-libtag-known-extensions libtag works as a reader for opus files, this just ads the opus extension to the regexp list. --- emms-info-libtag.el | 2 +- emms-tag-editor.el | 4 +- emms-tracktag.el | 71 +++++++++++++++++++++++++++++++ test.sh | 3 ++ test/emms-tracktag-test.el | 101 +++++++++++++++++++++++++++++++++++++++++++++ test/test-all.el | 6 +++ 6 files changed, 185 insertions(+), 2 deletions(-) create mode 100644 emms-tracktag.el create mode 100755 test.sh create mode 100644 test/emms-tracktag-test.el create mode 100644 test/test-all.el diff --git a/emms-info-libtag.el b/emms-info-libtag.el index fb9c5dd..9425a38 100644 --- a/emms-info-libtag.el +++ b/emms-info-libtag.el @@ -74,7 +74,7 @@ :type '(string)) (defcustom emms-info-libtag-known-extensions - (regexp-opt '("mp3" "mp4" "m4a" "ogg" "flac" "spx" "wma")) + (regexp-opt '("mp3" "mp4" "m4a" "ogg" "flac" "spx" "wma" "opus")) "Regexp of known extensions compatible with `emms-info-libtag-program-name'. Case is irrelevant." diff --git a/emms-tag-editor.el b/emms-tag-editor.el index 5b6e447..45c90f7 100644 --- a/emms-tag-editor.el +++ b/emms-tag-editor.el @@ -37,6 +37,7 @@ (require 'emms-info-mp3info) (require 'emms-playlist-mode) (require 'emms-mark) +(require 'emms-tracktag) (require 'format-spec) (require 'subr-x) @@ -138,7 +139,8 @@ See also `emms-tag-editor-default-parser'.") (info-performer . "--TOPE") (info-date . "--TDAT"))) ("ogg" . emms-tag-editor-tag-ogg) - ("flac" . emms-tag-editor-tag-flac)) + ("flac" . emms-tag-editor-tag-flac) + ("opus" . emms-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-tracktag.el new file mode 100644 index 0000000..0b8b660 --- /dev/null +++ b/emms-tracktag.el @@ -0,0 +1,71 @@ +;;; emms-tracktag.el --- EMMS interface for audiotools tracktag -*- lexical-binding: t; -*- + +;; Copyright (C) 2021 Grant Shoshin Shangreaux + +;; Author: Grant Shoshin Shangreaux +;; Keywords: + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; Provides a wrapper for audiotools tracktag executable +;; http://audiotools.sourceforge.net/tracktag.html +;; Given an EMMS TRACK structure, it will map the emms-info fields onto +;; arguments for tracktag. Then it calls the tracktag process to write the +;; info as metadata tags on the track's associated file. + +;;; Code: + +(require 'emms) + +(defvar emms-info-tracktag--info-fields + '((info-album . album) + (info-artist . artist) + (info-composer . composer) + (info-performer . performer) + (info-year . year) + (info-date . year) + (info-tracknumber . number) + (info-discnumber . album-number) + (info-note . comment) + (info-title . name)) + "An alist mapping info-* fields to tracktag fields.") + +(defun emms-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))) + +(defun emms-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))))) + +(defun emms-tracktag-file (track) + (apply #'call-process + "tracktag" nil + (get-buffer-create emms-tag-editor-log-buffer) + nil + "-Vdebug" + (emms-tracktag--build-args track))) + +(provide 'emms-tracktag) +;;; emms-tracktag.el ends here diff --git a/test.sh b/test.sh new file mode 100755 index 0000000..50547b1 --- /dev/null +++ b/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +emacs -Q --batch --directory="." -l ert -l test/test-all.el -f ert-run-tests-batch-and-exit diff --git a/test/emms-tracktag-test.el b/test/emms-tracktag-test.el new file mode 100644 index 0000000..9b66d5e --- /dev/null +++ b/test/emms-tracktag-test.el @@ -0,0 +1,101 @@ +;; emms-tracktag-test.el --- Unit tests for emms-tracktag module -*- lexical-binding: t; -*- + +;; Copyright (C) 2021 Grant Shoshin Shangreaux + +;; Author: Grant Shoshin Shangreaux +;; Keywords: + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; Tests for emms-tracktag.el + +;;; Code: + +(require 'emms) +(require 'emms-tracktag) + +(ert-deftest emms-tracktag--map-track-info-test () + "Ensure mapping of emms info to tracktag fields is correct." + (let ((track '(*track* + (type . file) (name . "foo") + (info-album . "The Sounds of the Sounds of Science") + (info-artist . "Yo La Tengo") + (info-title . "Sea Urchins") + (info-date . "2020") + (info-tracknumber . "1"))) + (track2 '(*track* + (info-composer . "Ira Kaplan, Georgia Hubley, James Mcnew") + (info-performer . "Yo La Tengo") + (info-year . "2002") + (info-discnumber . "1") + (info-note . "new soundtrack to an old film")))) + (should (seq-set-equal-p + '((album . "The Sounds of the Sounds of Science") + (artist . "Yo La Tengo") + (name . "Sea Urchins") + (year . "2020") + (number . "1")) + (emms-tracktag--map-track-info track))) + (should (seq-set-equal-p + '((composer . "Ira Kaplan, Georgia Hubley, James Mcnew") + (performer . "Yo La Tengo") + (year . "2002") + (album-number . "1") + (comment . "new soundtrack to an old film")) + (emms-tracktag--map-track-info track2))))) + +(ert-deftest emms-tracktag--build-args-test () + "Ensure args for tracktag are properly formed." + (let ((track '(*track* + (type . file) (name . "foo.flac") + (info-album . "The Sounds of the Sounds of Science") + (info-artist . "Yo La Tengo") + (info-title . "Sea Urchins") + (info-date . "2020") + (info-tracknumber . "1") + (info-composer . "Ira Kaplan, Georgia Hubley, James Mcnew") + (info-performer . "Yo La Tengo") + (info-discnumber . "1") + (info-note . "new soundtrack to an old film")))) + (should (seq-set-equal-p + '("--album=The Sounds of the Sounds of Science" + "--artist=Yo La Tengo" + "--name=Sea Urchins" + "--year=2020" + "--number=1" + "--composer=Ira Kaplan, Georgia Hubley, James Mcnew" + "--performer=Yo La Tengo" + "--album-number=1" + "--comment=new soundtrack to an old film" + "foo.flac") + (emms-tracktag--build-args track))) + (let ((track-with-empty-strings (copy-alist track))) + (setcdr (assq 'info-title track-with-empty-strings) "") + (setcdr (assq 'info-note track-with-empty-strings) "") + (should (seq-set-equal-p + '("--album=The Sounds of the Sounds of Science" + "--artist=Yo La Tengo" + "--year=2020" + "--number=1" + "--composer=Ira Kaplan, Georgia Hubley, James Mcnew" + "--performer=Yo La Tengo" + "--album-number=1" + "--remove-comment" + "--remove-name" + "foo.flac") + (emms-tracktag--build-args track-with-empty-strings)))))) + +;;; emms-tracktag-test.el ends here diff --git a/test/test-all.el b/test/test-all.el new file mode 100644 index 0000000..36f00c7 --- /dev/null +++ b/test/test-all.el @@ -0,0 +1,6 @@ +;; maybe not needed, but ensures tests run against the latest changes +(byte-recompile-directory ".") + +(mapc #'load + (mapcar (lambda (f) (file-truename (concat "test/" f))) + (seq-filter (lambda (f) (string-match "[^.#]+\\test.el$" f)) (directory-files (file-truename "./test"))))) -- cgit v1.2.3 From fba4599027e9982a143922fdf279791a8334cf6e Mon Sep 17 00:00:00 2001 From: Grant Shangreaux Date: Sat, 8 May 2021 20:41:24 -0500 Subject: Remove test files for now --- test.sh | 3 -- test/emms-tracktag-test.el | 101 --------------------------------------------- test/test-all.el | 6 --- 3 files changed, 110 deletions(-) delete mode 100755 test.sh delete mode 100644 test/emms-tracktag-test.el delete mode 100644 test/test-all.el diff --git a/test.sh b/test.sh deleted file mode 100755 index 50547b1..0000000 --- a/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -emacs -Q --batch --directory="." -l ert -l test/test-all.el -f ert-run-tests-batch-and-exit diff --git a/test/emms-tracktag-test.el b/test/emms-tracktag-test.el deleted file mode 100644 index 9b66d5e..0000000 --- a/test/emms-tracktag-test.el +++ /dev/null @@ -1,101 +0,0 @@ -;; emms-tracktag-test.el --- Unit tests for emms-tracktag module -*- lexical-binding: t; -*- - -;; Copyright (C) 2021 Grant Shoshin Shangreaux - -;; Author: Grant Shoshin Shangreaux -;; Keywords: - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -;;; Commentary: - -;; Tests for emms-tracktag.el - -;;; Code: - -(require 'emms) -(require 'emms-tracktag) - -(ert-deftest emms-tracktag--map-track-info-test () - "Ensure mapping of emms info to tracktag fields is correct." - (let ((track '(*track* - (type . file) (name . "foo") - (info-album . "The Sounds of the Sounds of Science") - (info-artist . "Yo La Tengo") - (info-title . "Sea Urchins") - (info-date . "2020") - (info-tracknumber . "1"))) - (track2 '(*track* - (info-composer . "Ira Kaplan, Georgia Hubley, James Mcnew") - (info-performer . "Yo La Tengo") - (info-year . "2002") - (info-discnumber . "1") - (info-note . "new soundtrack to an old film")))) - (should (seq-set-equal-p - '((album . "The Sounds of the Sounds of Science") - (artist . "Yo La Tengo") - (name . "Sea Urchins") - (year . "2020") - (number . "1")) - (emms-tracktag--map-track-info track))) - (should (seq-set-equal-p - '((composer . "Ira Kaplan, Georgia Hubley, James Mcnew") - (performer . "Yo La Tengo") - (year . "2002") - (album-number . "1") - (comment . "new soundtrack to an old film")) - (emms-tracktag--map-track-info track2))))) - -(ert-deftest emms-tracktag--build-args-test () - "Ensure args for tracktag are properly formed." - (let ((track '(*track* - (type . file) (name . "foo.flac") - (info-album . "The Sounds of the Sounds of Science") - (info-artist . "Yo La Tengo") - (info-title . "Sea Urchins") - (info-date . "2020") - (info-tracknumber . "1") - (info-composer . "Ira Kaplan, Georgia Hubley, James Mcnew") - (info-performer . "Yo La Tengo") - (info-discnumber . "1") - (info-note . "new soundtrack to an old film")))) - (should (seq-set-equal-p - '("--album=The Sounds of the Sounds of Science" - "--artist=Yo La Tengo" - "--name=Sea Urchins" - "--year=2020" - "--number=1" - "--composer=Ira Kaplan, Georgia Hubley, James Mcnew" - "--performer=Yo La Tengo" - "--album-number=1" - "--comment=new soundtrack to an old film" - "foo.flac") - (emms-tracktag--build-args track))) - (let ((track-with-empty-strings (copy-alist track))) - (setcdr (assq 'info-title track-with-empty-strings) "") - (setcdr (assq 'info-note track-with-empty-strings) "") - (should (seq-set-equal-p - '("--album=The Sounds of the Sounds of Science" - "--artist=Yo La Tengo" - "--year=2020" - "--number=1" - "--composer=Ira Kaplan, Georgia Hubley, James Mcnew" - "--performer=Yo La Tengo" - "--album-number=1" - "--remove-comment" - "--remove-name" - "foo.flac") - (emms-tracktag--build-args track-with-empty-strings)))))) - -;;; emms-tracktag-test.el ends here diff --git a/test/test-all.el b/test/test-all.el deleted file mode 100644 index 36f00c7..0000000 --- a/test/test-all.el +++ /dev/null @@ -1,6 +0,0 @@ -;; maybe not needed, but ensures tests run against the latest changes -(byte-recompile-directory ".") - -(mapc #'load - (mapcar (lambda (f) (file-truename (concat "test/" f))) - (seq-filter (lambda (f) (string-match "[^.#]+\\test.el$" f)) (directory-files (file-truename "./test"))))) -- cgit v1.2.3 From 7dc68851d417343917f1c3d7eaaeef87b16b4690 Mon Sep 17 00:00:00 2001 From: Grant Shangreaux Date: Sun, 16 May 2021 17:45:40 -0500 Subject: Add: re-namespace emms-tag-tracktag, info-date map to date --- emms-tag-editor.el | 4 +-- emms-tag-tracktag.el | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++ emms-tracktag.el | 71 -------------------------------------------------- 3 files changed, 75 insertions(+), 73 deletions(-) create mode 100644 emms-tag-tracktag.el delete mode 100644 emms-tracktag.el 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-tag-tracktag.el b/emms-tag-tracktag.el new file mode 100644 index 0000000..71c6ff5 --- /dev/null +++ b/emms-tag-tracktag.el @@ -0,0 +1,73 @@ +;;; emms-tag-tracktag.el --- EMMS interface for audiotools tracktag -*- lexical-binding: t; -*- + +;; Copyright (C) 2021 Grant Shoshin Shangreaux + +;; Author: Grant Shoshin Shangreaux +;; Keywords: + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; Provides a wrapper for audiotools tracktag executable +;; http://audiotools.sourceforge.net/tracktag.html +;; Given an EMMS TRACK structure, it will map the emms-info fields onto +;; arguments for tracktag. Then it calls the tracktag process to write the +;; info as metadata tags on the track's associated file. + +;;; Code: + +(require 'emms) + +(defvar emms-tag-tracktag--info-fields + '((info-artist . artist) + (info-composer . composer) + (info-performer . performer) + (info-title . name) + (info-album . album) + (info-tracknumber . number) + (info-discnumber . album-number) + (info-year . year) + (info-date . date) + (info-note . comment)) + "An alist mapping info-* fields to tracktag fields.") + +(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-tag-tracktag--info-fields))) + +(defun emms-tag-tracktag--build-args (track) + (flatten-list + (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-tag-tracktag-file (track) + (apply #'call-process + "tracktag" nil + (get-buffer-create emms-tag-editor-log-buffer) + nil + "-Vdebug" + (emms-tag-tracktag--build-args track))) + +(provide 'emms-tag-tracktag) +;;; emms-tag-tracktag.el ends here diff --git a/emms-tracktag.el b/emms-tracktag.el deleted file mode 100644 index 0b8b660..0000000 --- a/emms-tracktag.el +++ /dev/null @@ -1,71 +0,0 @@ -;;; emms-tracktag.el --- EMMS interface for audiotools tracktag -*- lexical-binding: t; -*- - -;; Copyright (C) 2021 Grant Shoshin Shangreaux - -;; Author: Grant Shoshin Shangreaux -;; Keywords: - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -;;; Commentary: - -;; Provides a wrapper for audiotools tracktag executable -;; http://audiotools.sourceforge.net/tracktag.html -;; Given an EMMS TRACK structure, it will map the emms-info fields onto -;; arguments for tracktag. Then it calls the tracktag process to write the -;; info as metadata tags on the track's associated file. - -;;; Code: - -(require 'emms) - -(defvar emms-info-tracktag--info-fields - '((info-album . album) - (info-artist . artist) - (info-composer . composer) - (info-performer . performer) - (info-year . year) - (info-date . year) - (info-tracknumber . number) - (info-discnumber . album-number) - (info-note . comment) - (info-title . name)) - "An alist mapping info-* fields to tracktag fields.") - -(defun emms-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))) - -(defun emms-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))))) - -(defun emms-tracktag-file (track) - (apply #'call-process - "tracktag" nil - (get-buffer-create emms-tag-editor-log-buffer) - nil - "-Vdebug" - (emms-tracktag--build-args track))) - -(provide 'emms-tracktag) -;;; emms-tracktag.el ends here -- cgit v1.2.3 From e5b53f624a16c0eafaa97500225404e74224ff36 Mon Sep 17 00:00:00 2001 From: Grant Shangreaux Date: Sun, 23 May 2021 12:19:03 -0500 Subject: Fix: circular dependency adding log buffer var for tracktag --- emms-tag-tracktag.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/emms-tag-tracktag.el b/emms-tag-tracktag.el index 71c6ff5..fe7390f 100644 --- a/emms-tag-tracktag.el +++ b/emms-tag-tracktag.el @@ -43,6 +43,10 @@ (info-note . comment)) "An alist mapping info-* fields to tracktag fields.") +(defvar emms-tag-tracktag-log-buffer "*EMMS-LOG*" + "Name of emms-tag-tractack's log buffer. +Defaults to the same value as emms-tag-editor-log-buffer") + (defun emms-tag-tracktag--map-track-info (track) (seq-filter (lambda (cell) (cdr cell)) (mapcar (lambda (pair) @@ -64,7 +68,7 @@ (defun emms-tag-tracktag-file (track) (apply #'call-process "tracktag" nil - (get-buffer-create emms-tag-editor-log-buffer) + (get-buffer-create emms-tag-tracktag-log-buffer) nil "-Vdebug" (emms-tag-tracktag--build-args track))) -- cgit v1.2.3 From 7465249af54b0eaaf90125f3c72d81dc3718c553 Mon Sep 17 00:00:00 2001 From: Yoni Rabkin Date: Thu, 3 Jun 2021 14:52:09 -0400 Subject: * emms-setup.el: add tracktag to emms-all --- emms-setup.el | 1 + 1 file changed, 1 insertion(+) diff --git a/emms-setup.el b/emms-setup.el index d086878..5fd3267 100644 --- a/emms-setup.el +++ b/emms-setup.el @@ -90,6 +90,7 @@ the stable features which come with the Emms distribution." (require 'emms-mode-line) (require 'emms-mark) (require 'emms-tag-editor) + (require 'emms-tag-tracktag) (require 'emms-show-all) (require 'emms-streams) (require 'emms-lyrics) -- cgit v1.2.3 From 265b3bbf96e3788ba45428b0b7a99f99c03842f6 Mon Sep 17 00:00:00 2001 From: Yoni Rabkin Date: Thu, 3 Jun 2021 14:52:21 -0400 Subject: * emms-tag-tracktag.el: fix copyright --- emms-tag-tracktag.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emms-tag-tracktag.el b/emms-tag-tracktag.el index fe7390f..3be8e6c 100644 --- a/emms-tag-tracktag.el +++ b/emms-tag-tracktag.el @@ -1,6 +1,6 @@ ;;; emms-tag-tracktag.el --- EMMS interface for audiotools tracktag -*- lexical-binding: t; -*- -;; Copyright (C) 2021 Grant Shoshin Shangreaux +;; Copyright (C) 2021 Free Software Foundation, Inc. ;; Author: Grant Shoshin Shangreaux ;; Keywords: -- cgit v1.2.3 From 1a28476e90553c0cdbc5ae1a4e5c3fe37d3ba5ac Mon Sep 17 00:00:00 2001 From: Grant Shangreaux Date: Fri, 4 Jun 2021 22:58:14 -0500 Subject: * emms-tag-editor.el: Add: opus config for tag editor format Removes info-genre from available tags because tracktag doesn't write that field. --- emms-tag-editor.el | 1 + 1 file changed, 1 insertion(+) diff --git a/emms-tag-editor.el b/emms-tag-editor.el index ce9d934..0ea887d 100644 --- a/emms-tag-editor.el +++ b/emms-tag-editor.el @@ -86,6 +86,7 @@ `(("mp3" . ,default) ("ogg" . ,(emms-tag-editor-make-format (remove 'info-year tags))) ("flac" . ,(emms-tag-editor-make-format (remove 'info-year tags))) + ("opus" . ,(emms-tag-editor-make-format (remove 'info-genre tags))) ("default" . ,default))) "Format to use when inserting the track. The CAR part is the extension of the track name, and the CDR part -- cgit v1.2.3