XCode 4.6 で Steinberg VST プラグインをプログラミングしています。
正しく機能するハイパスフィルターを既に実装しています。現在、二次関数を使用して非線形歪みを実行しようとしています。以下の数行を実装し、プラグインをホストにロードすると、プラグインからすぐに出力が得られます。何も聞こえませんが、メーターは高くなっています。
その理由がまったく想像できません。計算が行われる processReplaceing 関数は、プラグインのロード時ではなく、サウンドの再生時にのみ呼び出す必要があります。以下の数行のコードを削除すると、すべて問題なく、正しく聞こえるので、残りのプラグイン コードとは何の関係もないと思います。
問題は 2 つのホストで発生するため、おそらく VST のバグではありません。誰かが同様の問題を経験したことがありますか?
どうもありがとう、ファビアン
void Exciter::processReplacing(float** inputs, float** outputs, VstInt32 sampleFrames){
for(int i = 0; i < sampleFrames; i++) {
tempsample = inputs[0][i];
//Exciter - Transformation in positive region, quadratic distortion and backscaling
tempsample = tempsample + 1.0f;
tempsample = powf(tempsample, 2.0f);
tempsample = tempsample / 2.0f;
tempsample -= 1.0f;
//Mix-Knob: Dry/Wet ------------------------------------------------
outputs[0][i] = mix*(tempsample) + (1-mix)*inputs[0][i];
編集:各関数にログファイル出力を追加しましたが、再生がオンになったときだけでなく、processReplaceing関数が永続的に呼び出されることが発生しました...しかし、なぜですか?