Factory class for creating and identifying different types of WavetableComponents.
Definition wavetable_component_factory.h:22
static WavetableComponent * createComponent(ComponentType type)
Creates a new WavetableComponent instance of a given enumerated type.
Definition wavetable_component_factory.cpp:19
ComponentType
Enumerates all known WavetableComponents, including sources and modifiers.
Definition wavetable_component_factory.h:28
@ kNumComponentTypes
Total count of all component types.
Definition wavetable_component_factory.h:42
@ kWaveFolder
Modifier that applies wave folding.
Definition wavetable_component_factory.h:40
@ kWaveWindow
Modifier that applies window functions to the wave.
Definition wavetable_component_factory.h:37
@ kWaveSource
A basic wave source.
Definition wavetable_component_factory.h:29
@ kFrequencyFilter
Modifier that filters frequency components.
Definition wavetable_component_factory.h:38
@ kPhaseModifier
Modifier that shifts phase.
Definition wavetable_component_factory.h:36
@ kFileSource
A file-based audio source.
Definition wavetable_component_factory.h:31
@ kWaveWarp
Modifier that warps the waveform.
Definition wavetable_component_factory.h:41
@ kLineSource
A line-based wave source.
Definition wavetable_component_factory.h:30
@ kNumSourceTypes
Marks the end of source types.
Definition wavetable_component_factory.h:32
@ kShepardToneSource
Definition wavetable_component_factory.h:33
@ kSlewLimiter
Modifier that limits slew rate.
Definition wavetable_component_factory.h:39
@ kBeginModifierTypes
Definition wavetable_component_factory.h:35
static ComponentType getModifierType(int type)
Converts an integer index to a modifier ComponentType.
Definition wavetable_component_factory.h:104
static ComponentType getSourceType(int type)
Converts an integer index to a source ComponentType.
Definition wavetable_component_factory.h:96
static int numSourceTypes()
Returns the number of source types defined.
Definition wavetable_component_factory.h:57
static std::string getComponentName(ComponentType type)
Gets the human-readable name of a component from its enumerated type.
Definition wavetable_component_factory.cpp:75
static int numModifierTypes()
Returns the number of modifier types defined.
Definition wavetable_component_factory.h:64
static int numComponentTypes()
Returns the total number of component types defined.
Definition wavetable_component_factory.h:50
A base class representing a component in a wavetable synthesis chain.
Definition wavetable_component.h:32