如何在 Kontakt VSTi 中加载/设置仪器?



我已经阅读了 VST 2.4 SDK 文档和包含内容,但仍然没有找到任何方法:

当您在 VST 主机应用(如 Cubase(中将 Native Instruments Kontakt 实例化为 VSTi 时,主机应用能够找出在 Kontakt VST 窗口中加载的乐器,并且能够在加载 Cubase 项目时还原该乐器(告诉 Kontakt 自行加载(。Cubase甚至能够在单个Kontakt实例中恢复多个乐器。

他们为此使用哪些 API 命令/事件?或者斯坦伯格和NI之间是否有任何专有方式?

顺便说一句,Kontakt 是 VST 版本 2.4(不是 3.x(。 谢谢。

好的,我已经设法编写了完全符合我需求的代码:

获取内部插件状态:

if (pEffect->flags & effFlagsProgramChunks)
{
void *stateBuf = NULL;
stateBufSize = (int) pEffect->dispatcher (pEffect, effGetChunk, 0, NULL, &stateBuf, 0);
// ...
}

要设置/恢复内部插件状态:

if (pEffect->flags & effFlagsProgramChunks)
{
pEffect->dispatcher (pEffect, effSetChunk, 0, (VstIntPtr) stateBufSize, stateBuf, 0);
}

最新更新