aboutsummaryrefslogtreecommitdiff
path: root/bezier~-help.pd
blob: 3ee953bd2bf0d237475fc16841f574f2a71d84ff (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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#N struct 1071-bez-array float x float y array 1071-bez-c-arr 1071-bez-c
float p0x float p0y float p0x. float p0y. float p1x float p1y float
p1x. float p1y. float p2x float p2y float p2x. float p2y. float p3x
float p3y float p3x. float p3y. float rpx float rpy float rpx. float
rpy.;
#N struct 1071-bez-c float x float y;
#N canvas 280 17 921 927 10;
#X floatatom 415 751 5 0 0 0 - - -;
#X obj 418 737 hsl 50 10 0 1 0 0 empty empty empty -2 -8 0 10 -228856
-1 -1 0 0;
#X floatatom 135 205 5 0 0 0 - - -;
#X msg 125 144 canvas \$1;
#X floatatom 135 124 5 0 0 0 - - -;
#X obj 415 717 line;
#X msg 415 697 0 \, 1 3000;
#X obj 135 514 pack;
#X obj 145 494 t b f;
#X msg 258 830 p0 0.25 0.34 \, p1 0.34 0.88 \, p2 0.9 0.4 \, p3 0.85
0.73;
#X text 543 94 Arguments;
#X obj 148 467 hsl 50 10 0 1 0 0 empty empty X -16 6 0 12 -228856 -1
-1 0 1;
#X obj 148 481 hsl 50 10 0 1 0 0 empty empty Y -16 6 0 12 -228856 -1
-1 0 1;
#X obj 128 870 hsl 50 10 0 1 0 0 empty empty X -16 6 0 12 -228856 -1
-1 0 1;
#X obj 128 884 hsl 50 10 0 1 0 0 empty empty Y -16 6 0 12 -228856 -1
-1 0 1;
#X text 135 307 default values;
#X text 135 347 also first and last points can take any value;
#X text 222 164 Two values define x and y coordinates;
#X text 131 275 p[0-3] \$1 \$2 - Control one handle point's coordinates
between 0 and 1 Send either a message with all points...;
#X text 115 90 canvas \$1 [\$2] - Change canvas size. One value creates
a square ...;
#X text 172 204 size \$1 - Define array size (minimum 2 points);
#X text 260 799 Dump outlet: connect to a message box \, which you
can later copy-paste.;
#X text 545 173 If no arguments are given \, the default values are
110 100 100 When no y argument is present \, a square with dimensions
of x is created.;
#X text 542 395 But \, even with the points outside of the box \, the
calculations will still work. You only loose mouse control of the graphic
handles.;
#X obj 135 574 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 125 707 bezier~;
#X text 165 634 dump - Dump the coordinates of the control points through
the right outlet. Connect the outlet to a message box \, and it will
get formatted.;
#X text 541 475 Released under the BSD License;
#X text 541 455 (C) 2010 Joăo Pais - jmmmpais@googlemail.com;
#X text 20 94 Object size:;
#X text 20 204 Array size:;
#X text 20 274 Control points:;
#X text 20 574 Readpoint:;
#X text 20 634 Dump parameters:;
#X text 546 112 - Array size;
#X text 546 132 - Canvas size x (+ y);
#X text 546 152 - Canvas size y;
#X text 543 224 Inlets;
#X text 543 264 Outlets;
#X text 546 282 - float pair with x / y values;
#X text 546 302 - control point dump;
#X text 153 564 readpoint \$1 - Turn readpoint (red) display on or
off. Readpoint shows the curent place in the buffer.;
#X text 22 39 Create a transfer function between 0 and 1 \, using the
four control points of a cubic bézier curve.;
#X text 546 242 - floats [0 to 1] / commands (with parameters);
#X text 542 336 BUG ALERT: if the control points get out of the GOP
box \, these won't react when you click on them. You'll have to right-click
\, open \, and then inside the abstraction place the points again inside
the red boundaries. Or send pX coordinates.;
#X text 20 74 CONTROL OPTIONS;
#X text 70 704 INPUT;
#X text 70 864 OUTPUT;
#X obj 415 771 s \$0-input;
#X obj 135 687 r \$0-input;
#X text 415 677 Send your input values between 0 and 1 here:;
#X msg 125 327 p0 0 0 \, p1 0.1 0.6 \, p2 0.9 0.4 \, p3 1 1;
#X msg 125 367 p0 0.25 0.34 \, p1 0.34 0.88 \, p2 0.9 0.4 \, p3 0.85
0.73;
#X msg 125 427 p0 0 0 \, p1 0.34 1.3 \, p2 1.4 0.4 \, p3 1 1;
#X msg 125 534 p0 \$1 \$2;
#X text 144 446 Or move the points separately:;
#X msg 125 224 size \$1;
#X msg 125 245 size 100;
#X msg 125 164 canvas 300 100;
#X text 135 387 values outside the 0-1 boundaries will be outside of
the box - you won't be able to grab the graphic (see bug description)
;
#X msg 125 593 readpoint \$1;
#X msg 125 634 dump;
#X text 65 899 Outputs: scaled x and y values;
#X obj 125 830 snaps~;
#X obj 135 850 snaps~;
#X text 21 9 [bezier~] - Transfer function with one cubic bézier curve
\, at audio rate;
#X connect 0 0 48 0;
#X connect 1 0 0 0;
#X connect 2 0 56 0;
#X connect 3 0 25 0;
#X connect 4 0 3 0;
#X connect 5 0 1 0;
#X connect 6 0 5 0;
#X connect 7 0 54 0;
#X connect 8 0 7 0;
#X connect 8 1 7 1;
#X connect 11 0 7 0;
#X connect 12 0 8 0;
#X connect 24 0 60 0;
#X connect 25 0 63 0;
#X connect 25 1 64 0;
#X connect 25 2 9 0;
#X connect 49 0 25 0;
#X connect 51 0 25 0;
#X connect 52 0 25 0;
#X connect 53 0 25 0;
#X connect 54 0 25 0;
#X connect 56 0 25 0;
#X connect 57 0 25 0;
#X connect 58 0 25 0;
#X connect 60 0 25 0;
#X connect 61 0 25 0;
#X connect 63 0 13 0;
#X connect 64 0 14 0;