- (pcase string
- ((and "@P 0\n"
- (guard emus-continuous-playback)
- (guard (eq emus-state 'playing)))
- (emus-play-next))
- ((rx (: string-start
- "@F "
- (+ digit)
- " "
- (+ digit)
- " "
- (let left-str (+ (not " ")))
- " "
- (let right-str (+ any))))
- (let* ((left (string-to-number left-str))
- (right (string-to-number right-str))
- (total (+ left right)))
- (setq emus-current-progress
- (format " %s/%s"
- (emus--timestamp left)
- (emus--timestamp total))))))))
+ (dolist (line (string-split string "\n"))
+ (pcase line
+ ((and "@P 0"
+ (guard emus-continuous-playback)
+ (guard (eq emus-state 'playing)))
+ (emus-play-next))
+ ((rx (: string-start
+ "@I ICY-META: StreamTitle="
+ (let str (+ (not ";")))
+ ";"))
+ (message (concat "Emus: Playing stream " str)))
+ ((rx (: string-start
+ "@F "
+ (+ digit)
+ " "
+ (+ digit)
+ " "
+ (let left-str (+ (not " ")))
+ " "
+ (let right-str (+ any))))
+ (let* ((left (string-to-number left-str))
+ (right (string-to-number right-str))
+ (total (+ left right)))
+ (setq emus-current-progress
+ (format " %s/%s"
+ (emus--timestamp left)
+ (emus--timestamp total)))))
+ ))))