Native Client SDK - XMPlayerはとりあえず動かせた。

公開:2011-09-26 11:05
更新:2017-09-22 05:39
カテゴリ:nacl,c++,xm player

SDK0.5バージョンで動くようになった。

スクリーンショット

XMPlayerへのリンク

ソースコード

作成に使用したもの

NaCl SDK以外に下記のものを利用しているので、今更だけど紹介しておく。

OpenMPT 互換 MOD/XM プレイヤの実装

XMファイルの再生コードはこのページのサンプルコードほぼそのままである。可搬性が高い。

jQuery

あんまり使いこなしているとは言えないが。

jQuery UI

UIはすべてjQuery UIで作成した。

Visual Studio 2010 Express

C++コードはVC++で書いた。インテリセンスが効くので。コンパイルも頑張ればIDE上でできそうだけど、コマンドラインでsconsした。

HTMLはVisual Web Developerで書いている。これもインテリセンスが効くので重宝している。

思ったよりも簡単に移行できた。

メソッドと引数を文字列変換してPostMessage/HandleMessageでやり取りする部分以外はSDK0.1でdeprecateとなっていた部分の書き換えぐらい。 動かすにはabout:flagsでNative ClientをONにする必要がある。

以前のバージョンだとメッセージをやり取りするときにスレッドを考慮しないといけなかったような気がする。PostMessageはスレッドをまたいでメッセージをJavaScriptに渡せるようだ。あ、非同期になっているのね。改良されているな。

気になるのはバイナリのサイズ。とうとう64bit版で5MB超となってしまった。大した処理をしていないのに。。やはり可搬性を考慮すると周辺のライブラリまで静的リンクしなくてはいけないので、大きくなってしまうのだろうか。