У меня почти все время играет “Радио Рокс”.
Играет через mpg123, и все бы хорошо, но выхлоп у него выглядит примерно так:
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
version 1.12.1; written and copyright by Michael Hipp and others
free software (LGPL/GPL) without any warranty but with best wishes
rectory: http://online-radioroks.tavrmedia.ua:8000/
Playing MPEG stream 1 of 1: RadioROKS_256 ...
ICY-NAME: Radio ROKS
ICY-URL: http://www.radioroks.com.ua
MPEG 1.0 layer III, 256 kbit/s, 44100 Hz joint-stereo
ICY-META: StreamTitle='Машина Времени - Барьер';
ICY-META: StreamTitle='Машина Времени - Барьер';
ICY-META: StreamTitle='Radio ROKS - Київ: 103.6 fm';
ICY-META: StreamTitle='Radio ROKS - Київ: 103.6 fm';
ICY-META: StreamTitle='Radio ROKS - Київ: 103.6 fm';
ICY-META: StreamTitle='AC/DC - T.N.T.';
ICY-META: StreamTitle='AC/DC - T.N.T.';
ICY-META: StreamTitle='AC/DC - T.N.T.';
ICY-META: StreamTitle='AC/DC - T.N.T.';
ICY-META: StreamTitle='AC/DC - T.N.T.';
Вобщем-то неплохо…
Но и не хорошо.
Хотелось бы как-то так:
Radio ROKS - Київ: 103.6 fm
Demon - Expressing The Heart
@ Made In Rock: Alice In Chains - Would
И конечно с выводом названия композиции через всплывающие сообщения.
Вот сам bash скрипт:
#! /bin/bash
do_log() {
while true
do
read -d ';'
if [ ! -z "$REPLY" ]; then
track_old=$track_now;
track_now=$(echo "$REPLY"| grep ICY-META|sed s/ICY-META:\ StreamTitle=//g);
[ "$track_old" = "$track_now" ] || (notify-send "$track_now"&& echo $track_now)
sleep 10;
fi
done
}
mpg123 http://online-radioroks.tavrmedia.ua:8000/RadioROKS_256 &> /dev/stdout | do_log