Tag Archives: open

VST3 SDK 3.6.6: setMouseEnabled() – how to use it?

I like to set control B (AnimKnob) disabled if control A (OnOffButton) is set to ‘On’ (value 1.0f).

It works when I click control A.
It doesn’t work when
a) the plugin is loaded the first time
b) a preset is loaded
c) switching between generic editor – plugin editor (without changing a pramater value)

Code (VST3.6.6, VSTGUI4.3):

void ViewController::valueChanged(CControl* pControl)
{
float ctrlValue = pControl->getValue();
switch (pControl->getTag())
{
case kParamDriveMode:// control A
{
CControl* ct =getControlByTag(kParamDriveModeCoeff);// control B
if (ct) {
//ct->setVisible((ctrlValue == 1.0f));
ct->setMouseEnabled((ctrlValue == 1.0f));
}

break;
}

In debug mode (VS 2015, Win 10) I can see that in any case the values are setting correctly.
But even when I set the background image or call setDirty(), invalid(), valueChanged(): it doesn’t work.

setVisible() instead of setMouseEnabled() works – but I don’t like to hide the control.

What do I miss?

sdk.steinberg.net