Here, the structure of the Überton repository is explained.
The structure of the repository looks like the following (approximately, parts omitted and not always updated immediately):
A plugin project generator is included in the bin/ directory (see Creating a new plugin project) and some logo variations in docs/.
All the actual code is contained in the src/ directory. The project has one common library project common/ that contains code used in all plugins.
The installer/ folder contains code for generating plugin installers for Windows (and hopefully in the future Linux). The installer projects are not built by CMake by default but can be enabled in the configuration step of CMake. Corresponding code needs to be added to the CMakeLists.txt of a plugin to add an installer. Look e.g. at the Tesseract plugin on how to do this.
In the Plugins/ folder all plugin projects reside. The BasicFx and BasicInstrument are templates for new projects (and are updated with changes in the common library). When adding a new plugin (see also Creating a new plugin project), the CMakeLists.txt file in the Plugins folder needs to be modified to trigger CMake to run again (adding or removing a space at the end of the file is enough). The ManualGui plugin is just a working project for GUI development and Tesseract and Hypersphere are (at the moment) the actually deployed plugin projects.
As there are several similar plugins based on higher-dimensional resonators (Tesseract, Hypersphere and in the future Hyperquader), the resonator_plugin_common project unites the common code for these plugins.
Each plugin has a resource/ directory containing UI resources and a source/ directory with C++ source files as well as a CMakeLists.txt file.
A set of factory presets for the plugin can be added as well as a user guide or manual to be included in the Windows/Linux installer.
Extended structure of the Tesseract directory:
- Electronic Chimes.vstpreset
- Light Ringing.vstpreset