VSTi開発メモ(CSliderの問題とノイズ)

またまた詰まったのでメモ。

 

一つ目は、vstcontrolが提供しているGUIパーツのCSliderで、透過PNGが扱えない問題。

CKnobのほうでは透過pngを使えているのだけど,CSliderではうまく表示できなくて詰まった。

どうやら、CSliderではCknobと違ってオフスクリーン描画ができるようになっていて、それが原因っぽい。オフスクリーンへの描画時(もしくはオフスクリーンからメインへの描画時)にアルファ情報が抜け落ちるようで、ここの内部処理はまだ読んでいないけど、とりあえず、

CSlider::drawでオフスクリーン描画をするかどうかのフラグ pOScreen を無理やりFALSEにすること

で今のところ解決している。

 

2つ目は発音するボイスを切り替えるタイミングとか、エンベロープジェネレータでの状態(AttackとかDecayとか)の切れ目でクリックノイズが発生してしまう問題。

クリックノイズというかもはやインパルスで、これが発生していると、DAWで作ったシンセを使おうと思った時にインパルスでだいたいのエフェクトプラグインが落ちる。とても困る。

内部のバグなのか、それとも設計が悪いのかがよくわからなくて、まだ解決できていない。解決策は
・バンドパスフィルタを通す
・発音の最初と最後に全部フェードをかける
とかだけど、2つ目の解決策はエンベロープ中にノイズがなる問題は解決できないし、ううん

0 Comments

Leave a Reply

Your email address will not be published.