我最近开始使用jvstwrapper和juce框架。似乎VST SDK有一些不同“程序”概念的乐器。例如,jvstwrapper和juce都有可以继承的类来创建你的乐器。这些类需要实现许多方法。在两种情况下(并在VST SDK中详细说明),必须实现方法“setProgram”,“getProgramName”,“setProgramName”,“getNumPrograms”等。我知道每个程序似乎都保存了一堆乐器设置,但它们实际上在什么情况下被使用?另外,应该有多少个“程序”?
VstInt32
(32位整数)作为程序索引。因此,插件理论上最多可以拥有2147483647个可能的程序。实际上,大多数主机将此限制为127(与MIDI程序更改消息兼容),因此不明智的是暴露超过127个程序,否则主机可能会出现问题。