+ (cons 'progn
+ (cdr
+ (assoc cmd
+
+ '(
+ ("ICY Info:"
+ ;; (message "ICY Info \"%s\"" param)
+
+ (if (string-match "StreamTitle='\\([^;]*\\)';" param)
+
+ (setq media/current-song-in-stream
+ (let ((s (match-string 1 param)))
+ (concat (if (string= s "")
+ "<no title>"
+ (encode-coding-string s 'latin-1)
+ ;; s
+ )
+ " | "
+ (format-time-string "%a %b %d %H:%M:%S")
+ )
+ )
+ )
+
+ ;; If we did not parse it properly, reset the
+ ;; song name, and display the ICY string raw
+ (setq media/current-song-in-stream nil)
+ (message "ICY Info \"%s\"" param)
+ )
+
+ (when media/mplayer/capture-dir
+ (let ((coding-system-for-write 'raw-text-unix))
+ (with-temp-buffer
+ (insert
+ (concat media/current-song-in-stream "\n"))
+ (write-region nil nil (concat media/mplayer/capture-dir "/log") t))))
+
+ (if (and media/current-song-in-stream media/current-information)
+ (media/show-current-information))
+ )