我正试图找到一种方法来控制VST主机的播放位置/节奏,从VST插件与JUCE构建。
我不确定这是否可能。
我在AudioProcessor
上发现了一个setPlayHead
函数,我想这可能就是我要找的。
https://www.juce.com/doc/classAudioProcessor a9015f8476c07b173e3c9919b3036339d
但是在setPlayHead
的文档中,我正在阅读这个:
Tells the processor to use this playhead object.
所以有人能告诉我这是否意味着新的AudioPlayHead设置在AudioProcessor将用于主机播放(z.b.cubase),或者这是否意味着只有我的VST插件的AudioProcessor将使用这个AudioPlayHead,而主机的AudioPlayHead不受影响)
感谢您的帮助。
音序器不能由VST插件以这种方式控制。VST API不允许这样的事情发生。你发现的方法实际上是Juce API的一部分,它允许音序器将播放头结构传递给插件。
公平地说,没有技术上的原因插件不能做到这一点。主机必须为该特性提供一个非官方的自定义操作码和一个相关的canDo
。然而,它不是VST标准的一部分,并且只适用于特定的主机。
据我所知,没有主要的VST主机(包括Ableton Live, Cubase等)有一个机制来允许这一点。从主机的角度考虑,提供这样的机制有点疯狂。想象一下,多个插件试图同时停止/播放主机的播放!
所以,是的,抱歉,但这是不可能的,在你想的方式。然而,这将是可能的VST插件来控制主机的节奏(但不是播放状态)通过Ableton链接。由于Link在本地网络套接字上工作,并且没有任何主/从的概念,理论上VST插件可以以这种方式向主机发送节奏变化。
现在("现在"== 2016年9月),Ableton Live是唯一支持Link的测序器,但Ableton表示他们正在与其他公司合作,帮助他们添加对Link的支持,所以如果更多的测序器在不久的将来开始添加Link支持,我不会感到惊讶。