この記事はVimperator Advent Calendar 2012の19日目担当記事である。
Jazz専門のインターネットラジオ曲、JAZZRADIO.comのプレイヤーをVimperatorで、勿論マウスレスで、操作する為のpluginを作った。
PC作業のBGMとして、ちょくちょくJAZZRADIO.comでJAZZを流している。
ここは、課金すれば好みの音楽プレイヤーソフトで高音質音源を再生出来るが、そうでなければWebページとして実装されているプレイヤーを使う事になる。ところが、このプレイヤーは、昨今のwebページの例に漏れず、ボタンが擬似ボタン(HTMLのa
要素やinput
要素、button
要素で実装されていない物)だったり、(ボリューム調整用の)スライダーを独自実装していたりで、キーボードで操作出来ない。マウスに手を伸ばさざるを得ない。Vimperator使いには耐え難い苦痛である。
なので、Webのプレイヤーをキーボードで操作出来るようにするpluginを作った。
ダウンロード
AmaiSaeta/jazzradio.com.js ・ GitHubjazzradio.com.jsを~/vimperator/plugin/辺りに突っ込んでくだしあ。
出来る事
- Hint modeで各種ボタンを押す事が出来る(Extended hint modeには未対応……というか、対応する必要ない気がしている)。
- プレイヤー右上の"channel"ボタンを押し、channelのリストを表示している状態で、j, kでリストをスクロール出来る。各チャンネルの選択はHintで。
- v, <S-v>でボリュームの上げ、下げが出来る
将来の展望とか
- 現状key mappingが固定なので、ユーザーが好みに設定出来るように改良したい。
- 例えばstella.jsみたいに、Ex commandとして実装すべきだったのかも知れない。これについては要検討。
- ややコードがきちゃない部分があるのでリファクタリングしたい……
- どうもJAZZRADIO.comのwebプレイヤーは、AudioAddict Incのコンポーネントっぽいので、同じプレイヤーコンポーネントを使っているインターネットラジオ局で使い回せるかも知れない。SKY.FMとか。未確認。
- むしろ、インタフェイス部とプレイヤー操作部を分離し、操作部をユーザーが好きに実装出来るようにして、あらゆるインターネットラジオ局汎用とすべきか……?