かなりすごいブログ

ジャズだって聴ける。そう、Vimならね。

Vim Advent Calendar 2013、130日目の記事になります。

jazzradio.vimをリリースしました

さて、私達が人間らしく生活していく上で最低限必要なものといえばなんでしょうか? そう、Vimとジャズですね。ところでジャズといえば、JAZZRADIO.comという便利サイトをご存知でしょうか。こちらは、様々なジャンルのジャズをストリーミングで聴ける、オンラインのラジオサイトです。

私は集中して作業を行いたい時はこのサイトを大いに活用しています。無料ですし、大変良い。

ですが、ひとつだけ大きな欠点がありました。そう、たかだか音源をストリーミング再生するためだけに、ウェブブラウザを立ち上げておく必要があるのです。ただでさえメモリを食いつくすGoogleChrome、タブのひとつも増やしたくありません。そこでどうするかというと、お察しの通り、Vimです。

というわけで、VimからJAZZRADIO.comの音楽を聴く事ができるプラグインjazzradio.vimをリリースしました。

インストール方法

jazzradio.vimは音楽のストリーミング再生部分に関して、mplayerに依存しています。まずは、mplayerをインストールしてください。brew install mplayersudo apt-get install -y mplayerなど、お使いのOSに合わせてご自由にどうぞ。Windows版のバイナリ配布もされている様ですが、手元にWindows機が無いため動作は確認できませんでした。Windows対応のPull Requestなどお待ちしています。

次に、プラグインをインストールします。おなじみNeoBundleの設定を記載しておきますので、.vimrcに追加して:Unite neobundle/installを行ってください。

NeoBundleLazy 'supermomonga/jazzradio.vim', { 'depends' : [ 'Shougo/unite.vim' ] }
if neobundle#tap('jazzradio.vim')
  call neobundle#config({
        \   'autoload' : {
        \     'unite_sources' : [
        \       'jazzradio'
        \     ],
        \     'commands' : [
        \       'JazzradioUpdateChannels',
        \       'JazzradioStop',
        \       {
        \         'name' : 'JazzradioPlay',
        \         'complete' : 'customlist,jazzradio#channel_id_complete'
        \       }
        \     ],
        \     'function_prefix' : 'jazzradio'
        \   }
        \ })
endif

以上でインストールは完了です。

使用方法

jazzradio.vimをインストールしたら、まずはチャンネル一覧の情報を取得しましょう。:JazzradioUpdateChannelsコマンドを実行することで、チャンネル一覧の情報を取得しローカルにキャッシュします。このコマンドの実行には少し時間がかかります。

以上で準備は完了です。:Unite jazzradioコマンドを実行すればジャンルごとのチャンネル一覧が表示されますので、お好きなチャンネルを選択してください。バックグラウンドで再生が始まります。mplayer経由で再生したほうがブラウザ経由よりも音質が良い感じがしますね。

Unite.vimを経由せず、:JazzradioPlay [channel_id]コマンドで直接再生を開始することもできます。また、再生をストップしたい時は:JazzradioStopコマンドを実行してください。

今後の予定

  • ドキュメント書いてないので書く(ドキュメントないのひどい…)
  • :JazzradioUpdateChannelsコマンドを非同期で実行、Unite.vimのインターフェイスで取得状況をリアルタイム表示するようにする
  • ボリューム操作、一時停止機能などを実装
  • mplayer操作部分を外部ライブラリとして分離

まとめ

ジャンルがジャズに該当するかどうかは置いておくとして、小島麻由美とかEGO-WRAPPIN'とかSWING HOLICとか好きです。

おわり

おわり