One control, two functions. | Advanced GUI API Programming in RackAFX v6.6 | Forum


Please consider registering

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —

— Match —

— Forum Options —

Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed Topic RSS sp_TopicIcon
One control, two functions.
April 10, 2016 - 4:23 pm
Member Since: November 27, 2014
Forum Posts: 10
sp_UserOfflineSmall Offline

Hi all,

I've been playing around with the tabbed GUI editor and have to say it's a welcome feature. I wanted to know if it's possible to have the buttons controlling the tabs also control other parameters at the same time e.g. I have a delay that has several different time settings (comb, free and sync). I want to change the graphic of the time knob by using the tab function which is not a problem but I want the same button to set the state of the switch to one of the three selections. I hope that makes sense.
Am I able to do this in the XML file when working in RackAFX or is this something I would have to do directly using make VST?

Thanks Ted.

April 10, 2016 - 4:43 pm
Member Since: November 27, 2014
Forum Posts: 10
sp_UserOfflineSmall Offline

Apologies, I haven't yet been through the GUI modules. I'll see if my answers are there first.

April 11, 2016 - 12:45 am
Member Since: January 29, 2017
Forum Posts: 689
sp_UserOfflineSmall Offline

In v6.6.4.1 the (easy) way to do this would be to create a dummy control in RackAFX that has the enumerated UINT datatype. You can then use that control as your Tab Controller ID value. You would need to give it the same number of enumerated items as you have views to switch. When the Tab is selected, it will not only change the view but will also call your userInterfaceChange() function, and there is where you can do other stuff - by changing underlying variables and calling sendUpdateGUI( ) you can move knob positions, turn buttons on/off, etc...

If you use one of the built-in Tab Controller ID values (there are 32 of them) then userInterfaceChange() won't get called.

In the current development version v6.7 (with the new UI front end), I have added the ability to use your own "user variable" of the VSTGUI type (float from 0.0 to 1.0). You can then assign it as the tab controller. The only thing this changes is that you don't need a dummy control, just a "user variable."

v6.7 also uses the new VSTGUI4.3 which has a new control called CSegmentButton that makes Tab Controllers very quickly. You don't need any special graphics (unless you want them, in which case you would need to use the Custom View paradigm). These controls can be used as radio buttons or tab-controllers. You can see that new control on the new RAFX UI on the right side here: [Project Audio Analyzer etc...]

Hope that helps.

BTW, the new version corrects an issue in VST2/3 what you brought up several months ago where there are strings prepended to the control names when you use the generic GUI editor in VST2/3 clients. It said "RootUnit blah blah blah" - that is also fixed in the current dev version. If you want to beta test it, contact me for the password.

- Will

April 11, 2016 - 1:14 am
Member Since: November 27, 2014
Forum Posts: 10
sp_UserOfflineSmall Offline

Thanks for the quick reply Will. I'll give it a go and see if I can get it working. Thanks for the advice and constant updates of your software.

Forum Timezone: America/New_York

Most Users Ever Online: 152

Currently Online:
6 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Chaes: 56

Skyler: 48

StevieD: 46

Derek: 46

Frodson: 45

Peter: 43

TheSmile: 43

Nickolai: 43

clau_ste: 39

jeanlecode: 37

Member Stats:

Guest Posters: 1

Members: 768

Moderators: 1

Admins: 6

Forum Stats:

Groups: 13

Forums: 42

Topics: 842

Posts: 3347

Moderators: W Pirkle: 689