什么是"节目"在VST工具?

时间:2016-03-23 16:42:54

标签: java c++ audio vst juce

我最近开始使用jvstwrapper和juce框架。看起来VST SDK有一些不同的"程序"为你的乐器。例如,jvstwrapper和juce都有你继承的类,以便创建你的乐器。这些类需要实现许多方法。在这两种情况下(并在VST SDK中详细说明),您必须实现方法" setProgram"," getProgramName"," setProgramName"," getNumPrograms&# 34;我知道每个程序似乎都有一堆设备。但他们在什么情况下实际使用?加上应该有多少?

1 个答案:

答案 0 :(得分:3)

VST程序类似于硬件ROM预设或MIDI程序更改消息。如果您熟悉旧的合成器,硬件类比更有意义,旧的合成器通常出厂时预设,可以“拨打”然后进行相应的调整。有些主机会将程序列表显示为下拉菜单,以便用户可以快速浏览工厂预设。

关于插件可能具有的程序数量,VST SDK使用VstInt32(32位整数)作为程序索引。因此,一个插件理论上可以有多达2147483647个可能的程序。实际上,大多数主机将此限制为127(与MIDI程序更改消息兼容),因此暴露超过127个程序是不明智的,否则主机可能会出现插件问题。

恕我直言,VST程序的概念有点过时和过时。您的插件更有意义支持VST SDK的FXP / FXB功能,以便用户可以从/向硬盘导入/导出补丁。正如您所料,Juce当然有hooks for loading and saving VST preset files

许多现代插件不支持VST程序,并且您的插件在0调用中返回getNumPrograms()完全可以接受。