Here is a list of all modules:
Constants-Enums | |
DynamicModuleObjects | These objects are used for loading and unloading dynamic modules (DM) which are API-agnostic DLLs (Windows) or dylibs (MacOS). These use longstanding and very basic functions for DLL management; these functions are extremely well documented |
DynamicStringObjects | Dynamic string management for custom GUI controls that allow the string lists to be changed or the text labels to be altered; this is really just a big database of GUI controls and save interfaces to have them update in a thread-safe manner |
DynamicStringStructures | |
FX-FilteringObjects | These are all very small objects that were culled from Will Pirkle's book Designing Audio Effects Plugins in C++ 2nd Ed. They are taken either directly verbatim, or with slight name changes from the fxobjects.h and fxobjects.cpp files that you can download that accompany the book |
MIDIFunctions | |
ModulationFunctions | |
ModuleCores | These are the worker objects that do all of the processing and synthesis computations. Each core provides a variation on the SynthModule's functionality |
SynthEngine | |
SynthFunctions | |
SynthInterfaces | These are pure abstrace interfaces to be used as base classes for the synth objects. These allow container objects to hold (shared) simple interface pointers, or the actual object pointers; all object interfacing is done through the common objec model interfaces here |
SynthModules | These are the modular building blocks in the SynthLab project. All of these except the DCA include four member cores (it is easy to increase the maximum core count) |
SynthObjects | Very specilized and very small objects that handle the most fundamental implementations in the synth. This includes timer, ramp modulator, cross-fade-holder objects and many more |
SynthStructures | |
SynthVoice | The SynthLab SynthVoice object is responsible for rendering note events and there is one voice object per note of polyphony in the synths. As with the engine, the SynthVoice object has no base class, but is setup to be a base class with the virtual functions and destructor, so feel free to subclass your own when you are ready |