Linear-interpolated morph across N Wavetables. More...
#include <wavetable.hpp>
Public Member Functions | |
| WavetableBankT ()=default | |
| WavetableBankT (std::vector< WavetableT< SampleType > > waveforms) | |
| void | set_sample_rate (SampleType sr) |
| void | set_frequency (SampleType hz) |
| void | set_frequency_immediate (SampleType hz) |
| Snap every table to the band for hz with no crossfade — the first frequency after construction/reset, where there is no audible band to fade from. | |
| void | set_position (SampleType pos) |
| SampleType | next () |
| void | reset () |
| std::size_t | size () const |
Linear-interpolated morph across N Wavetables.
Position 0..1 selects the wavetable: 0 = first, 1 = last, with linear interpolation between adjacent entries.
RT contract: construction and vector ownership changes allocate. Setters and next() allocate no memory once the bank is built.
|
default |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
Snap every table to the band for hz with no crossfade — the first frequency after construction/reset, where there is no audible band to fade from.
|
inline |
|
inline |
|
inline |