LOOX-U の Voyage MPD がいい感じになってきたので,以前に導入した TW217 の方も同じように手を加えてみた.
fbterm で大きな文字で情報表示するのと,タブレットであるTW217に USB テンキーボードをつけて,有線リモコンにしてみた.
リモコンのキーを押すとライブラリからランダムに5曲登録するというスクリプトも作ってみた.
1. fbterm のインストール
2. 有線リモコンというか操作キーボードとして,USBテンキーボードをつなぐ
使ったのは Buffalo の USB 接続のテンキーボード.385円.送料込み.ヨドバシを見て,一瞬何かの間違いかと思ったくらい安かった.旧モデルの在庫処分だったようだ.
キーボード自体はつなげば認識する.
3. キーに機能を割り当てる
各キーにはそれぞれ機能を割り当ててある.割り当てのやり方はLOOX-Uのとき と同様.
割り当てた内容は:
string F71 = "/home/voyagempd/random5.sh\n" keycode 71 = F71 string F80 = "mpc toggle\n" keycode 80 = F80 string F79 = "mpc prev\n" keycode 79 = F79 string F81 = "mpc next\n" keycode 81 = F81 string F82 ="mpc stop\n" keycode 82 = F82 string F74 = "mpc volume +5\n" keycode 74 = F74 string F78 = "mpc volume -5\n" keycode 78 = F78 string F98 = "mpc update\n" keycode 98 = F98
リモコンと割り切っているので,キートップにはテプラで作ったラベルを貼って,今のところこんな状態に.
DB UPD はデータベースのアップデート.▲▼はボリュームのアップダウン.
演奏,停止,次の曲といった再生コントロールは見たとおり.
書類のアイコンのキーは,もともとは今の曲やプレイリストを表示させるために用意したのだけど,今の状態では意味がなくなっている.
4. ライブラリからランダムに登録するスクリプト
RND 5 (じゃんけんのパー) は,データベースからランダムに5曲をプレイリストに追加する.LOOX-U では自動で登録していくデーモンを走らせているが,こちらはキーを押すと5曲追加,という形にしてみた.
このためのスクリプトは以下:
random5.sh
#! /bin/bash for i in `seq 1 1 5` do song=`mpc listall | sed -n $[ $(od -vAn -N4 -tu4 < /dev/urandom) % $(mpc stats |\ grep Songs | awk '{print $2}')+1]p` mpc -q add "$song" done exit 0
1曲毎に mpc listall を呼んでいるのでライブラリがでかいとちょっともたつくが,まあ,ご愛嬌.
5. 演奏状態の画面表示スクリプト
せっかくの fbterm なので,ちょっとエスケープシーケンスも使ってみて,現在はこんな感じ.
mpd_monitor.sh
#!/bin/bash while : do mpc idle clear echo "[Now Playing] --- " `mpc volume | sed s/v/V/` \ " Consume:" `mpc | tail -1 | cut -d ":" -f 6` " ---" echo -e "Title: \e[37;40;1m" \ `mpc -f "%title%" current` "\e[m" echo -e "Player:\e[37;40;1m" \ `mpc -f "%artist%" current` "\e[m" echo -e "Album: \e[37;40;1m" \ `mpc -f "%album%" current` "\e[m"
echo -e "-----\n[Current Playlist]"
echo -e -n "*\e[5;37m" `mpc playlist -f "%title% - %artist%" | \ head -n1` | nkf -s | cut -c1-62 | nkf -w echo -e -n "\e[m" mpc playlist -f " %title% - %artist%" | \ sed -n '2,5p' | nkf -s | cut -c1-55 | nkf -w done
0 件のコメント:
コメントを投稿