aboutsummaryrefslogtreecommitdiff
path: root/elisp/emms-info-libtag.el
diff options
context:
space:
mode:
authorBardofSprites <[email protected]>2024-09-29 14:24:31 -0400
committerBardofSprites <[email protected]>2024-09-29 14:24:31 -0400
commit7b7beacb673a85b11a6b45f597b4e074fc8b7e8d (patch)
tree2c00174cac3980f6e47c4f676d624ae0f222b364 /elisp/emms-info-libtag.el
parentbc9371998c564a4161cafefc82dbc693a65dda37 (diff)
remove elisp dir
Diffstat (limited to 'elisp/emms-info-libtag.el')
-rw-r--r--elisp/emms-info-libtag.el113
1 files changed, 0 insertions, 113 deletions
diff --git a/elisp/emms-info-libtag.el b/elisp/emms-info-libtag.el
deleted file mode 100644
index 9425a38..0000000
--- a/elisp/emms-info-libtag.el
+++ /dev/null
@@ -1,113 +0,0 @@
-;;; emms-info-libtag.el --- Info-method for EMMS using libtag -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2003-2021 Free Software Foundation, Inc.
-
-;; Authors: Ulrik Jensen <[email protected]>
-;; Jorgen Schäfer <[email protected]>
-;; Keywords:
-
-;; This file is part of EMMS.
-
-;; EMMS 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, or (at your option)
-;; any later version.
-
-;; EMMS 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 EMMS; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
-
-;;; Commentary:
-
-;; This code has been adapted from code found in mp3player.el, written
-;; by Jean-Philippe Theberge ([email protected]), Mario
-;; Domgoergen ([email protected]) and Jorgen Schäfer
-
-;; To activate this method for getting info, use something like:
-
-;; (require 'emms-info-libtag)
-;; (add-hook 'emms-info-functions 'emms-info-libtag)
-
-;; Note that you should remove emms-info-mp3info and emms-info-ogginfo
-;; from the emms-info-functions list if you want to avoid
-;; conflicts. For example, to set libtag as your exclusive info
-;; provider:
-
-;; (setq emms-info-functions '(emms-info-libtag))
-
-;; You may have to compile the program from source.
-;; Make sure that you have libtag installed.
-;; In the EMMS source directory do
-;;
-;; make emms-print-metadata
-;;
-;; and copy src/emms-print-metadata to your PATH.
-
-;; If compilation fails and libtag is installed, you may have to
-;; change the line
-;;
-;; #include <tag_c.h>
-;;
-;; to the correction location, e.g.
-;;
-;; #include <taglib/tag_c.h>
-
-;;; Code:
-
-(require 'emms-info)
-
-(defgroup emms-info-libtag nil
- "Options for EMMS."
- :group 'emms-info)
-
-(defvar emms-info-libtag-coding-system 'utf-8)
-
-(defcustom emms-info-libtag-program-name "emms-print-metadata"
- "Name of emms-info-libtag program."
- :type '(string))
-
-(defcustom emms-info-libtag-known-extensions
- (regexp-opt '("mp3" "mp4" "m4a" "ogg" "flac" "spx" "wma" "opus"))
- "Regexp of known extensions compatible with `emms-info-libtag-program-name'.
-
-Case is irrelevant."
- :type '(string))
-
-(defun emms-info-libtag (track)
- (when (and (emms-track-file-p track)
- (let ((case-fold-search t))
- (string-match
- emms-info-libtag-known-extensions
- (emms-track-name track))))
- (with-temp-buffer
- (when (zerop
- (let ((coding-system-for-read 'utf-8))
- (call-process emms-info-libtag-program-name
- nil '(t nil) nil
- (emms-track-name track))))
- (goto-char (point-min))
- ;; Crush the trailing whitespace
- (while (re-search-forward "[[:space:]]+$" nil t)
- (replace-match "" nil nil))
- (goto-char (point-min))
- (while (looking-at "^\\([^=\n]+\\)=\\(.*\\)$")
- (let ((name (intern-soft (match-string 1)))
- (value (match-string 2)))
- (when (> (length value)
- 0)
- (emms-track-set track
- name
- (if (eq name 'info-playing-time)
- (string-to-number value)
- value))))
- (forward-line 1))))))
-
-(provide 'emms-info-libtag)
-;;; emms-info-libtag.el ends here