|
LMMS
|
#include <delay.h>
Public Member Functions | |
| simple_delay () | |
| void | reset () |
| void | put (T idata) |
| template<class U> | |
| void | get (U &odata, int delay) |
| T | process (T idata, int delay) |
| template<class U> | |
| void | get_interp (U &odata, int delay, float udelay) |
| T | get_interp_1616 (unsigned int delay) |
| T | process_comb (T in, unsigned int delay, float fb) |
| T | process_comb_lerp16 (T in, unsigned int delay, float udelay, float fb) |
| T | process_allpass_comb (T in, unsigned int delay, float fb) |
| T | process_allpass_comb_lerp16 (T in, unsigned int delay, float fb) |
Public Attributes | |
| auto_buffer< N, T > | data |
| int | pos |
Delay primitive. Can be used for most delay stuff, including variable (modulated) delays like chorus/flanger. Note that for modulated delay effects use of GetInterp is preferred, because it handles fractional positions and uses linear interpolation, which sounds better most of the time.
| N | maximum length |
| C | number of channels read/written for each sample (1 mono, 2 stereo etc) |
|
inline |
|
inline |
Read one C-channel sample into odata[0], odata[1] etc into buffer. Don't use for modulated delays (chorus/flanger etc) unless you want them to crackle and generally sound ugly
| odata | pointer to write into |
| delay | delay relative to current writing pos |
|
inline |
Read one C-channel sample at fractional position. This version can be used for modulated delays, because it uses linear interpolation.
| odata | value to write into |
| delay | delay relative to current writing pos |
| udelay | fractional delay (0..1) |
|
inline |
Read one C-channel sample at fractional position. This version can be used for modulated delays, because it uses linear interpolation.
| odata | value to write into |
| delay | delay relative to current writing pos |
| udelay | fractional delay (0..1) |
|
inline |
Read and write during the same function call
|
inline |
Comb allpass filter. The comb filter with additional direct path, which is supposed to cancel the coloration.
| in | input signal |
| delay | delay length (must be <N and integer) |
| fb | feedback (must be <1 or it will be unstable) |
|
inline |
Comb allpass filter. The comb filter with additional direct path, which is supposed to cancel the coloration.
| in | input signal |
| delay | fractional delay length (must be < 65536 * N) |
| fb | feedback (must be <1 or it will be unstable) |
|
inline |
Comb filter. Feedback delay line with given delay and feedback values
| in | input signal |
| delay | delay length (must be <N and integer) |
| fb | feedback (must be <1 or it will be unstable) |
|
inline |
Comb filter with linear interpolation. Feedback delay line with given delay and feedback values Note that linear interpolation introduces some weird effects in frequency response.
| in | input signal |
| delay | fractional delay length (must be < 65536 * N) |
| fb | feedback (must be <1 or it will be unstable) |
|
inline |
Write one C-channel sample from idata[0], idata[1] etc into buffer
|
inline |
| auto_buffer<N, T> dsp::simple_delay< N, T >::data |
| int dsp::simple_delay< N, T >::pos |