mirror of
https://github.com/cookiengineer/audacity
synced 2025-05-13 15:38:56 +02:00
20 lines
608 B
Plaintext
20 lines
608 B
Plaintext
(CHASE-ALG
|
|
(NAME "chase")
|
|
(ARGUMENTS ("sound_type" "input") ("double" "risetime") ("double" "falltime"))
|
|
(STATE ("double" "level" "0.0")
|
|
("double" "upslope" "1.0/(input->sr * risetime)")
|
|
("double" "downslope" "1.0/(input->sr * falltime)"))
|
|
(START (MIN input))
|
|
(INNER-LOOP " double x = input;
|
|
if (x > level) {
|
|
level += upslope;
|
|
if (x < level) level = x;
|
|
} else {
|
|
level -= downslope;
|
|
if (x > level) level = x;
|
|
}
|
|
output = (sample_type) level;")
|
|
(TERMINATE (MIN input))
|
|
(LOGICAL-STOP (MIN input))
|
|
)
|