私はここで新しいので、まず第一に:「みなさん、こんにちは!」
を介してprocess()からコントローラーにパラメーターの変更を渡すことに深刻な問題がありますdata.outputParameterChanges
。次のコードを見てください(kDataParamId
適切に設定されたパラメーターのIDです)。
tresult PLUGIN_API AGain::process (ProcessData& data)
{
IParameterChanges* paramChanges = data.outputParameterChanges;
if (paramChanges)
{
int32 index;
IParamValueQueue* paramQueue =
paramChanges->addParameterData(kDataParamId, index);
if(paramQueue)
{
paramQueue->addPoint(0, 0.1, index);
paramQueue->addPoint(0, 0.2, index);
paramQueue->addPoint(0, 0.3, index);
fprintf(stderr
, "[MyVSTPlugin] paramQueue->getPointCount() == %d\n"
, paramQueue->getPointCount());
}
}
return kResultOk;
}
これで得られるポイント数は「1」です。さらに、setParamNormalized()
(パラメータ変更を受信するコントローラの一部として)「0.3」でホストから1回呼び出されます。私は素朴かもしれませんが、パラメータポイントカウントが「3」を返すことを期待していたため、0.1、0.2、0.3の3つの呼び出しがありsetParamNormalized()
ます。私はここで何が欠けていますか????
これに関するヘルプとコメントは大歓迎です!
ありがとう、クリス