ASPiK SDK
Loading...
Searching...
No Matches
VSTGUI4

GUI Design with VSTGUI4
There are several GUI design packages available for use in C++ software. Steinberg developed the VSTGUI GUI generation package around the same time as their first plugin API named VST and implemented platform-independent GUI controls packaged in C++ objects. This software has been refined and updated to its current fourth generation state known as VSTGUI4. We will refer to it simply as VSTGUI. This GUI design software was developed with audio plugins in mind right from the beginning. It has matured into a quite remarkable open-source library of GUI objects that may be used for any plugin API. VSTGUI is ideal for our Plugin Kernel because:

• It is not plugin API-specific (as is the Plugin Kernel)
• It is platform independent (like the Plugin Kernel)
• It is a mature, fourth generation product
• It is well maintained and updated with new features and bug fixes
• Its designers stay on top of the latest C++ developments and extensions, incorporating them into each new major revision
• It is designed to be extendible with Custom-View and Sub-Controller objects and APIs
• It is deep – you can really go far down the rabbit hole with VSTGUI and it can be used to develop UIs for all kinds of software, not just audio plugins; for example the main UI in RackAFX is done entirely with VSTGUI
• The complete GUI description, including the graphics file data, may be written into a single XML file, making it ultra-portable
• It comes pre-packaged with a platform independent drag-and-drop GUI designer, greatly simplifying the process of GUI design

That last point is one of the supreme advantages of VSTGUI, enabling you to design a fully functional and professional GUI without writing a single line of code.

The Plugin Kernel makes use of this functionality so that you may design your GUI in the plugin API and platform of your choice. Since your entire GUI is described in one XML file, you can easily move your GUI from one platform and API to another, without needing to import graphics files, change a single line of XML code, or do any additional programming.