|
SynthLab SDK
|
Abstract base class that encapsulates functionality of a module core; used with the Module-Core paradigm. More...
#include <synthbase.h>
Public Member Functions | |
| ModuleCore () | |
| Constructs a ModuleCore. More... | |
| virtual bool | reset (CoreProcData &processInfo)=0 |
| virtual bool | update (CoreProcData &processInfo)=0 |
| virtual bool | render (CoreProcData &processInfo)=0 |
| virtual bool | doNoteOn (CoreProcData &processInfo)=0 |
| virtual bool | doNoteOff (CoreProcData &processInfo)=0 |
| virtual int32_t | getState () |
| virtual bool | shutdown () |
| virtual void | setSustainOverride (bool sustain) |
| virtual void | setStandAloneMode (bool b) |
| bool | startGlideModulation (GlideInfo &glideInfo) |
| uint32_t | getModuleType () |
| const char * | getModuleName () |
| void * | getModuleHandle () |
| void | setModuleHandle (void *handle) |
| uint32_t | getModuleIndex () |
| void | setModuleIndex (uint32_t index) |
| int32_t | getPreferredModuleIndex () |
| void | setPreferredModuleIndex (uint32_t index) |
| ModuleCoreData & | getModuleData () |
| provides access to the core data: More... | |
Protected Attributes | |
| uint32_t | moduleType = UNDEFINED_MODULE |
| type of module, LFO_MODULE, EG_MODULE, etc... | |
| const char * | moduleName = nullptr |
| module name must be set in derived constructor | |
| void * | moduleHandle = nullptr |
| used for dynamically loading cores from DLLs | |
| uint32_t | moduleIndex = 0 |
| index of this core | |
| int32_t | preferredIndex = -1 |
| preferred index of this DYNAMIC core | |
| ModuleCoreData | coreData |
| core strings (16) and mod knob labels (4) | |
| bool | standAloneMode = false |
| flag for stand-alone mode of operation outside of SynthLab | |
| std::unique_ptr< GlideModulator > | glideModulator |
| built-in glide modulator for oscillators | |
Abstract base class that encapsulates functionality of a module core; used with the Module-Core paradigm.
Abstract Functions:
|
inline |
Constructs a ModuleCore.
|
inline |
provides access to the core data:
|
inline |
needed for dynamic loading/unloading
|
inlinevirtual |
ModuleCore virtual functions for EGs only – they need a few additional methods
Reimplemented in SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::AnalogEGCore, SynthLab::DXEGCore, and SynthLab::LinearEGCore.
|
pure virtual |
abstract base class functions: see synth book for details
Implemented in SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::SynthLabCore, SynthLab::VAFilterCore, SynthLab::LFOCore, SynthLab::SynthLabCore, SynthLab::KSOCore, SynthLab::DrumWTCore, SynthLab::FMLFOCore, SynthLab::FourierWTCore, SynthLab::FMOCore, SynthLab::MorphWTCore, SynthLab::LegacyPCMCore, SynthLab::WaveSliceCore, SynthLab::ClassicWTCore, SynthLab::MellotronCore, SynthLab::SFXWTCore, SynthLab::AnalogEGCore, SynthLab::DXEGCore, SynthLab::LinearEGCore, SynthLab::VAOCore, SynthLab::BQFilterCore, and SynthLab::AddOscCore.
|
inline |
to start glide modulation directly, without needing a derived class pointer