diff options
author | grm <grm@eyesin.space> | 2025-02-22 02:36:27 +0200 |
---|---|---|
committer | grm <grm@eyesin.space> | 2025-02-22 02:36:27 +0200 |
commit | 500b9a07b93d6cd3e771edc5698e06d163da60f1 (patch) | |
tree | 08aace91a7ec7600b254b986bf5458362dab33f3 /src/control.c | |
parent | 04b3dbe0a339c42d7b2085bcd6149e9277d699a1 (diff) | |
download | synth-project-500b9a07b93d6cd3e771edc5698e06d163da60f1.tar.gz synth-project-500b9a07b93d6cd3e771edc5698e06d163da60f1.tar.bz2 synth-project-500b9a07b93d6cd3e771edc5698e06d163da60f1.zip |
a year of changes (web, better soundcard handling, biquad)
Diffstat (limited to 'src/control.c')
-rw-r--r-- | src/control.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/control.c b/src/control.c index d952f7f..44aadc9 100644 --- a/src/control.c +++ b/src/control.c @@ -34,6 +34,22 @@ cc_fix(cc_t *cc) } void +cc_set(cc_t *cc, float value) +{ + float new_value; + if (value >= cc->max) { + new_value = cc->max; + } else if (value <= cc->min) { + new_value = cc->min; + } else { + new_value = value; + } + + // calculate mod + cc->mod = new_value - cc->target; +} + +void cc_reset(cc_t *cc) { cc->target = cc->def; |