我已经实现了一个VST2.4GUI (C++)与2个垂直推子。
在代码中,我将2链接在一起,以便将其中一个缩放到另一个。所以基本上我想说,fader2的值总是fader1的一半:
fader1 = 1.0;
fader2 = fader1 / 2; 代码相当简单,但我需要添加什么功能才能“反馈”到图形用户界面;这样当fader1滑块移动时,fader2上的滑块也会随着display变量的更新而移动(按比例)?
我假设它的工作方式与'valueChanged‘中的setParameterAutomated类似。
我之所以实现这一点,是因为我有一个开关,可以将2个推子链接到这个比率。因此,当它关闭时,每个渐变器都可以单独设置;但当它打开时,fader1会移动,fader2也会以2:1的比例随之移动
发布于 2011-05-27 09:54:55
当您移动滑块时,它会调用编辑器valueChanged()方法,而后者又会调用效果setParameterAutomated()。
setParameterAutomated()在内部调用setParameter()。此方法是虚拟的,您应该覆盖它,以便它将与第二个渐进器相关的参数值设置为您想要的任何值。别忘了也调用AEffectX::setParameter()。
然后,无论你有什么机制来通知用户界面参数的变化,你的第二个推子就会正确地移动。
您必须这样做,以便第二个推子移动,而不管第一个推子为什么移动(因为用户拖动了它,或者因为主机向它发送了自动事件)。
https://stackoverflow.com/questions/5522609
复制相似问题