2016年1月25日月曜日

LOOX-U/C40 上の Voyage MPD に fbterm を入れる(2)

前編にあたる (1) で fbtermが入ったので続きを.

大きな文字で画面に曲名等を表示できるようになったので,曲が変わったりしたらその情報が自動更新されて表示されるようにしてみた.



ポイントは mpc コマンドの idle というオプション.mpd イベントが発生するまで待つ,というもの.これを使って,以下のようなシェルスクリプトを組み込み,起動時に daemon として常駐させる.

mpd_monitor.sh

#!/bin/sh
#mpc -f "%artist% - %title% in \"%album%\"" current
while :
do
    mpc idle
    clear
    echo -n "[Now Playing]"
    mpc volume | sed s/v/V/
    mpc -f "Artist: %artist%\nTitle:  %title%\nAlbum:  %album%" current
    echo "-----"
    echo "[Current Play List]"
    echo -n "* "
    mpc playlist | head -n1
    mpc playlist | sed "s/^/  /g" | sed -n "2,5p"
done

sed とかで整形したりしているのはお好みでOK.
このスクリプトを起動時に自動ログオンされるユーザの .bashrc に指定して常駐させる.

.bashrc の最後に次の1行を加える

/home/voyage/mpd_monitor.sh &

mpc idle はボリューム変更等の mpd イベントも引っかけるので,他のmpdクライアントなどで音量を上げ下げしたりしても表示が変わる.もちろん,playlist を更新しても勝手に書き換わってくれる.
現在演奏中の曲と今の設定ボリュームが表示され,その下にプレイリストが表示される.に入っていて次に演奏される曲が5曲分まで表示される (6曲目以降は入っていても表示されない).プレイリストの先頭の曲は今演奏されている曲なので,* マークをつけている.

0 件のコメント:

コメントを投稿