CSynthLab::CircularBuffer< double > | |
CCustomViewInfo | |
CDynamicModuleManager | This object maintains a set of SynthLab-DM Dynamic Modules |
CDynamicStringManager | Dynamic string manager - this object connects plugin parameters and their GUI controls with new or different sets of strings to display |
CmoduleAuxParamSet | |
CModuleGetter | Object for loading and unloading SyntLab-DM Dynamic Modules which are API-agnostic DLLs (Windows) or dylibs (MacOS) |
Cmoodycamel::BlockingReaderWriterQueue< T, MAX_BLOCK_SIZE > | |
Cmoodycamel::ReaderWriterQueue< T, MAX_BLOCK_SIZE > | |
Cmoodycamel::ReaderWriterQueue< std::string, 2 > | |
Cmoodycamel::ReaderWriterQueue< std::vector< std::string >, 2 > | |
▶CSynthLab::AudioBuffer | Encapsulates the audio buffering requirements of any module that uses audio samples for input and/or output |
CSynthLab::SynthProcessInfo | This structure holds all of the information needed to for the plugin framework to send MIDI information into the engine, and receive rendered audio samples that result |
CSynthLab::AudioDelayParameters | Custom parameter structure for the AudioDelay object |
CSynthLab::BasicLookupTables | Very basic lookup table object |
CSynthLab::BQAudioFilter | Simple version of the AudioFilter object from Designing Audio Effects Plugins in C++ 2nd Ed. by Will Pirkle that impelments a biquad audio filter |
CSynthLab::BQCoeffs | Structure to hold the seven coeffieicents used in the AudioFilter object from Designing Audio Effects Plugins in C++ 2nd Ed. by Will Pirkle |
CSynthLab::CircularBuffer< T > | The CircularBuffer object implements a simple circular buffer. It uses a wrap mask to wrap the read or write index quickly |
CSynthLab::convertUpper | |
CSynthLab::CoreProcData | This structure holds all of the information needed to call functions on a ModuleCore object. This structure must contain datatypes that are basic C++ types or structures of them, and can not contain anything from the std:: library |
CSynthLab::DCAParameters | Custom parameter structure for the DCA. This is a very simple object |
CSynthLab::DCRemovalFilter | Implements a first order HPF with fc = 2.0Hz |
CSynthLab::DelayLine | |
CSynthLab::DiodeVA1Coeffs | |
CSynthLab::DMConfig | |
CSynthLab::DynamicWavetable | Structure for holding information about a static wavetable, that is read from a static location, either compiled into the synth as a resource, or from a binary data file at startup time |
CSynthLab::EGParameters | Custom parameter structure for the any of the synth EGs. This structure is designed to take care of both analog EG and the DX EG requirements. Notable members: |
CSynthLab::Exciter | Special purpose object for use as Karplus Strong exciter |
CSynthLab::ExciterEG | Special purpose EG just for the Karplus Strong exciter |
CSynthLab::ExciterParameters | Custom parameter structure for the Exciter object for the KS Oscillator and cores |
CSynthLab::FilterOutput | Holds an array of filter output values; SynthLab filters can produce multiple outputs at once. For example, the 1st order VA filter produces 1st order LPF, HPF and APF output samples in the same render() function |
CSynthLab::FilterParameters | Custom parameter structure for the any of the synth filters. This structure is designed to take care of both VA and biquad filter parameter requirements. Notable members: |
CSynthLab::FMOperatorParameters | Custom parameter structure for moving GUI control information to the FMOperator oscillator object and its cores. Notable members: |
CSynthLab::FracDelayAPF | Implements a first order APF that is used to generate a fractional delay for the physcial model of a string |
CSynthLab::GlideInfo | |
CSynthLab::GlideModulator | Specialized version of the RampModulator, with nearly identically named functions to peform the portamento operation (aka glide modulation) |
CSynthLab::HighShelfFilter | Implementation of a high shelving filter |
CSynthLab::HP2Filter | Implements a simple 2nd order HPF |
▶CSynthLab::IFilterBase | Simple interface for SynthLab filters |
CSynthLab::VA1Filter | |
CSynthLab::VADiodeSubFilter | |
CSynthLab::VAKorg35Filter | |
CSynthLab::VAMoogFilter | |
CSynthLab::VASVFilter | |
▶CSynthLab::IMidiInputData | Interface for a MIDI input data object |
CSynthLab::MidiInputData | Holds all MIDI input data values |
▶CSynthLab::IModulator | Interface for modulator objects |
CSynthLab::Modulators | Implements a modulator object |
▶CSynthLab::IPCMSampleDatabase | Interface for PCM sample databases |
CSynthLab::PCMSampleDatabase | Object that acts as the PCM sample database, as shared synth-wide resource. You should study this especially if you want to implement your own database with your own PCM sample formats, etc.. |
▶CSynthLab::IPCMSampleSource | Interface for PCM sample sources |
CSynthLab::SynthLabPCMSource | Storage for a set of PCM samples that constitute a patch or instrument |
▶CSynthLab::IWavetableDatabase | Interface for wavetable databases |
CSynthLab::WavetableDatabase | Object that acts as the wavetable database, as shared synth-wide resource. You should study this especially if you want to implement your own database with your own wavetable formats, etc.. |
▶CSynthLab::IWavetableSource | Interface for wavetable sources |
CSynthLab::DrumWTSource | Storage for one static table source, specifically for drums which are pitchless and one-shot |
CSynthLab::DynamicTableSource | Storage for one dynamic table source; a wavetable that is created dynamically at load time, rather than being loaded from a static resource or table array |
CSynthLab::SineTableSource | Storage for one static sinusoidal table source; stores a single sine table that is used for all notes |
CSynthLab::StaticTableSource | Storage for one static table source; a static table is pre-compiled into the synth, or (optionally) read from a file. The "source" stores a set of these tables to maximize frequency content while prohibiting aliasing |
CSynthLab::WavetableSource | |
CSynthLab::JumpTable< T > | A customized circular buffer for the wave sequencer object. This is identical to the CircularBuffer object in the FX plugin book |
CSynthLab::KSOscParameters | Custom parameter structure for the Karplus-Strong oscillator and its cores. Notable members: |
CSynthLab::Lane | |
CSynthLab::LaneStep | Holds all the information needed for one step of one lane in the wave sequencer |
CSynthLab::LFOParameters | Custom parameter structure for the LFO object. Notable members: |
CSynthLab::Limiter | Implements a custom peak limiter designed especially for self oscillating filters whose outputs are > 0dBFS |
CSynthLab::LinPeakDetector | Encapsulates McNally's peak detector with added LPF smoothing (optional) |
CSynthLab::LogPeakDetector | Encapsulates McNally's peak detector with added LPF smoothing (optional) |
CSynthLab::LookUpTable | Structure to hold a dynamic LUT and its length |
CSynthLab::LowShelfFilter | Implementation of a low shelving filter |
CSynthLab::LP1PFilter | Implementation of a one-pole LPF |
CSynthLab::LP2Filter | Implements a simple 2nd order LPF |
CSynthLab::midiEvent | Information about a MIDI event |
CSynthLab::MIDINoteEvent | Information about a MIDI note event (note on or note off) |
CSynthLab::MidiOutputData | MIDI output message and data information |
CSynthLab::ModDestination | Structure that encapsulates the controls for a modulation destination as part of the modulation matrix |
CSynthLab::ModMatrix | Very customizable modulation matrix object |
CSynthLab::ModMatrixParameters | Custom GUI control structure for the modulation matrix |
CSynthLab::ModSource | Structure that encapsulates the controls for a modulation source as part of the modulation matrix |
▶CSynthLab::ModuleCore | Abstract base class that encapsulates functionality of a module core; used with the Module-Core paradigm |
CSynthLab::AddOscCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::AnalogEGCore | Analog EG emulator |
CSynthLab::BQFilterCore | Implements Filters via BiQuad structures; includes one pole HPF and LPF |
CSynthLab::ClassicWTCore | Wavetable oscillator with classic waveforms |
CSynthLab::DrumWTCore | Wavetables that implement electronic drum samples; these samples were extracted from WAV files and converted into wavetables using RackAFX-TableMaker |
CSynthLab::DXEGCore | Yamaha DX EG-based |
CSynthLab::FMLFOCore | LFO using simple FM algorithms for interesting modulators |
CSynthLab::FMOCore | Sinusoidal-only oscillator and attached EG |
CSynthLab::FourierWTCore | Fourier wavetable oscillator with sine and parabola waveforms |
CSynthLab::KSOCore | Implements three Karplus-Strong algorithms to generate |
CSynthLab::LegacyPCMCore | PCM oscillator using the same multi-samples from the 1st edition of the Synth Book |
CSynthLab::LFOCore | LFO that renders all classical and many noisy wavforms |
CSynthLab::LinearEGCore | Simplest EG of all, using linear segments - the place to start to build your own EG from scratch |
CSynthLab::MellotronCore | PCM oscillator using Mellotron(R) samples freely available |
CSynthLab::MorphWTCore | Morphing Wavetable oscillator |
CSynthLab::SFXWTCore | Wavetable oscillator with one-shot sound-effects (SFX) extracted into wavetables from WAV files |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::SynthLabCore | This is the "blank" core template for compiling your own Cores as dynamic modules |
CSynthLab::VAFilterCore | Implements all of the virtual analog (VA) filters in the Synth Book using sub-filtering objects |
CSynthLab::VAOCore | Virtual Analog oscillator implementation |
CSynthLab::WaveSliceCore | PCM oscillator that plays wave-slices that are mapped to the C-major scale keys starting at middle C |
CSynthLab::ModuleCoreData | Contains the two sets of strings unique to each core: the module strings (waveforms for oscillators) and the mod knob label strings |
CSynthLab::MorphBankData | Information about a bank of wavetables that are used in the morphing wavetable core |
CSynthLab::NoiseGenerator | Simple object that generates white, gaussian white or pink noise |
CSynthLab::NoiseOscillatorParameters | Custom parameter structure for the NoiseOscillator object |
CSynthLab::OscParameters | Custom parameter structure for general purpose oscillators or those that don't fit into one of the other categories |
CSynthLab::ParametricFilter | Implementation of a constant-Q parametric EQ filter |
CSynthLab::PCMOscParameters | Custom parameter structure for the PCM sample oscillator and its cores. Notable members: |
CSynthLab::PCMSample | Opens a WAV file and extracts contents into a floating point buffer, regardless of original datatypes in file. After parsing the file, use const float* getSampleBuffer() to acces the read-only buffer of data. The following types are supported: |
CSynthLab::PCMSampleOutput | Holds the audio output samples from reading a PCM sample file |
CSynthLab::PluckPosFilter | Comnination of three filters in one; note that the figure in the book does not show the variety of connection combinations and filter bypassing possible, nor the multiple output points |
CSynthLab::PluginInfo | Structure that is used during the base class initilize( ) funciton call, after object instantiation is complete. This structure contains the path to the DLL itself which can be used to open/save files including pre-installed WAV files for sample based synths |
CSynthLab::RampModulator | This is a tiny modulator object that produces an output that ramps up or down linearly between two values over a specified time in milliseconds |
CSynthLab::ResLoopFilter | Implements a first order feedforward LPF with coefficients a0 = a1 = 0.5 |
CSynthLab::Resonator | Special purpose object for use as Karplus Strong resonator |
CSynthLab::RIFF_CHUNK | |
CSynthLab::SimpleLPF | Encapsulates a tiny first order, all-pole LPF object |
CSynthLab::SlewLimiter | Implements a simple slew limiter using a one pole lowpass filter |
CSynthLab::StaticWavetable | Structure for holding information about a static wavetable, that is read from a static location, either compiled into the synth as a resource, or from a binary data file at startup time |
CSynthLab::Synchronizer | This is a very specialized object that performs the hard-sync operation using two SynthClocks |
CSynthLab::SynthClock | Compact modulo counter with wrapping used as the timebase for all oscillators |
CSynthLab::SynthEngine | Encapsulates an entire synth engine, producing one type of synthesizer set of voices (e.g. Virtual Analog, Sample Based, FM, etc...) |
CSynthLab::SynthEngineParameters | Contains parameters for the Synth Engine component |
CSynthLab::SynthLabBankSet | This super-structure holds a set of SynthLabTableSet called a "bank" and used in the morphing wavetable core to register and install these tables with the database |
CSynthLab::SynthLabTableSet | This structure defines a set of wavetables that are usually found in .h files and compiled into the synth. This structure is used specifically with wavetables that are made with RackAFX-TableMaker utility functions, that can encode tables in hex format for storage without needing fractional decimal representation |
▶CSynthLab::SynthModule | Abstract base class that encapsulates functionality of a module; used with the Module-Core paradigm |
CSynthLab::AudioDelay | Audio Ping-Pong Delay module |
CSynthLab::DCA | Digitally Controlled Amplifier module |
CSynthLab::DXEG | Specialized version of the Envelope Generator (EG) module |
CSynthLab::EnvelopeGenerator | Envelope Generator (EG) module |
CSynthLab::FilterModule | |
CSynthLab::FMOperator | FMOperator module |
CSynthLab::KSOscillator | Physical modeling oscillator fearuring Karplus-Strong plucked string algorithm |
CSynthLab::NoiseOscillator | Noise oscillator module |
CSynthLab::Oscillator | General pirched oscillator module; use this object for oscillators that do not fit into one of the other categories (wavetable, PCM sample, VA, FM, physical model) |
CSynthLab::Oscillator | General pirched oscillator module; use this object for oscillators that do not fit into one of the other categories (wavetable, PCM sample, VA, FM, physical model) |
CSynthLab::PCMOscillator | PCM sample based oscillator module |
CSynthLab::SynthFilter | Synthesizer filter module |
CSynthLab::SynthLFO | LFO module |
CSynthLab::SynthModuleNoCores | Digitally Controlled Amplifier module |
CSynthLab::SynthModuleWithCores | Virtual analog oscillator module |
CSynthLab::VAOscillator | Virtual analog oscillator module |
CSynthLab::WaveSequencer | WaveSequencer module |
CSynthLab::WSOscillator | This is an aggregate of 4 wavetable oscillators being controlled with the single object that appears as an oscillator to the voice objecgt |
CSynthLab::WTOscillator | Wavetable oscillator module |
CSynthLab::SynthVoice | This is the voice object for a software synth |
CSynthLab::SynthVoiceParameters | Contains parameters for the Synth Voice component |
CSynthLab::Timer | Ultra compact timer object that is used for many different functionalities |
CSynthLab::TinyBPF | Implements a simple 2nd order BPF |
CSynthLab::TinyReson | Minute implementation of a 2nd order resonator filter |
CSynthLab::UWaveData | |
CSynthLab::VA1Coeffs | Tiny structure to hold 1st order VA filter coefficients, to make it easier to share them across sync-tuned filters |
CSynthLab::VADiodeCoeffs | |
CSynthLab::VADiodeFilter | |
CSynthLab::VAKorg35Coeffs | |
CSynthLab::VAMoogCoeffs | |
CSynthLab::VAOscParameters | Custom parameter structure for the VAOscillator and its ModuleCores. Notable members: |
CSynthLab::VASVFCoeffs | |
CSynthLab::VectorXFadeData | Holds mixing coefficient multipliers for the Sequential/Korg vector joystick |
CSynthLab::WAVE_FILE_HEADER | |
CSynthLab::WAVE_SAMPLE | |
CSynthLab::WaveFolder | Opens a folder full of WAV files and gleans information about the files to prep them for parsing and having their sample guts extracted. This object can figure out MIDI unity note numbers from the WAV file names (e.g. Dagga_A#4.wav). This object is used to parse folders of samples to build patches for sample based synths |
CSynthLab::WAVEFORMATEX_WP | |
CSynthLab::WaveSequencerParameters | GUI Parameters for wave sequencer object |
CSynthLab::WaveSequencerStatusMeters | |
CSynthLab::WaveStringData | Information about the selected core and the selected wavform within that core |
CSynthLab::WSOscParameters | Custom parameter structure for the wave sequencer module. Notable members: |
CSynthLab::WTOscParameters | Custom parameter structure for wavetable oscillators (note that several SynthLab oscillators are actually wavetable at the core). Notable members: |
CSynthLab::XFadeData | Data about a crossfade operation |
CSynthLab::XFader | Crossfades two values (from A to B) |
CSynthLab::XHoldFader | Crossfades two values (from A to B) and then holds B for some amount of time |