Manages an array of tables that is used for bandlimited wavetable synthesis. Supports table lookup with linear interpolation.
Show All | 
Public Member Functions
- 
WaveTable2d (size_t sampleRate, size_t tableSize, size_t numTables)
 - 
voidfillBandlimited (WaveformType type)
 - 
floatlookupBandlimited (float phase, float f0) const
 - 
floatlookupBandlimited (float *outputArray, size_t outputLength, float currentPhase, float f0) const
 - 
floatlookupBandlimited (float *outputArray, size_t outputLength, float currentPhase, const float *f0Array) const
 - 
voidcopyTo (float *array, size_t tableIndex) const
 - 
voidcopyFrom (const float *array, size_t tableIndex)
 - 
floatcalcBandlimitedTableIndex (float f0) const
 - 
size_tgetNumTables () const
 - 
voidresize (size_t tableSize)
 - 
voidfillSine ()
 - 
size_tgetSampleRate () const
 - 
size_tgetTableSize () const
 - 
floatlookup (float phase) const
 - 
floatlookup (float *outputArray, size_t outputLength, float currentPhase, float freq) const
 - 
floatlookup (float *outputArray, size_t outputLength, float currentPhase, const float *freqArray) const
 - 
voidcopyTo (float *array) const
 - 
voidcopyFrom (const float *array)
 
Protected Member Functions
- 
voidcalcLimits ()
 - 
voidfillBandLimitedTable (WaveformType type, float *table, size_t numPartials)
 - 
size_tgetMaxHarmonicsForTable (size_t tableIndex) const
 - 
const float *getBandLimitedTable (float f0) const
 - 
std::tuple< const float *, const float *, float >getBandLimitedTablesLerp (float f0) const
 - 
voidfillSinesum (float *array, size_t length, const std::vector< float > &partialCoeffs)