-
Notifications
You must be signed in to change notification settings - Fork 0
/
lvn.stave.pd
290 lines (290 loc) Β· 8.2 KB
/
lvn.stave.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
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
#N canvas 629 23 811 855 10;
#X obj 12 14 cnv 15 190 28 empty \$0bg empty 10 10 0 14 #c0c0c0 #fcfcfc
0;
#X obj 18 58 cnv 15 180 19 empty \$0highlight-cnv empty 0 8 0 10 #f0f0f0
#000000 0;
#X obj 18 98 cnv 15 180 19 empty \$0label empty 0 8 0 10 #c0c0c0 #000000
0;
#X obj 346 305 cnv 15 100 60 empty empty init\ before\ saving 5 5 0
8 #ff8080 #404040 0;
#X obj 1509 474 s;
#X obj 454 167 s \$0id;
#X obj 543 167 s \$0stave;
#X obj 1539 402 r \$0id;
#X obj 1105 230 r \$0stave;
#X obj 633 167 s \$0ready;
#X obj 484 36 inlet h-stave, f 7;
#X text 1119 1221 πdistance from center of stave 0 is centred on
stave \, 0.5 is the boundary to the next stave. 5 is over the centre
of the 5th stave away., f 27;
#X obj 1054 20 inlet messages, f 26;
#X obj 790 280 r \$0outlet;
#X obj 1416 711 r \$0stave;
#X obj 1400 600 r \$0hue;
#X obj 1457 1331 s \$0outlet;
#X obj 1401 740 -;
#X obj 1910 900 s \$0outlet;
#X obj 1956 800 <= 1;
#X obj 1910 800 >= 0;
#X obj 1910 830 *, f 8;
#X obj 1910 760 t f f, f 8;
#X obj 908 71 r \$0id;
#X text 546 39 πreceive id \, stave-num and hue from hyperstave
π;
#X obj 875 107 route;
#X obj 873 40 r hues;
#X obj 875 175 s \$0hue;
#X msg 1538 437 symbol hyperstave\$1;
#X obj 1062 351 s \$0-to-hyperstave;
#X obj 1510 370 r \$0-to-hyperstave;
#X obj 1550 146 s \$0-to-hyperstave;
#X text 1186 346 πforwards normalised float to stave position indicators
, f 22;
#X obj 1062 316 cyclone/prepend playheads;
#X obj 1062 258 pack f f;
#X obj 790 320 outlet;
#X text 1226 19 πmessages from stave, f 27;
#X text 2342 1856 hi;
#X obj 712 167 s \$0numstaves;
#X obj 1401 688 * 1;
#X obj 1066 196 * 127;
#X text 1106 184 π©this is a kludge as the sliders have a range 0
127, f 22;
#X obj 1415 631 r \$0numstaves;
#X obj 1062 161 clip 0 1;
#X obj 1310 148 r \$0stave;
#X obj 1267 269 s \$0-to-hyperstave;
#X text 1384 266 πforwards normalised float to stave position indicators
, f 22;
#X obj 1267 176 pack f f;
#X obj 1267 234 cyclone/prepend buttons;
#X obj 1062 284 cyclone/zl rev;
#X obj 1267 202 cyclone/zl rev;
#X msg 1457 1283 relativepos \$1;
#X msg 1910 870 active \$1;
#X obj 40 20 hsl 128 15 0 1 0 0 \$0fromthisstaveslider \$0thisstaveslider
empty -2 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 180 20 tgl 15 0 \$0fromthisstavebutton \$0thisstavebutton empty
17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 620 320 outlet child-link;
#X obj 1271 100 s \$0thisstavebutton;
#X obj 130 730 s \$0highlight-cnv;
#X text 1534 474 π sends to parent hyperstave, f 34;
#X text 500 310 messages to child hyperstave π, f 18;
#X obj 496 600 r \$0numstaves;
#X obj 482 634 /;
#X obj 482 559 t f f, f 19;
#X obj 509 487 r \$0stave;
#X obj 479 517 f;
#X obj 479 407 r \$0ready;
#X obj 504 725 s \$0thisstavebutton;
#X obj 485 747 s \$0thisstaveslider;
#X text 519 637 colour slider and button;
#X msg 132 678 pos \$1 \$2;
#X obj 132 651 pack f f, f 15;
#X obj 132 550 i;
#X obj 132 577 t b a;
#X obj 219 622 + 18;
#X text 141 433 πͺ cut for performance;
#X obj 1980 870 s \$0isactive;
#X obj 131 403 r \$0isactive;
#X obj 131 463 - 1;
#X obj 131 493 abs;
#X text 489 457 πͺ cut for performance;
#X obj 132 523 * 40;
#X obj 1060 100 s \$0thisstaveslider;
#X obj 485 89 route id stave ready numstaves connect, f 45;
#X obj 720 130 s \$0coords;
#X obj 860 250 r \$0coords;
#X obj 860 280 cyclone/prepend coords;
#X obj 620 260 r \$0coords;
#X obj 620 290 cyclone/prepend connect;
#X text 830 320 π this stave info output, f 27;
#X obj 98 403 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000 0 1;
#X msg 132 615 18;
#X msg 393 679 color 0 -1 -1;
#X obj 1060 125 r \$0fromthisstaveslider;
#X obj 1271 125 r \$0fromthisstavebutton;
#X msg 319 539 label;
#X obj 248 475 r \$0stave;
#X msg 377 325 INIT;
#X obj 218 503 cyclone/tosymbol;
#X msg 218 533 label \$1;
#X msg 217 477 100;
#X obj 281 571 s \$0label;
#X msg 101 372 0;
#X obj 482 671 sub.lvn.rainbowmaker;
#X text 1548 173 πforwards all other messages to parent hyperstave
, f 22;
#X obj 1055 58 route playhead button, f 104;
#X text 1590 120 may need to prepend something here for stability/security
;
#X obj 899 861 moses, f 40;
#X obj 1139 801 r \$0numstaves;
#X obj 1139 821 / 2;
#X obj 899 821 -;
#X obj 919 733 r \$0stave;
#X text 829 689 num staves;
#X obj 919 771 + 0.5;
#X obj 900 600 r \$0hue;
#X obj 899 691 * 1;
#X obj 920 630 r \$0numstaves;
#X obj 1029 941 r \$0numstaves;
#X obj 1029 961 / 2;
#X obj 1029 991 * -1;
#X obj 899 1021 moses, f 22;
#X text 1149 1081 wrap around top;
#X text 1039 1081 no wrapping;
#X text 909 1081 wrap around bottom;
#X obj 1149 1101 r \$0numstaves;
#X obj 1029 1161 abs;
#X obj 919 1131 r \$0numstaves;
#X obj 899 1161 +;
#X obj 1150 1135 * -1;
#X obj 1139 1161 +;
#X obj 1029 1261 s \$0outlet;
#X msg 1029 1221 distance \$1;
#X text 960 560 CALCULATING DISTANCE;
#X obj 1400 850 moses, f 40;
#X obj 1640 790 r \$0numstaves;
#X obj 1640 810 / 2;
#X obj 1530 930 r \$0numstaves;
#X obj 1530 950 / 2;
#X obj 1530 980 * -1;
#X obj 1400 1010 moses, f 22;
#X text 1650 1070 wrap around top;
#X text 1540 1070 no wrapping;
#X text 1410 1070 wrap around bottom;
#X obj 1650 1090 r \$0numstaves;
#X obj 1420 1120 r \$0numstaves;
#X obj 1400 1150 +;
#X obj 1651 1124 * -1;
#X obj 1640 1150 +;
#X floatatom 1527 1193 5 0 0 0 - - -, f 5;
#X floatatom 1637 1193 5 0 0 0 - - -, f 5;
#X floatatom 1397 1193 5 0 0 0 - - -, f 5;
#X text 1400 570 CALCULATING RELATIVE POSITION;
#X text 1580 1280 π relative position is a number where the playhead
enteres the stave at 0 \, leaves the stave at 1 A value of 1.5 indicates
the playhead is in the middle of the higher numbered neighbouring stave.
A value of -0.5 is in the middle of the lower numbered neighbouring
stave., f 27;
#X connect 7 0 28 0;
#X connect 8 0 34 1;
#X connect 10 0 82 0;
#X connect 12 0 104 0;
#X connect 13 0 35 0;
#X connect 14 0 17 1;
#X connect 15 0 39 0;
#X connect 17 0 22 0;
#X connect 17 0 132 0;
#X connect 19 0 21 1;
#X connect 20 0 21 0;
#X connect 21 0 52 0;
#X connect 21 0 75 0;
#X connect 22 0 20 0;
#X connect 22 1 19 0;
#X connect 23 0 25 1;
#X connect 25 0 27 0;
#X connect 26 0 25 0;
#X connect 28 0 4 1;
#X connect 30 0 4 0;
#X connect 33 0 29 0;
#X connect 34 0 49 0;
#X connect 39 0 17 0;
#X connect 40 0 34 0;
#X connect 42 0 39 1;
#X connect 43 0 40 0;
#X connect 44 0 47 1;
#X connect 47 0 50 0;
#X connect 48 0 45 0;
#X connect 49 0 33 0;
#X connect 50 0 48 0;
#X connect 51 0 16 0;
#X connect 52 0 18 0;
#X connect 60 0 61 1;
#X connect 61 0 102 0;
#X connect 62 0 61 0;
#X connect 63 0 64 1;
#X connect 64 0 62 0;
#X connect 65 0 64 0;
#X connect 69 0 57 0;
#X connect 70 0 69 0;
#X connect 71 0 72 0;
#X connect 72 0 90 0;
#X connect 72 1 73 0;
#X connect 73 0 70 1;
#X connect 76 0 77 0;
#X connect 77 0 78 0;
#X connect 78 0 80 0;
#X connect 80 0 71 0;
#X connect 82 0 5 0;
#X connect 82 1 6 0;
#X connect 82 2 9 0;
#X connect 82 3 38 0;
#X connect 82 4 83 0;
#X connect 84 0 85 0;
#X connect 85 0 35 0;
#X connect 86 0 87 0;
#X connect 87 0 55 0;
#X connect 89 0 77 0;
#X connect 90 0 70 0;
#X connect 91 0 67 0;
#X connect 91 0 66 0;
#X connect 92 0 43 0;
#X connect 93 0 47 0;
#X connect 94 0 100 0;
#X connect 95 0 97 0;
#X connect 96 0 91 0;
#X connect 96 0 94 0;
#X connect 96 0 101 0;
#X connect 97 0 98 0;
#X connect 98 0 100 0;
#X connect 99 0 97 0;
#X connect 101 0 89 0;
#X connect 102 0 66 0;
#X connect 102 0 67 0;
#X connect 104 0 81 0;
#X connect 104 1 56 0;
#X connect 104 2 31 0;
#X connect 106 0 119 0;
#X connect 106 1 128 0;
#X connect 107 0 108 0;
#X connect 108 0 106 1;
#X connect 109 0 106 0;
#X connect 110 0 112 0;
#X connect 112 0 109 1;
#X connect 113 0 114 0;
#X connect 114 0 109 0;
#X connect 115 0 114 1;
#X connect 116 0 117 0;
#X connect 117 0 118 0;
#X connect 118 0 119 1;
#X connect 119 0 126 0;
#X connect 119 1 124 0;
#X connect 123 0 127 0;
#X connect 124 0 130 0;
#X connect 125 0 126 1;
#X connect 126 0 124 0;
#X connect 127 0 128 1;
#X connect 128 0 124 0;
#X connect 130 0 129 0;
#X connect 132 0 138 0;
#X connect 132 1 146 0;
#X connect 133 0 134 0;
#X connect 134 0 132 1;
#X connect 135 0 136 0;
#X connect 136 0 137 0;
#X connect 137 0 138 1;
#X connect 138 0 144 0;
#X connect 138 1 147 0;
#X connect 142 0 145 0;
#X connect 143 0 144 1;
#X connect 144 0 149 0;
#X connect 145 0 146 1;
#X connect 146 0 148 0;
#X connect 147 0 51 0;
#X connect 148 0 51 0;
#X connect 149 0 51 0;
#X coords 0 -1 1 1 194 32 2 10 12;