VSTGUI 4.10
Graphical User Interface Framework not only for VST plugins
|
The standalone library adds a minimal set of classes to write simple cross-platform UI applications. See this page for a list of classes.
Here's a minimal sample just showing one window:
Adding a real user interface to the window is done via a "What You See Is What You Get" editor at runtime as known from the VST3 inline editor. Bindings are done via the IModelBinding interface.
Binding the user interface with your code is done via IValue objects. A list of value objects are exposed via an object that implements the IModelBinding interface.
As an example implementation there is the ModelBindingCallbacks class in the helpers sub directory. For example you want to have a button in the UI which triggers a function, you can implement it like this :
After you have set the binding as the UIDesc::Config::modelBinding parameter when you create the window, you can start your program, enable the inline editor, create a button and bind that button to the "control-tag" of "MyFunction" as written in the above code. When the button is clicked, the function 'executeMyFunction' is called.
If you need deeper control of the UI you can supply an object implementing the ICustomization interface as the UIDesc::Config::customization parameter. In the UI editor you can set the 'sub-controller' attribute of a view container to create a new IController object out of your ICustomization object. This controller can alter the UI in many ways, it can even create custom views if you don't want to use the way described in IViewCreator to support the view inside the UI editor.
To compile and use the library you need a compiler supporting most of c++14.
As of this writing the following compilers work (others not tested):