blob: 441206fe0719fdb22f515fd26b5df8077ed1dfd7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
(ATONEV-ALG
(NAME "atonev")
(ARGUMENTS ("sound_type" "s1") ("sound_type" "hz"))
(INLINE-INTERPOLATION T)
(LINEAR hz)
(ALWAYS-SCALE hz)
(START (MAX s1 hz))
(TERMINATE (MIN s1 hz))
(LOGICAL-STOP (MIN s1))
(STATE ("double" "cc" "0.0")
("double" "prev" "0.0;
hz->scale = (sample_type) (hz->scale * (PI2 / s1->sr))"))
(LINEAR s1)
(SAMPLE-RATE (MAX s1))
(STEP-FUNCTION hz)
(DEPENDS ("bb" "hz" "2.0 - cos(hz)" TEMP "register double")
("cc" "hz" "bb - sqrt((bb * bb) - 1.0)"))
(CONSTANT "cc")
(INNER-LOOP-LOCALS " double current;
")
(INNER-LOOP "current = s1;
prev = cc * (prev + current);
output = (sample_type) prev;
prev -= current;")
)
|