File: congen.alg

package info (click to toggle)
audacity 1.2.4b-2.1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 24,136 kB
  • ctags: 20,445
  • sloc: ansic: 139,567; cpp: 55,998; sh: 24,963; lisp: 3,772; makefile: 1,683; python: 272
file content (17 lines) | stat: -rw-r--r-- 633 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
(CONGEN
(NAME "congen")
(ARGUMENTS ("sound_type" "sndin") ("double" "risetime") ("double" "falltime"))
(START (MIN sndin))
(STATE ("double" "value" "0")
       ("double" "rise_factor" "exp(log(0.5) / (sndin->sr * risetime))")
       ("double" "fall_factor" "exp(log(0.5) / (sndin->sr * falltime))"))
(CONSTANT "fall_factor" "rise_factor")
(ALWAYS-SCALE sndin)
(TERMINATE (MIN sndin))
(INNER-LOOP "      sample_type current = sndin;
    if (current > value) {
        value = current - (current - value) * rise_factor;
    } else {
        value = current - (current - value) * fall_factor;
    }
    output = (sample_type) value;"))