X-Git-Url: https://www.fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=media-mplayer.el;h=fbcd87aa71e756c1083375863027790f6d1478ed;hb=6c647377c97541756bf9d9d7e350a156078ba997;hp=03ea5a1e084e5d3a1a92501ff1cc6fc2a09bb203;hpb=0785fb27e9d9eeb8d19dd8e1bfad8e520b04bb4c;p=elisp.git diff --git a/media-mplayer.el b/media-mplayer.el index 03ea5a1..fbcd87a 100644 --- a/media-mplayer.el +++ b/media-mplayer.el @@ -68,9 +68,9 @@ load Emacs less. Nil means no timing." ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun media/mplayer/filter-subfunctions (cmd param) - ;; (unless (string= cmd "A:") - ;; (message "cmd=%s param=%s" cmd param) - ;; ) + ;; (unless (string= cmd "A:") + ;; (message "cmd=%s param=%s" cmd param) + ;; ) (eval (cdr (assoc cmd @@ -79,6 +79,18 @@ load Emacs less. Nil means no timing." ;; ---------------------------------------- + ("ICY Info:" . + (progn + (if (string-match "StreamTitle='\\([^;]*\\)';" param) + (setq media/current-song-in-stream (concat (match-string 1 param) " | " (current-time-string))) + (setq media/current-song-in-stream nil) + (message "ICY Info \"%s\"" param)) + (if (and media/current-song-in-stream media/current-information) + (media/show-current-information))) + ) + + ;; ---------------------------------------- + ("ANS_LENGTH" . (setq media/song-duration @@ -171,8 +183,9 @@ load Emacs less. Nil means no timing." (string-match "\\(.*\\)[\n ]+" media/mplayer/buffer start)) (setq start (1+ (match-end 1))) (let ((line (match-string 1 media/mplayer/buffer))) - (when (string-match "^\\(AUDIO:\\|Exiting...\\|Starting\\|ANS_LENGTH\\|ANS_TIME_POSITION\\|Cache fill:\\) *\\(.*\\)$" line) - (media/mplayer/filter-subfunctions (match-string 1 line) (match-string 2 line))))) + (when (string-match "^\\(AUDIO:\\|Exiting...\\|Starting\\|ANS_LENGTH\\|ANS_TIME_POSITION\\|Cache fill:\\|ICY Info:\\) *\\(.*\\)$" line) + (media/mplayer/filter-subfunctions (match-string 1 line) (match-string 2 line)))) + ) (setq media/mplayer/buffer (substring media/mplayer/buffer start))) )