;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(setq media/mplayer/protocol-regexp
+ "^\\(AUDIO:\\|Exiting...\\|Starting\\|ANS_LENGTH\\|ANS_TIME_POSITION\\|Cache fill:\\|ICY Info:\\) *\\(.*\\)$")
+
(defun media/mplayer/filter-subfunctions (cmd param)
;; (unless (string= cmd "A:")
;; (message "cmd=%s param=%s" cmd param)
(assoc cmd
'(
-
- ;; ----------------------------------------
-
("ICY Info:"
;; (message "ICY Info \"%s\"" param)
)
)
+ ;; If we did not parse it properly, reset the
+ ;; song name, and display the ICY string raw
(setq media/current-song-in-stream nil)
-
- ;; If we did not parse it properly, show it
- (message "ICY Info \"%s\"" param))
+ (message "ICY Info \"%s\"" param)
+ )
(if (and media/current-song-in-stream media/current-information)
(media/show-current-information))
("Starting"
(media/mplayer/write "get_time_length\n")
- (if media/mplayer/capture-dir (media/mplayer/write "capturing\n"))
+ (when media/mplayer/capture-dir
+ (media/mplayer/write "capturing\n")
+ ;; (message "Capturing stream in %s" media/mplayer/capture-dir)
+ )
)
;; ----------------------------------------
(string-match "\\(.*\\)[\n\r]+" 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:\\|ICY Info:\\) *\\(.*\\)$" line)
+ (when (string-match media/mplayer/protocol-regexp line)
(media/mplayer/filter-subfunctions (match-string 1 line) (match-string 2 line))))
)
(setq media/mplayer/buffer (substring media/mplayer/buffer start)))
media/song-current-time nil
media/mplayer/cumulated-duration 0
media/mplayer/last-current-time nil
- ))
+ )
+)
(defun media/api/cleanup () "Called when killing the application's buffer"
(when media/mplayer/process
'("mplayer" nil "mplayer" "-slave" "-quiet")
media/mplayer/args
(when (string-match "\\(asx\\|m3u\\|pls\\|ram\\)$" media/mplayer/url)
- (if media/mplayer/capture-dir (list "-dumpfile"
- (concat media/mplayer/capture-dir
- "/"
- (replace-regexp-in-string "[^a-zA-Z0-9\.]" "_" media/mplayer/url)
- (format-time-string "-%Y-%m-%d-%H:%M:%S"))
- "-capture"
- "-playlist"
- )
+ (if media/mplayer/capture-dir
+ (list "-dumpfile"
+ (concat media/mplayer/capture-dir
+ "/"
+ (replace-regexp-in-string "[^a-zA-Z0-9\.]" "_" media/mplayer/url)
+ (format-time-string "-%Y-%m-%d-%H:%M:%S"))
+ "-capture"
+ "-playlist"
+ )
(list "-playlist"))
)
(list (replace-regexp-in-string "^file://" "" media/mplayer/url)))