Page 1 of 1

Status LED

Posted: Tue Sep 24, 2019 5:58 pm
by oscill
Hi - New to VSTGUI and need help with a basic question. I'd like to have a GUI element similar to an LED that displays the status of one of my VST parameters. It's a simple bool param, so e.g. a green circle bitmap if true and a grey circle bitmap if false. I already have the parameter working (it queries via MIDI to detect if certain hardware is connected or not; it works properly with a generic gui (setting slider to 0 or 1 on startup).

Which view class should I use to implement this? I tried COnOffButton, with a read-only parameterFlag to prevent the user from changing the value. But I don't know how to have the GUI element reflect the internal parameter value. The control-tag is already set to the parameter ID.

I suspect I need some sort of listener to inform the GUI or host that the parameter value has changed. Or is there a specific GUI view element that is made for this purpose?

Thanks for any help.

Re: Status LED

Posted: Wed Sep 25, 2019 9:03 am
by Arne Scheffler
there's a little bit of information missing from you. How do you have integrated VSTGUI in your plug-in? There are many ways in how to do it. Are you using the VST3Editor binding class and use the WYSIWYG editor, or do you have coded the integration yourself ?


Re: Status LED

Posted: Sun Sep 29, 2019 7:19 pm
by programaudio
I have a similar question regarding how to display feedback from a read only parameter.

My controller inherits from VSTGUI::VST3EditorDelegate, similar to the again and helloworldWithVSTGUI samples.

I am using the WYSIWIG editor with an XML file, and have set the control tag to the corresponding VST3 parameter, after syncing the parameter tags.

In debugging mode, the host provides my editor with callbacks to the setParamNormalized() method, but I am not seeing the value updated in the VSTGUI.
I have tried using VU Meter and Text Label objects within the WYSIWYG editor.

Re: Status LED

Posted: Mon Sep 30, 2019 9:09 am
by Arne Scheffler
according to your description you are doing it correctly. The again example uses the same mechanism, maybe you can spot the difference to your code. Look at the parameter with the kVuPPMId identifier.