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.
More...
#include <synthlabwtsource.h>
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.
- exposes the IWavetavleSource interface
- stores 128 StaticWavetable objects, one for each MIDI note
- stores a selected table
- the owning object (a wavetable core) selects the table based on pitch during the update() phase, then makes calls to read the table during the render() phase
- see also StaticWavetable
- Author
- Will Pirkle http://www.willpirkle.com
- Version
- Revision : 1.0
- Date
- Date : 2021 / 04 / 26
◆ addSynthLabTableSet()
void SynthLab::StaticTableSource::addSynthLabTableSet |
( |
SynthLabTableSet * |
synthLabTableSet | ) |
|
|
inline |
Adds a new SET of wavetables to the array of 128 tables, one for each MIDI note.
- uses the SynthLabTableSet to encode the set of pointers to tables
- tables are stored in .h files and compiled into product
- you can change this to add tables in whatever format you like
- Parameters
-
synthLabTableSet | a set of wavetables that have been setup to maximize frequency content with zero aliasing |
◆ getWaveformName()
virtual const char* SynthLab::StaticTableSource::getWaveformName |
( |
| ) |
|
|
inlineoverridevirtual |
◆ getWaveTableLength()
virtual uint32_t SynthLab::StaticTableSource::getWaveTableLength |
( |
| ) |
|
|
inlineoverridevirtual |
◆ readWaveTable()
virtual double SynthLab::StaticTableSource::readWaveTable |
( |
double |
normalizedPhaseInc | ) |
|
|
inlineoverridevirtual |
Read and interpolate the table; uses linear interpolation but could be changed to 4th order LaGrange interpolation instead.
- Parameters
-
normalizedPhaseInc | the phase increment value; usually this is the mcounter member of a SynthClock object and is fo/fs where fo is the desired oscillator frequency |
Implements SynthLab::IWavetableSource.
The documentation for this class was generated from the following file: