2016年1月30日土曜日

Onkyo TW217 の Voyage MPD へ fbterm と有線リモコンを導入


LOOX-U の Voyage MPD がいい感じになってきたので,以前に導入した TW217 の方も同じように手を加えてみた.
fbterm で大きな文字で情報表示するのと,タブレットであるTW217に USB テンキーボードをつけて,有線リモコンにしてみた.

リモコンのキーを押すとライブラリからランダムに5曲登録するというスクリプトも作ってみた.



1. fbterm のインストール

基本的には こちら と同じ.
梅フォントを入れてみたところ,文字幅を調整しないと文字間隔が妙な感じになったので,.fbtermrc の font-width だけいじってある.

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 件のコメント:

コメントを投稿