forked from macumbista/vectorsynthesis
-
Notifications
You must be signed in to change notification settings - Fork 0
/
vs-morph-gui.pd
182 lines (182 loc) · 5.22 KB
/
vs-morph-gui.pd
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
#N canvas 90 23 624 697 10;
#X obj 101 118 cnv 15 300 40 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 379 561 Derek Holzer;
#X text 379 610 [email protected];
#X obj 108 133 nbx 5 14 0 100 0 0 \$2/morph \$2/morph morph 0 -8 0
10 -4034 -1 -1 0 256;
#X obj 126 457 / 100;
#X text 379 585 Helsinki May 2019;
#X obj 83 272 *~ -1;
#X obj 83 301 +~ 1;
#X obj 83 331 min~;
#X obj 83 360 *~ -4;
#X obj 83 387 +~ 1;
#X obj 82 244 phasor~;
#X obj 180 133 nbx 5 14 0 100 0 0 \$2/frequency \$2/frequency frequency
0 -8 0 10 -257985 -1 -1 1 256;
#X obj 253 133 nbx 5 14 0 100 0 0 \$2/frequency-100 \$2/frequency-100
freq/100 0 -8 0 10 -257985 -1 -1 0 256;
#X obj 141 175 / 100;
#X obj 82 200 sig~;
#X obj 141 220 sig~;
#N canvas 0 23 450 300 switch 0;
#X obj 45 41 inlet~ int;
#X obj 155 41 inlet~ ext;
#X obj 225 41 inlet select;
#X obj 225 64 select 0 1;
#X obj 45 240 outlet~;
#X obj 170 148 pack 0 50;
#X obj 170 169 line~;
#X obj 155 195 *~;
#X obj 60 148 pack 0 50;
#X obj 60 169 line~;
#X obj 45 195 *~;
#X msg 228 97 0;
#X msg 238 121 1;
#X msg 268 97 0;
#X msg 278 121 1;
#X connect 0 0 10 0;
#X connect 1 0 7 0;
#X connect 2 0 3 0;
#X connect 3 0 11 0;
#X connect 3 0 12 0;
#X connect 3 1 13 0;
#X connect 3 1 14 0;
#X connect 5 0 6 0;
#X connect 6 0 7 1;
#X connect 7 0 4 0;
#X connect 8 0 9 0;
#X connect 9 0 10 1;
#X connect 10 0 4 0;
#X connect 11 0 5 0;
#X connect 12 0 8 0;
#X connect 13 0 8 0;
#X connect 14 0 5 0;
#X restore 83 413 pd switch;
#X obj 497 49 inlet~ morph;
#X obj 29 608 outlet~ X;
#X obj 99 608 outlet~ Y;
#X obj 169 608 outlet~ Z;
#X obj 239 608 outlet~ B;
#X obj 16 49 inlet~ X1;
#X obj 76 49 inlet~ Y1;
#X obj 136 49 inlet~ Z1;
#X obj 196 49 inlet~ B1;
#X obj 256 49 inlet~ X2;
#X obj 316 49 inlet~ Y2;
#X obj 376 49 inlet~ Z2;
#X obj 436 49 inlet~ B2;
#X obj 316 182 savestate;
#X obj 367 236 f;
#X obj 395 236 f;
#X obj 413 256 f;
#X obj 367 204 t b b b b;
#X obj 367 299 pack 0 0 0 0;
#X obj 316 320 unpack 0 0 0 0;
#X obj 444 256 f;
#X obj 289 454 kollabs/ds_reg \$1 \$2/morph;
#X obj 289 474 kollabs/ds_reg \$1 \$2/frequency;
#X obj 289 494 kollabs/ds_reg \$1 \$2/frequency-100;
#X obj 289 514 kollabs/ds_reg \$1 \$2/internal;
#X obj 126 477 pack 0 50;
#X obj 126 505 line~;
#X obj 145 77 loadbang;
#X obj 329 132 hradio 15 1 0 2 \$2/internal \$2/internal Int.Ext -5
-8 0 10 -257985 -1 -1 1;
#X obj 376 132 bng 15 250 50 0 empty empty ? 17 7 0 10 -4032 -1 -1
;
#X obj 409 152 s pd-\$2-help;
#X msg 409 130 vis 1;
#N canvas 0 23 488 627 \$2-help 0;
#X obj 33 11 cnv 15 300 330 empty empty HELP:vs-morph-gui 20 12 0 14
-4034 -66577 0;
#X text 67 58 1) X axis signal;
#X text 67 78 2) Y axis signal;
#X text 67 96 3) Z axis signal (ignore for 2D vectors);
#X text 67 262 1) X axis signal;
#X text 67 282 2) Y axis signal;
#X text 67 300 3) Z axis signal (ignore for 2D projection);
#X text 67 318 4) Brightness signal;
#X text 67 114 4) Brightness signal (0-1);
#X text 43 39 INLETS;
#X text 42 232 OUTLETS;
#X text 67 134 5) X axis signal (second shape);
#X text 67 154 6) Y axis signal (second shape);
#X text 67 172 7) Z axis signal (second shape);
#X text 67 208 9) Morphing signal (0-1);
#X text 67 190 8) Bright signal (second shape);
#X text 35 429 The morph can be controlled simply via a DC signal between
0 and 1 A value of "0" gives only the left set of inputs \, a value
of "1" gives on the right set of inputs.;
#X text 32 477 Or it may be automated using the unipolar output of
the [vs-operator-gui] abstraction. In this case \, the manual morph
should be set to 0;
#X text 32 527 To crossfade visually between two vector shapes without
morphing \, multiplexing is required.;
#X text 34 350 [vs-morph-gui] applies a linear crossfade to the signals
which make up two 2D or 3D vector shapes (X \, Y \, Z \, and Brightness).
Reducing the level of a vector shape's signal reduces its size \, therefore
this patch effectively "morphs" between two vector shapes. A difference
in drawing frequencies will create interesting effects \, as seen here.
;
#X restore 409 182 pd \$2-help;
#X obj 27 550 vs-morph, f 17;
#X obj 134 301 r \$2/internal;
#X connect 3 0 4 0;
#X connect 3 0 32 1;
#X connect 4 0 43 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 17 0;
#X connect 11 0 6 0;
#X connect 11 0 8 1;
#X connect 12 0 15 0;
#X connect 12 0 33 1;
#X connect 13 0 14 0;
#X connect 13 0 34 1;
#X connect 14 0 16 0;
#X connect 15 0 11 0;
#X connect 16 0 11 0;
#X connect 17 0 51 8;
#X connect 18 0 17 1;
#X connect 23 0 51 0;
#X connect 24 0 51 1;
#X connect 25 0 51 2;
#X connect 26 0 51 3;
#X connect 27 0 51 4;
#X connect 28 0 51 5;
#X connect 29 0 51 6;
#X connect 30 0 51 7;
#X connect 31 0 37 0;
#X connect 31 1 35 0;
#X connect 32 0 36 0;
#X connect 33 0 36 1;
#X connect 34 0 36 2;
#X connect 35 0 32 0;
#X connect 35 1 33 0;
#X connect 35 2 34 0;
#X connect 35 3 38 0;
#X connect 36 0 31 0;
#X connect 37 0 3 0;
#X connect 37 1 12 0;
#X connect 37 2 13 0;
#X connect 37 3 46 0;
#X connect 38 0 36 3;
#X connect 43 0 44 0;
#X connect 44 0 51 8;
#X connect 45 0 3 0;
#X connect 45 0 13 0;
#X connect 45 0 12 0;
#X connect 45 0 46 0;
#X connect 47 0 49 0;
#X connect 49 0 48 0;
#X connect 51 0 19 0;
#X connect 51 1 20 0;
#X connect 51 2 21 0;
#X connect 51 3 22 0;
#X connect 52 0 38 1;
#X connect 52 0 17 2;
#X coords 0 -1 1 1 302 60 1 100 100;