aboutsummaryrefslogtreecommitdiff
path: root/doc/help/cyclone/curve~-help.pd
blob: 107bce90f4639643e05818b8bb2888a08329b9ca (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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#N canvas 1240 172 848 609 10;
#X declare -lib cyclone;
#X text 13 -87 Exponential ramp generator;
#X text 69 299 line output;
#X obj 724 300 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X text 732 258 parameter;
#X text 657 259 time;
#X msg 138 186 1 \, 0 1000 0.5;
#X floatatom 724 227 0 0 0 0 - - -;
#X msg 629 226 1 \, 0 500;
#X msg 572 227 0 \, 1 500;
#X obj 63 234 line~;
#X msg 250 186 1 \, 0.5 500 0.5 0 500 -0.5;
#X msg 43 182 0 \, 1 1000 0.5;
#X text 9 -75 curve~ is similar to line~. It produces a signal that
goes from an initial to target value over a specified number of milliseconds.
However \, it produces non-linear ramps using a piecewise approximation
of an exponential function. You specify the parameter to this exponential
function in the curve~ object's right inlet. Values from 0 to 1 produce
an "exponential" curve when increasing in value and values from -1
to 0 produce a "logarithmic" curve. The closer to 0 the curve parameter
is \, the closer the curve is to a straight line \, and the farther
away the parameter is from 0 \, the steeper the curve. curve~ can also
accept a list of up two or three arguments (the previous curve parameter
is used if there are two arguments) \, or a list with two or more value
\, time \, parameter triples. curve~ is limited to 42 such triples
in a single list. The object's approximation of the exponential becomes
better when the vector size is smaller \, but the object also becomes
more computationally expensive.;
#X text 194 226 optional arguments set initial value (default 0) and
parameter (default 0);
#X text 580 259 value;
#X text 582 295 curve signal out;
#X text 740 290 bang when done;
#X text 210 286 curve output;
#X text 18 485 Special thanks to Richard Dudas for the suggestion of
a curve equation to use.;
#X text 1 165 amp examples: compare curve~ and line~;
#X text 255 169 example of an "s" curve;
#X obj 472 -24 import cyclone;
#X obj 138 236 curve~;
#X obj 207 310 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135
135 135 0;
#X obj 64 322 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135
135 135 0;
#X text 540 191 try different curve parameters (-1 to 1);
#X obj 572 273 curve~;
#X obj 572 319 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135
135 135 0;
#X connect 5 0 9 0;
#X connect 5 0 22 0;
#X connect 6 0 26 2;
#X connect 7 0 26 0;
#X connect 8 0 26 0;
#X connect 9 0 24 0;
#X connect 10 0 22 0;
#X connect 11 0 9 0;
#X connect 11 0 22 0;
#X connect 22 0 23 0;
#X connect 26 0 27 0;
#X connect 26 1 2 0;