Juce::AudioIODeviceのWASAPI実装(10)

公開:2009-11-02 11:18
更新:2020-02-15 04:36
カテゴリ:wasapi,juce,vst host,audio,windows,c++,windows api

JUCEにはAudioIODeviceという基本クラスがあり、DirectSoundやASIOはこれを継承し、具象クラスとして実装されている。

以前にも書いたが、JUCEの作者はすでにWASPIの共有モードでのAudioIODevice具象クラスWASAPIIODeviceを作成している。掲示板で見る限り良好に動いているようだ。
http://www.rawmaterialsoftware.com/juceforum/viewtopic.php?t=4404

しかし、やはりWASAPIは排他モードで行ったほうが、よりレイテンシの低いサウンド再生ができるので、私は排他モードで動かすIODeviceに拘り実装を続けている。

もう少しで音を鳴らせるのだけれど、とにかく音だけを出したいっていう方針で進めてきたので、多少強引なコードになってしまっている。
デバッグしていて気づいたのだけれど、今の自分の実装だと「エンドポイントはステレオで、In・Outはサンプリングレートが同じで周波数も同じが前提!」というコードになってしまっているので融通が利かない。この部分をいろいろなデバイスに可能な限り柔軟にサポートできるようにしようかなと思っている。

もうすぐまとまった休みが取れる(9日間)ので、そのときに一気に実装してしまいたいなと考えている。