zgmplay
いちお予告っぽい事はしましたが、毎度忘れた頃にやってくるアプリバージョンアップです。
相変わらずエンジンはGame Music Emu 0.5.2を使用してますんで、特にFamicompo作品のnsfで悲しい事になることが多いですが…。
今回はzipアーカイブの読み込みとm3uプレイリストに微妙に対応。あとlibunrar.soがあればrarアーカイブにも対応してたりするのですが、例のごとくCRCエラーでしょっちゅう解凍失敗してくれるので、実用度は70%と言ったところ。まぁ、無いよりマシって感じかな。
まぁ、エラーはすっ飛ばして再生するようにしたので、zshだと**/*指定できて楽です。あまり数が多いと引数長すぎって怒られますが。
あと、nsfplayよろしくキーボードでコントロール出来るようにもしてみました。やっぱり便利。GUI版開発が遅々として進まないので実装。
→、Space | 次の曲 |
Q、Cancel | 終了 |
↑↓ | 音量上下 |
日本語表示にlibiconv、zipファイル用にlibz、あと何故かlibqte、libqpeもリンクしてたりしますw
ですんで、LD_LIBRARY_PATHはちゃんと/home/QtPalmtop/libを含めておいてください。
あと、vgzが鳴らなくなりました。gunzipで解凍してvgmにして再生してください。gzreadがメモリ上のデータを読込めれば対応出来るのですが…。
もしくは一旦ファイルに吐き出してそいつを再生という美しくない実装になっちゃうんで、今回は見送り。
m3uファイルは直接指定は出来ないけど、あれば読込むという妙な実装になっています。
テストを十分に行ってないため、変な動きになるかもしれないです。自分の手持ちのファイルでは特に問題なさそうですが…、あんなファイル構成だったらヤバいかもなぁ…って心当たりは無い事もないですw
コマンドラインで渡されたファイルは以下の手順で登録されます。(3番が結構怪しいかも…)
- 単体ファイルで1曲のデータ(spc,gym,vgm)はそのまま登録
- アーカイブファイル(zip,rar)と同じディレクトリにbasenameが同じm3uファイルが有った場合、そのリストを読込んで登録
- アーカイブ内にm3uファイルが有った場合はそのリストを読込んで登録
- アーカイブ内にm3uファイルが無い場合はアーカイブのファイル一覧を登録
- 単体ファイルで複数曲のデータ(nsf,nsfe,gbs,hes,kss)と同じディレクトリにbasenameが同じm3uファイルが有った場合、そのリストを読込んで登録
- m3uファイルが無かった場合はそのファイルが持つTrack数分(最大128)を登録
と、まぁこんな感じで。
で、そのm3uファイルなんですが、手作業で作るのはかったるい(まぁ、Windows用とかはなんかいいソフトがあるんだろうけど)ので--make-listにアーカイブファイルを渡してやると中身のリストを作ってくれるようにはしました。
pathを含めちゃうこともあるのでm3u互換なのか疑問ですが、その辺気にしないならフルパスで全ファイル登録すればかなり高速で初期読み込みしてくれます。あ、言い忘れましたけど、渡すファイルが多いとかなり演奏開始までが遅いです。Zaurusのrebootとどっこいくらいの時もw
そんなこんなで色々いじって内部的には結構変更されてます。外面はあまり変わってないけど^^;
Linux用に他にも色々ありそうなアプリだったりしますが、車輪の再発明が楽しくて似たようなアプリをこさえ続けてます。まだまだ遊べますよ、Zaurus。。。
zgmplay_0.90b-1_arm.bin.tar.gz(133K)
zgmplay.080225_src.tar.bz2(169K)
libunrar-devel_3.7.8-1_arm.ipk(246K)
納得いかない版。Qt用じゃないのにSDに入れられるパッケージにしようとするとQtPalmtop/libにいれなきゃイカンというのは…
できれば手で解凍して収まるべき場所に置いてあげて下さい。
#なんかあったらコメントくださいな
| 固定リンク
この記事へのコメントは終了しました。
コメント
こんにちは。
NSFやGBSの再生でOKなどでスキップすると、前トラックの最後の音が一瞬だけ再生されるような気がします。
投稿: Starmirage | 2008年5月 5日 (月) 17時51分
こんばんは。コメントありがとうございます。
ご報告のとおり前のバッファが残っているみたいですね。
折を見て修正します。
投稿: えりお | 2008年5月 8日 (木) 22時56分