2007年6月15日金曜日

今日もポーティング

昨日のバグは相変わらず解決できていません^^; 仕方ないのでdelete部分をコメントアウトしてます。まぁ途中で廃棄することさえなければプログラムの終了と共に破棄されるはずですしね。気持ち悪いがそのうちなんとかしよう。目処は立ってないが(ぁ
今日はFFTを実装。といってもネイティブC++なのでFFTWをこちらの都合に合わせてラップするクラスを作っただけですが^^;
しかし、FFTWの使い方を調べてると、他にも面白そうなライブラリがごろごろしてましたね。特に興味を引いたのがliboctave。MatlabクローンのOctaveが使用しているライブラリで、高機能な行列計算やFFTなどがC/C++から利用できると。
Octaveだけで組むのは結構骨だけれど、行列計算は凄く便利。こりゃ面白そうだなと思ったけれど、OctaveがUNIXで使うことを前提としているからVC++で利用するにはかなり面倒らしい。
一応、コンソール制御の部分やグラフ描画を除いたVC++7向けのバイナリを公開しているところがあって、それを利用してみたのですが、同梱されていたtestは実行できたけれどそのライブラリを取り込む方法が分からずOrz まぁこれについては置いておこう。ATLAS使って高速化もしてあったから興味深いけどヘッダファイルが多すぎてどれを使っていいか分からなかったし(苦笑
他にもGSLやら何やらが見つかったけど、今回は見送ることに。覚えるまでが大変そうだ。そこまでたいそうなパッケージ群を必要としている訳じゃないしね。
それに、最終的にはシミュレーションから実際にサウンドを扱う実験へと昇華したいし、そのときに商用ライブラリをいくつか使うだろうからあまり依存性の高いコードだとさらなる移植が大変そうだし。ただでさえI/O部分は把握し切れてないからASIOを覚えなきゃいけないわけだし、余計な労力は避けないと。
さて、今日は面白そうってことで調べるのに随分時間割いちゃったからFFTのラッパーしか進んでいない。寝るまでにもう2つくらいはモジュールをポーティングしてしまいたいところ。頑張りますかね。