moc で音楽を聴く
導入
moc (Music On Console) は コンソールで動作する音楽プレーヤだ。 自分は もっぱら mp3 を聴くのに利用している。
自前でサーバ部と UI 部に別れているので、演奏を途切れさせる事なく さっと取り出して操作してさっと切り離す、といったことが可能。 プレイリストエディタではタグ情報もちゃんと表示される。 反応性も良いし、見た目もスキンで変更できる(かなりセンスが要求される)。 screen と組み合わせて使えば最強のプレイヤと言える。
導入は ports もしくは package から入れるだけ。特に悩むところはない。 依存関係によっていろいろ引きずり込まれるが、 ports の場合は make 中に dialog が出るものが多いので見ておいたほうがよい。
名前は moc なのだが、実行ファイルは mocp となる。 「moc」コマンドは Qt の 「meta object compiler」にとられちゃったので 仕方なく後ろに p をつけたのだろうか?
カスタマイズ
設定できる項目がたくさんある割には重いドキュメントはない。 ドキュメントがないのは別に手抜きなわけじゃなくて、 設定サンプルファイルを読めばたいがいのことはわかるようにできているからだ。 なので、設定サンプルファイルは読んでおこう。
サンプルファイルは 動作を設定する config.example と 操作キー定義をする keymap.example の2つがあり、 ports から導入した場合は /usr/local/share/doc/moc/ に配置される。 とりあえず $HOME/.moc/ にコピーして、これを参考に編集するのがよい。
設定ファイルのサンプルは tab を用いて整形されているけれど、 もちろんただの空白でも問題なく解釈してくれる。
- キーマップの編集
まずは keymap ファイルにキーマップの編集を行う。 Arrow Key は手に馴染まないので jk で上下に動けるようにする。 しかし、もとの Arrow Key を殺してしまうのもアレなので、一応残しておく。
menu_up = k UP menu_down = j DOWN
2.4.x 以降ではこれではデフォルトキー設定とバッティングするので、 衝突するものを退避しておく。
plist_move_up = K plist_move_down = J
- 全体設定
次に、編集したこのキーマップを使用するように config ファイルに設定を行う。 ファイル名を書くだけなのだが、これを設定しない限り反映されないのでハマりがち。
Keymap = keymap
よく聴く .mp3 ファイルは ID3 タグを Shift JIS で入れていて、 でも普段は EUC な端末で生活しているので iconv 経由で変換するようにする。
(2.3.x の場合) TagsIconv = SHIFT-JIS:EUC-JP (2.4.x の場合) ID3v1TagsEncoding = SHIFT-JIS
上述の通り、moc のバージョンによって指定が異なるので注意が必要だ。 あとは、使用するディレクトリを登録しておくとサクっとジャンプできて便利なので いくつか書いておくとよい。
Fastdir1 = /home/sempreff/radio Fastdir2 = /home/sempreff/mp3
moc の挙動
演奏中に q で UI だけが切り離される。再度起動すれば UI だけが再びアタッチされる。 完全に停止したい場合は Q で抜ける。
UI を使って制御する方法のほうがわかりやすいが、 コマンドラインでもたいがいのことができる。 コマンドラインオプションに関しては mocp --help で確認できる。
プレイリストは ~/.moc/playlist.m3u に保存される。 moc 単体では複数のプレイリストを切り替えて扱う、といったことができないようなので 必要とあらばこのファイルを差し替えてしまえ。