PerlでMPlayerを制御する
mprndはランダム音楽プレーヤである。
はじめに
私のZaurus(SL-C3000)には、MusicPlayerと言う結構立派な音楽プレーヤが付いている。
また、MPlayerのフロントエンドであるZPlayerやKino2などの素晴らしいものも存在する。
しかし、それらはプレイリストを開くたびに、音楽ファイルからタイトルやアーティストなどの情報を毎回全て読み込むため、プレイリストに含めた音楽ファイルが多ければ多いほど音楽再生ができるまでに時間が掛かってしまい、ネットワークで接続した共有フォルダに保存してある大量の音楽ファイルを扱うことはほとんど無理である。
また、アプリケーションを実行したとき、終了時に再生していた音楽、またはその次から再生を開始する機能が何故か付いていない。
私の音楽の聞き方は(特に仕事中は)無節操で横着なので、大量の音楽ファイルをランダムに再生できれば必要十分であるが、その条件を満たすものは残念ながら存在しないようだ。
そこで作成したのが、ランダム音楽プレーヤのmprnd(エムピーランド)である。
動作条件
mprndはMPlayerのフロントエンドであり、Perlスクリプトで作成されたコンソール上で動作するアプリケーションであり、PuTTYやTeraTermなどのTelnetクライアントでも使用可能である。
mprndを実行するためには、以下のパッケージ(またはそれに相当するもの)をインストールする必要がある。
名称 | 説明 |
---|---|
mplayer-bvdd-iwmmxt_1.1.5-1_arm.ipk | 阿川さんがZaurus用に最適化したMPlayer |
perl_5.6.1-8.3-5_arm.ipk | 塚本さんがZaurus用にパッケージ化したPerl |
lib-perl-jcode_2.06-1_arm.ipk | Zaurus用にリビルドしたCPANモジュールのJcode |
lib-perl-term-readkey_2.30-1_arm.ipk | Zaurus用にリビルドしたCPANモジュールのTerm::ReadKey |
lib-perl-time-hires_1.86-1_arm.ipk | Zaurus用にリビルドしたCPANモジュールのTime::HiRes |
lib-perl-mp3-tag_0.9708-1_arm.ipk | Zaurus用にリビルドしたCPANモジュールのMP3::Tag |
lib-perl-mp4-info_1.11-1_arm.ipk | Zaurus用にリビルドしたCPANモジュールのMP4::Info |
ダウンロード
以下のリンクからipkgファイルをダウンロードして頂きたい。
download:mprnd_0.1-1_arm.ipk
インストール
- 動作条件に示したパッケージを各々の説明にしたがってインストールする。
- 前述のダウンロードに示したファイルを通常通り「ソフトウェアの追加/削除」でインストールする。
- 必要に応じて以降で説明する環境設定を行う。
実行方法
mprndはコンソールで以下のように実行する。
$ mprnd [musicdir|playlist] ...
環境設定
mprndの動作環境は以下の方法で設定できる。
$ mkdir $HOME/playlist $ mkdir /hdd3/Documents/playlist $ mkdir /hdd3/Documents/playlist/music $ ln -s /hdd3/Documents/playlist/music $HOME/playlist/music
- 【画面のキャラクタセット】
- 画面に出力するテキストのキャラクタセットはCHARSET環境変数で決定される。
CHARSET環境変数が設定されていない場合は、LANG環境変数にCHARSET環境変数に指定する文字列が含まれていることで決定される。
どちらの環境変数も有効ではない場合はEUCが設定されているものとする。
CHARSET=<jis|sjis|euc|utf8>
キー操作
mprndでは以下のキー操作が可能である。
キー | 説明 |
---|---|
Cancel / Esc | 終了 |
↑ | 音量を上げる |
↓ | 音量を下げる |
← | 再生中の曲を10秒戻す |
→ | 再生中の曲を10秒進める |
Enter / OK | 一時停止/再開 |
Space | 次の曲を再生 |
注意事項
- 音楽再生中にオートパワーオフが働かないように、mprndが動作中のときは電源管理を抑制しているので、思わぬときに電池切れとならないように注意して欲しい。
更新履歴
- 2007/02/11 Version 0.1-1 … 初回リリース