WASAPI サンプル(5) - JUCEに移植してみる

公開:2009-08-30 07:29
更新:2020-02-15 04:36
カテゴリ:windows,wasapi,juce,audio,windows api

WinAudioサンプルのソースコードのうち、UI処理の部分を除いて、自分のプロジェクトにマージした。
ここでいつもはまるのは、JUCEはUNICODE、ANSI文字どちらでもコンパイルできるマクロがTになっているため、STLやBoost、Windows APIのコードのTが置換され、コンパイルエラーになることだ。
それを回避するためにはJUCEヘッダをインクルードした後で、#undef Tとしておく。
後は、#define DONT_SET_USING_JUCE_NAMESPACEをjuceヘッダを読み込む前に入れておいて、Windows APIと名前の衝突が起こらないようにしておく。

コンパイルが終了したところで実装に入るが、次のステップで進めることにする。

1.Windows APIをいじるコードはcppファイル内に隠蔽するように別途クラスをヘッダに用意し、pimplで実装する。

これはUIクラスががWindows APIコードに依存しないように採る措置である。

2.1.が完成し、動作確認ができた次は、JUCEのサウンドデバイス抽象化モデルに沿って再構築する。