从JUCE音频VST插件控制主机播放

时间:2016-09-13 01:31:25

标签: vst juce

我正试图找到一种方法来控制使用JUCE的VST插件构建VST主机的播放位置/速度。

我不确定这是否可行。

我在setPlayHead上找到了AudioProcessor函数,我认为这可能就是我要找的。

https://jsfiddle.net/Ltkpshm9/

但是在setPlayHead我正在读这篇文章:

Tells the processor to use this playhead object.

所有人都可以告诉我这是否意味着AudioProcessor上设置的新AudioPlayHead将用于主机播放(zb Cubase),或者是否意味着只有我的VST插件的AudioProcessor才会使用此AudioPlayHead和主机的AudioPlayHead不受影响)

感谢您对此提供任何帮助/意见。

1 个答案:

答案 0 :(得分:1)

以这种方式,VST插件无法控制音序器。 VST API不允许这样的任何事情。您发现的方法实际上是Juce API的一部分,它允许音序器将播放头结构传递给插件。

公平地说,没有技术原因说插件无法做到这一点。主机必须为该功能提供非官方的自定义操作码和关联的canDo。但是,它不会成为VST标准的一部分,并且只适用于该特定主机。

据我所知,没有主要的VST主机(包括Ableton Live,Cubase等)有机制允许这样做。从主持人的角度思考,提供这样一种机制会有点疯狂。想象一下多个插件试图同时停止/播放主机的播放!

所以是的,抱歉,但这并不是你想的方式。但是,VST插件可以通过Ableton Link控制主机的速度(但不是播放状态)。由于Link工作在本地网络套接字上,并且没有任何主/从概念,因此VST插件理论上可以以这种方式向主机发送速度变化。

现在(其中"现在" == 2016年9月),Ableton Live是唯一支持Link的音序器,但Ableton表示他们正在与其他公司合作,帮助他们增加对Link的支持,所以如果更多的音序器在不久的将来开始添加Link支持,我不会感到惊讶。