SDK0.5バージョンで動くようになった。
スクリーンショット
NaCl SDK以外に下記のものを利用しているので、今更だけど紹介しておく。 XMファイルの再生コードはこのページのサンプルコードほぼそのままである。可搬性が高い。 あんまり使いこなしているとは言えないが。 UIはすべてjQuery UIで作成した。 C++コードはVC++で書いた。インテリセンスが効くので。コンパイルも頑張ればIDE上でできそうだけど、コマンドラインでsconsした。 HTMLはVisual Web Developerで書いている。これもインテリセンスが効くので重宝している。 メソッドと引数を文字列変換してPostMessage/HandleMessageでやり取りする部分以外はSDK0.1でdeprecateとなっていた部分の書き換えぐらい。
動かすにはabout:flagsでNative ClientをONにする必要がある。
以前のバージョンだとメッセージをやり取りするときにスレッドを考慮しないといけなかったような気がする。PostMessageはスレッドをまたいでメッセージをJavaScriptに渡せるようだ。あ、非同期になっているのね。改良されているな。
気になるのはバイナリのサイズ。とうとう64bit版で5MB超となってしまった。大した処理をしていないのに。。やはり可搬性を考慮すると周辺のライブラリまで静的リンクしなくてはいけないので、大きくなってしまうのだろうか。
XMPlayerへのリンク
ソースコード
作成に使用したもの
OpenMPT 互換 MOD/XM プレイヤの実装
jQuery
jQuery UI
Visual Studio 2010 Express
思ったよりも簡単に移行できた。