読者です 読者をやめる 読者になる 読者になる

S.F. Page

Programming,Music,etc...

キャプチャデバイスのサポートと出力部分の見直し

WASAPI C++ DAWもどきの作成 デジタル信号処理 Windows Audio Windows API

キャプチャデバイスのサポート部分の実装をしつつ、出力部分の見直しをしている。

今まではWAVファイルの読み込みや再生に合わせて出力をコントロールしていた。再生を停止すると出力もストップするといった具合に。でもキャプチャデバイスをサポートするとなると今のままではまずいので、常時出力できるようにコードを変更している。完成するとキャプチャデバイスからのデータを常時出力し、WAVファイルの読み込み・再生が発生したらキャプチャデバイスのデータとミックスして再生するようになる。

処理の効率化のためスレッドコントロールの方法も見なおしている。1つはアトミック変数(Boost.Atomic)を積極的な使用。2つめは処理アイドル時のウェイト方法を単純なSleepからWaitForSingleObjectのタイムアウトへの変更。