20#ifndef __CALF_INERTIA_H
21#define __CALF_INERTIA_H
116 inertia(
const Ramp &_ramp,
float init_value = 0.f)
138 inline float get(
float source)
256template <
typename T >
297 else if(
acc >= 0.5 &&
acc <= 1.0) {
301 return (
acc - 0.5)*2;
int length()
Definition inertia.h:81
float root
Definition inertia.h:70
void start_ramp(float start, float end)
Definition inertia.h:85
int ramp_len
Definition inertia.h:69
void set_length(int _ramp_len)
Definition inertia.h:77
float ramp(float value)
Return value after single step.
Definition inertia.h:90
float delta
Definition inertia.h:70
exponential_ramp(int _ramp_len)
Definition inertia.h:72
float ramp_many(float value, float count)
Return value after many steps.
Definition inertia.h:95
gain_smoothing()
Definition inertia.h:244
void set_sample_rate(int sr)
Definition inertia.h:248
float value
Definition inertia.h:111
inertia(const Ramp &_ramp, float init_value=0.f)
Definition inertia.h:116
bool active() const
Is it still ramping?
Definition inertia.h:197
void step_many(unsigned int steps)
Do many inertia steps, without returning the new value and without changing destination value.
Definition inertia.h:175
float get(float source)
Get smoothed value of given source value.
Definition inertia.h:138
float old_value
Definition inertia.h:110
float get_last() const
Get last smoothed value, without affecting anything.
Definition inertia.h:192
unsigned int count
Definition inertia.h:112
void set_inertia(float source)
Set with inertia.
Definition inertia.h:129
Ramp ramp
Definition inertia.h:113
void set_now(float _value)
Set value immediately (no inertia).
Definition inertia.h:123
void step()
Do one inertia step, without returning the new value and without changing destination value.
Definition inertia.h:165
float get()
Get smoothed value assuming no new input.
Definition inertia.h:154
Algorithm for a constant time linear ramp.
Definition inertia.h:29
int ramp_len
Definition inertia.h:31
float delta
Definition inertia.h:32
void start_ramp(float start, float end)
Definition inertia.h:49
float ramp(float value)
Return value after single step.
Definition inertia.h:54
void set_length(int _ramp_len)
Change ramp length.
Definition inertia.h:41
float mul
Definition inertia.h:32
int length()
Definition inertia.h:45
linear_ramp(int _ramp_len)
Construct for given ramp length.
Definition inertia.h:35
float ramp_many(float value, int count)
Return value after many steps.
Definition inertia.h:59
unsigned int frequency
Definition inertia.h:206
once_per_n(unsigned int _frequency)
Definition inertia.h:209
unsigned int left
Definition inertia.h:207
bool elapsed()
Definition inertia.h:231
void start()
Definition inertia.h:212
unsigned int get(unsigned int desired)
Definition inertia.h:221
void signal()
Set timer to "elapsed" state (elapsed() will return true during next call).
Definition inertia.h:217
T cont_val_cur
Definition inertia.h:260
void set(T ctr)
Definition inertia.h:273
double step
Definition inertia.h:263
double acc
Definition inertia.h:264
void set_previous(T ctr)
Definition inertia.h:279
double get_ramp()
Definition inertia.h:289
bool is_active
Definition inertia.h:262
switcher(unsigned int samples)
Definition inertia.h:266
T cont_val_prev
Definition inertia.h:261
T get_state()
Definition inertia.h:284
static PuglViewHint int value
Definition pugl.h:1708
virtual ASIOError start()=0
int desired
Definition jpeglib.h:1038
_WDL_CSTRING_PREFIX void INT_PTR count
Definition wdlcstring.h:263