« REALbasicのマルチスレッドと同期機構関連機能 | Main | ZaurusでCronInetとMewによるメールの定期巡回 »

2006.09.10

最新版GSPlayer v2.25(GSPlayer2)のビルド方法

20060910101504


20060910101250

「GSPlayer2」と検索してくる人が多いようなので、GSPlayer2のビルドを再試してみました。
断っておきますが、バイナリ配布はしてません。
改変版の配布は制限されていませんが、cppのソースをいじるほどの技量はありません。

mixi stationへの間接対応のためにログ取り機能の追加ができないかとソースを調べてみましたが、やっぱりVC++は無理だ……。
再生系の関数にファイルパスが渡っていれば、それを横取りしてファイルに書き出そうと思ったんですけどね。

現在のバージョンはv2.25aで、8月にリリースされたものですが、これが最終バージョンとなる予定であることがドキュメントに書いてありました。
一連の紆余曲折によって、本来あるべき配布形態が取られずにいたことが本当に残念でなりません。
最近Ruby界隈で話題になっているようですが、フリーソフトは政治なんかではなく、恋愛みたいなものではないかと思ってます。

ビルドはMicrosoft eMbedded Visual C++ 4.0を使って行ないます。無料の統合開発環境です。

それを例によってダウンロードし、使えるようにします。
このToru TAKAHASHIさんのページを参考にすれば、だれでもできるでしょう。
eVC++ 4.0、eVC++ 4.0のサービスパッチ、PPC2003 SDK、PPC2003のエミュレータを順次インストールすればOK。
エミュレータは、ひょっとしたら要らないかも。

GreenSoftwareさんからGSPlayer2のソースコードをいただいてきます。前述の通り、現在のバージョンはv2.25です。

愛機がiPAQ h2210なので、ターゲットは「Win32 (WCE ARMV4) ReleaseXScale」とします。

作業開始

アーカイブを解凍します。「\d:\gsplayer」に解凍したと仮定して説明します。
Microsoft eMbedded Visual C++ 4.0を起動します。

libmadのビルド

「ファイル>ワークスペースを開く」から、「D:\gsplayer\libmad\libmad.vcw」を開きます。
「アクティブなWCE構成」を「POCKET PC 2003」に、「アクティブな構成の選択」を「Win32 (WCE ARMV4) ReleaseXScale」にして、F7キーを押します。
以降、ワークスペースを開いたら、「アクティブなWCE構成」と「アクティブな構成の選択」がこの通りになっていることを確認しながら作業を進めます。話をF7キーを押したところまで戻します。libmadのビルドは警告がたくさん出ますが、「libmad.lib - エラー 0、警告 47」となって終われば大丈夫なようです。

libovdのビルド

「ファイル>ワークスペースを開く」から、「D:\gsplayer\libovd\libovd.vcw」を開きます。
「アクティブなWCE構成」を「POCKET PC 2003」に、「アクティブな構成の選択」を「Win32 (WCE ARMV4) ReleaseXScale」にして、F7キーを押します。

libovdのビルドもまた警告がたくさん出ますが、「libovd.lib - エラー 0、警告 47」となって終われば大丈夫なようです。

madplayのビルド

「ファイル>ワークスペースを開く」から、「D:\gsplayer\maplay\maplay.vcw」を開きます。
「アクティブなWCE構成」を「POCKET PC 2003」に、「アクティブな構成の選択」を「Win32 (WCE ARMV4) ReleaseXScale」にして、F7キーを押します。

madplayのビルドはすんなり行きます。「madplay.lib - エラー 0、警告 0」となって終わるでしょう。

GSPlayer2のビルド

いよいよGSPlayer2のビルドです。

「ファイル>ワークスペースを開く」から、「D:\gsplayer\GSPlayer2\WinCE_PPC2\GSPlayer2.vcw」を開きます。
「アクティブなWCE構成」を「POCKET PC 2003」に、「アクティブな構成の選択」を「Win32 (WCE ARMV4) ReleaseXScale」にします。
「アクティブなWCE構成」の隣にある「既定のデバイスの選択」をPOCKET PC 2003 Device」にしてデバイスとActiveSyncを開始し、F7キーを押します。

「GSPlayer2.exe - エラー 0、警告 0」で終わると思います。
終わるやいなや、ActiveSync中のデバイスに出来たバイナリがコピーされます。
コピー先はルートディレクトリです。

これがうまく行かない場合は、「D:\gsplayer\bin\jpn\WinCE_PPC2\ARMV4Relx\GSPlayer2.exe」にバイナリが出来ますので、これをデバイスにコピーしてください。

その他のプラットフォームについて

自分では試せないので、上記を参考に試してみてください。
現在GSPlayer2は「Windows Mobile 2005」にも対応してます。この場合は、「Visual Studio 2005 Standard Edition」でビルドするんですかね。
相応のSDKも必要になるでしょう。

ただ、上記の手順で作ったバイナリは、H/PC系を除き、各種WMで動くと思います。

最新版の使用感

前回の記事ではメニューがおかしいと書きましたが、今回ビルドしたものは直っていました。

また、Y.Nagamidori氏は、最近の版でバスブーストの改良を連綿と行なっているようです。
音割れで使えなかった記憶があるので早速試してみると、うまい調整で実用的な音質になってました。
音割れしません。これは素晴らしいかも。

|

« REALbasicのマルチスレッドと同期機構関連機能 | Main | ZaurusでCronInetとMewによるメールの定期巡回 »