Life with music

昨日と同じネタですが。bashスクリプトを色々と弄り回して…


#!/bin/bash
#
#
PID=`ps -C mpg123 —format pid —no-headers`

function stop() { if [ -n “$PID” ]; then kill $PID fi
}

function play() { echo “Downloading playlist…” if [ -f /tmp/$2 ]; then rm /tmp/$2 fi wget -q -t 5 -P /tmp $1$2 stop sleep 2 for n in 1 2 3 ; do PID=`ps -C mpg123 —format pid —no-headers` if [ -n “$PID” ]; then break fi

URL=`nkf -Lu /tmp/$2 | grep File$n= | sed ‘s/File.=//’` if [ -n “$URL” ]; then echo $URL “$EXE” -q -b 8192 “$URL” & sleep 2 fi done }

case “$1” in puredj) EXE=“mpg123” play “http://addicted.puredj.com:8000/” “listen.pls” ;; musicone) EXE=”/usr/local/bin/mpg123” play “http://www.m1live.com/listen/” “musicone_hi.pls” ;; trance) EXE=”/usr/local/bin/mpg123” play “http://di.fm/mp3/” “trance96k.pls” ;; votrance) EXE=”/usr/local/bin/mpg123” play “http://di.fm/mp3/” “vocaltrance96k.pls” ;; jpop) stop mpg123 -q -b 8192 http://128k6.misproductions.com:8372/ & sleep 2 ;; stop) stop ;; *) echo “Usage: webradio {puredj|musicone|trance|votrance|jpop|stop}” exit 1
esac

exit 0

結果、こんなに長くなっちゃいました。bashスクリプトレベルが5ぐらい上がりました。プレイリストをゲットして、ちゃんとサーバのURLを確認するようにしたのが大きな変更点かな。あと、Digitally Imported Radioの方が古いmpg123だとうまく再生できないんで、最新版を/usr/local/binにぶちこんだ。

コメント

  1. umai より:

    atd 使って目覚ましwebラジオとか自動ストップとかに対応するなんて構想もあったりするのかしら?

  2. miyabi より:

    crondで朝・夜・深夜のボリュームを変えてます。でもって、1時間毎にランダムでチャンネル(?)を変えるようにしてみた。

タイトルとURLをコピーしました