From ec90d94d50cdfb49d5474190365b71cd6f6267ae Mon Sep 17 00:00:00 2001 From: yonirabkin Date: Wed, 21 Sep 2005 15:10:00 +0000 Subject: fix emms-score.el and emms-info-ogg.el borkage darcs-hash:20050921151000-be80e-f0f52d81156347ffd2469b1cc3fc0f019a1cd597.gz --- emms-info-ogg.el | 53 +++++++++++++++++++++++++---------------------------- 1 file changed, 25 insertions(+), 28 deletions(-) (limited to 'emms-info-ogg.el') diff --git a/emms-info-ogg.el b/emms-info-ogg.el index 07b5e59..d0c4899 100644 --- a/emms-info-ogg.el +++ b/emms-info-ogg.el @@ -44,17 +44,12 @@ "EMMS info ogg version string.") ;; $Id: emms-info-ogg.el,v 1.14 2005/07/09 11:56:00 forcer Exp $ -(defgroup emms-info-ogg-comments nil +(defgroup emms-info-ogg nil "An EMMS-info method for getting/setting ogg-comments, using ogg-comments.el" :group 'emms-info-methods :prefix "emms-info-ogg-") -(defcustom emms-info-ogginfo-program-name "ogginfo" - "*The name/path of the ogginfo tag program." - :type 'string - :group 'emms-info-ogginfo) - (defun emms-info-ogg-get-comment (field info) (let ((comment (cadr (assoc field (cadr info))))) (if comment @@ -63,28 +58,30 @@ ogg-comments.el" (defun emms-info-ogg (track) "Retrieve an emms-info structure as an ogg-comment" - (let ((info (oggc-read-header (emms-track-name track))) - (file (emms-track-get track 'name))) - (with-temp-buffer - (call-process "ogginfo" nil t nil file) - (goto-char (point-min)) - (re-search-forward "Playback length: \\([0-9]*\\)m:\\([0-9]*\\)") - (let ((minutes (string-to-int (match-string 1))) - (seconds (string-to-int (match-string 2)))) - (setq ptime-total (+ (* minutes 60) seconds) - ptime-min minutes - ptime-sec seconds))) - - (emms-track-set track 'info-title (emms-info-ogg-get-comment "title" info)) - (emms-track-set track 'info-artist (emms-info-ogg-get-comment "artist" info)) - (emms-track-set track 'info-album (emms-info-ogg-get-comment "album" info)) - (emms-track-set track 'info-note (emms-info-ogg-get-comment "comment" info)) - (emms-track-set track 'info-year (emms-info-ogg-get-comment "date" info)) - (emms-track-set track 'info-genre (emms-info-ogg-get-comment "genre" info)) - (emms-track-set track 'info-playing-time ptime-total) - (emms-track-set track 'info-playing-time-min ptime-min) - (emms-track-set track 'info-playing-time-sec ptime-sec) - (emms-track-set track 'info-file (emms-track-name track)))) + (when (and (eq 'file (emms-track-type track)) + (string-match "\\.[Oo][Gg][Gg]\\'" (emms-track-name track))) + (let ((info (oggc-read-header (emms-track-name track))) + (file (emms-track-get track 'name))) + (with-temp-buffer + (call-process "ogginfo" nil t nil file) + (goto-char (point-min)) + (re-search-forward "Playback length: \\([0-9]*\\)m:\\([0-9]*\\)") + (let ((minutes (string-to-int (match-string 1))) + (seconds (string-to-int (match-string 2)))) + (setq ptime-total (+ (* minutes 60) seconds) + ptime-min minutes + ptime-sec seconds))) + + (emms-track-set track 'info-title (emms-info-ogg-get-comment "title" info)) + (emms-track-set track 'info-artist (emms-info-ogg-get-comment "artist" info)) + (emms-track-set track 'info-album (emms-info-ogg-get-comment "album" info)) + (emms-track-set track 'info-note (emms-info-ogg-get-comment "comment" info)) + (emms-track-set track 'info-year (emms-info-ogg-get-comment "date" info)) + (emms-track-set track 'info-genre (emms-info-ogg-get-comment "genre" info)) + (emms-track-set track 'info-playing-time ptime-total) + (emms-track-set track 'info-playing-time-min ptime-min) + (emms-track-set track 'info-playing-time-sec ptime-sec) + (emms-track-set track 'info-file (emms-track-name track))))) (provide 'emms-info-ogg) ;;; emms-info-ogg.el ends here -- cgit v1.2.3