Custom Sub-Controllers

Custom views are employed when you want to customize the view behavior of VSTGUI4 objects. Sometimes this is very graphic, like the audio waveform and FFT visualizers in the DemoCustomViews project and other times they are much more subtle - check out the reserved ASPiK custom views that implement better versions of the CKickButon and COnOffButton objects. There are numerous examples for you to examine in the ASPiK SDK and you can always find out more at the ASPiK website or

Custom sub-controllers are the second and perhaps even more powerful programming paradigms that the VSTGUI architects built into the library. A sub-controller allows you to customize the control behavior of GUI objects. There are many examples and many complex variations (the original RackAFX software implemented custom sub-controllers to create an old-school LCD display that used an alpha-wheel and value nudge buttons to replicate an old 1980's synth interface). The sky is really the limit here. The basic idea is to allow a custom sub-controller to act as the primary listener object for one or more GUI controls. It can then manipulate the controls, link them, or do all kinds of different stuff to intelligently connect the controls together. In our example we are going to link two CAnimKnob controls together so that moving one knob will automatically move the other knob in a stereo-pair fashion. That is incorporated into the same DemoCustomViews project that we used for the audio waveform views. A CTextButton named LINK is used to connect the knobs so that they move together as shown here:



In order to do this, we need to: