-
Notifications
You must be signed in to change notification settings - Fork 0
/
hub.pd
300 lines (300 loc) · 8.15 KB
/
hub.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
291
292
293
294
295
296
297
298
299
300
#N canvas 253 60 1034 645 10;
#X obj 166 419 list prepend;
#X obj 49 49 inlet;
#X obj 166 270 t b f f;
#N canvas 802 309 335 275 delete_existing_preset 0;
#X obj 41 129 sel -1;
#X obj 41 75 f;
#X obj 41 34 inlet;
#X obj 74 150 t b f;
#X obj 41 109 text search \$0-presets 0;
#X obj 101 170 text delete \$0-presets;
#X connect 0 1 3 0;
#X connect 1 0 4 0;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X connect 3 1 5 0;
#X connect 4 0 0 0;
#X restore 283 286 pd delete_existing_preset;
#N canvas 1033 84 395 457 send_preset_values 0;
#X obj 41 171 sel -1;
#X obj 71 112 + 1;
#X obj 41 55 t f b;
#X obj 41 75 f;
#X obj 74 192 t b f f;
#X obj 113 349 s;
#X obj 41 34 inlet;
#X msg 68 75 range 0 1e+09;
#X msg 71 130 range \$1 1e+09;
#X obj 41 151 text search \$0-presets 0;
#X obj 221 34 inlet;
#X text 257 33 parent's \$0;
#X msg 176 332 symbol \$2-preset-\$1;
#X obj 113 312 list;
#X obj 113 292 t b s;
#X obj 176 312 pack s s;
#N canvas 121 146 450 300 any2symbol 0;
#X obj 196 134 makefilename %i;
#X obj 144 114 route symbol float;
#X obj 144 161 outlet;
#X obj 144 94 inlet;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 1 1 0 0;
#X connect 3 0 1 0;
#X restore 113 272 pd any2symbol;
#X obj 113 232 list split 2;
#X obj 113 252 list split 1;
#X obj 113 212 text get \$0-presets;
#X connect 0 1 4 0;
#X connect 1 0 8 0;
#X connect 2 0 3 0;
#X connect 2 1 7 0;
#X connect 3 0 9 0;
#X connect 4 0 3 0;
#X connect 4 1 1 0;
#X connect 4 2 19 0;
#X connect 6 0 2 0;
#X connect 7 0 9 0;
#X connect 8 0 9 0;
#X connect 9 0 0 0;
#X connect 10 0 15 1;
#X connect 12 0 5 1;
#X connect 13 0 5 0;
#X connect 14 0 13 0;
#X connect 14 1 15 0;
#X connect 15 0 12 0;
#X connect 16 0 14 0;
#X connect 17 0 18 0;
#X connect 17 1 13 1;
#X connect 18 1 16 0;
#X connect 19 0 17 0;
#X restore 49 494 pd send_preset_values;
#X obj 779 435 savestate;
#X text 778 504 state saving to store values in parent patches, f 24;
#X text 326 302 delete preset values before saving new ones;
#X text 189 369 send store "intent" to preset objects;
#X text 326 400 receive and store values from preset objects;
#X obj 205 176 pdcontrol;
#X obj 205 196 openpanel, f 10;
#X obj 331 196 savepanel;
#X msg 205 152 dir 1;
#X obj 331 176 pdcontrol;
#X msg 331 152 dir 1;
#X obj 205 123 route bang;
#X obj 267 176 symbol;
#X msg 205 217 read -c \$1;
#X msg 331 217 write -c \$1;
#N canvas 287 311 759 218 create_receive-preset-insert 0;
#X obj 31 31 inlet;
#X obj 31 135 s pd-\$0-receive-preset-insert;
#X msg 31 84 clear \, obj 100 100 r \$1-preset-insert \, obj 100 140 s \\\$0-receive-preset-insert \, connect 0 0 1 0, f 95;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X restore 780 383 pd create_receive-preset-insert;
#X obj 782 264 loadbang;
#X obj 331 245 text define \$0-presets;
#X obj 830 455 text tolist \$0-presets;
#X obj 779 489 text fromlist \$0-presets;
#X obj 166 439 text insert \$0-presets;
#X obj 166 399 r \$0-receive-preset-insert;
#X obj 706 199 s;
#X obj 782 304 s \$0-parentdollarzero;
#X obj 785 123 r \$0-parentdollarzero;
#X obj 181 321 r \$0-parentdollarzero;
#X obj 166 369 s;
#X obj 250 468 r \$0-parentdollarzero;
#X obj 780 363 r \$0-parentdollarzero;
#X text 216 570 <-- dynamic receiver. delete before resaving this patch (not critical \, but cleaner), f 83;
#X obj 49 570 cnv 16 16 16 empty empty empty 20 12 0 12 #ff0400 #404040 0;
#N canvas 80 209 427 244 \$0-receive-preset-insert 0;
#X restore 49 570 pd \$0-receive-preset-insert;
#X obj 166 217 f;
#X obj 166 123 route bang, f 5;
#X text 181 494 send stored values to preset objects;
#X msg 181 341 symbol \$1-preset-param;
#X msg 166 291 store;
#X msg 785 143 symbol \$1-preset-param;
#X msg 706 144 easemode \$1;
#X obj 706 123 symbol;
#X text 729 199 send ease time and mode to preset objects;
#X msg 604 123 grain \$1;
#X text 67 588 FIXME: replace with general presetter receiver?;
#N canvas 602 81 345 457 send_preset_target 0;
#X obj 41 169 sel -1;
#X obj 71 108 + 1;
#X obj 41 55 t f b;
#X obj 41 75 f;
#X obj 74 190 t b f f;
#X obj 113 392 s;
#X obj 41 34 inlet;
#X msg 68 75 range 0 1e+09;
#X msg 71 129 range \$1 1e+09;
#X obj 41 149 text search \$0-presets 0;
#X obj 190 34 inlet;
#X text 226 33 parent's \$0;
#X msg 145 376 symbol \$2-preset-\$1;
#X obj 113 311 list;
#X obj 113 332 list prepend target;
#X obj 113 353 list trim;
#N canvas 121 146 450 300 any2symbol 0;
#X obj 196 134 makefilename %i;
#X obj 144 114 route symbol float;
#X obj 144 161 outlet;
#X obj 144 94 inlet;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 1 1 0 0;
#X connect 3 0 1 0;
#X restore 113 270 pd any2symbol;
#X obj 113 291 t b s;
#X obj 145 311 pack s s;
#X obj 113 210 text get \$0-presets;
#X obj 113 230 list split 2;
#X obj 113 250 list split 1;
#X connect 0 1 4 0;
#X connect 1 0 8 0;
#X connect 2 0 3 0;
#X connect 2 1 7 0;
#X connect 3 0 9 0;
#X connect 4 0 3 0;
#X connect 4 1 1 0;
#X connect 4 2 19 0;
#X connect 6 0 2 0;
#X connect 7 0 9 0;
#X connect 8 0 9 0;
#X connect 9 0 0 0;
#X connect 10 0 18 1;
#X connect 12 0 5 1;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 15 0 5 0;
#X connect 16 0 17 0;
#X connect 17 0 13 0;
#X connect 17 1 18 0;
#X connect 18 0 12 0;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 20 1 13 1;
#X connect 21 1 16 0;
#X restore 127 514 pd send_preset_target;
#X text 263 515 FIXME: redundancy!;
#X msg 757 103 morph \$1;
#X msg 655 103 easetime \$1;
#X obj 782 284 iemguts/canvasdollarzero 1;
#X obj 283 123 route bang, f 5;
#X obj 283 217 f;
#X msg 361 123 click;
#X msg 400 123 clear;
#X text 879 586 Ben Wesch \, 2024;
#X obj 451 178 f;
#X obj 49 123 t f f f f;
#X obj 439 123 route bang, f 5;
#X obj 474 244 t b f f;
#X msg 474 326 record;
#X msg 478 178 stop;
#X text 309 435 FIXME: shouldn't the objects send their data including the preset index?;
#X text 525 248 FIXME: remove redundancy with store?;
#X obj 517 143 tgl 16 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 517 123 route bang;
#X obj 49 79 route float restore target store load save delete click edit clear record stop showid, f 85;
#X msg 538 143 showid \$1;
#N canvas 1285 397 265 210 args 0;
#X obj 38 41 loadbang;
#X msg 38 61 args;
#X obj 38 81 pdcontrol;
#X obj 38 101 x/argsparse;
#X obj 38 144 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 4 0;
#X restore 87 49 pd args;
#X obj 604 79 route grain easetime easemode morph p, f 43;
#N canvas 92 135 450 300 manualparentdollarzero 0;
#X obj 37 37 inlet;
#X obj 37 58 makefilename %d;
#X obj 37 79 s \$0-parentdollarzero;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 817 103 pd manualparentdollarzero;
#X connect 0 0 25 0;
#X connect 1 0 68 0;
#X connect 2 0 41 0;
#X connect 2 1 0 1;
#X connect 2 2 3 0;
#X connect 5 0 24 0;
#X connect 5 1 23 0;
#X connect 10 0 11 0;
#X connect 11 0 18 0;
#X connect 12 0 19 0;
#X connect 13 0 10 0;
#X connect 14 0 12 0;
#X connect 15 0 14 0;
#X connect 16 0 13 0;
#X connect 16 1 17 0;
#X connect 17 0 18 0;
#X connect 18 0 22 0;
#X connect 19 0 22 0;
#X connect 21 0 52 0;
#X connect 23 0 5 0;
#X connect 26 0 0 0;
#X connect 29 0 42 0;
#X connect 30 0 40 0;
#X connect 32 0 4 1;
#X connect 32 0 48 1;
#X connect 33 0 20 0;
#X connect 37 0 2 0;
#X connect 38 0 37 0;
#X connect 38 1 37 0;
#X connect 40 0 31 1;
#X connect 41 0 31 0;
#X connect 42 0 27 1;
#X connect 43 0 27 0;
#X connect 44 0 43 0;
#X connect 46 0 27 0;
#X connect 50 0 27 0;
#X connect 51 0 27 0;
#X connect 52 0 28 0;
#X connect 53 0 54 0;
#X connect 53 1 54 0;
#X connect 54 0 3 0;
#X connect 55 0 22 0;
#X connect 56 0 22 0;
#X connect 58 0 61 0;
#X connect 59 0 4 0;
#X connect 59 1 37 1;
#X connect 59 2 54 1;
#X connect 59 3 58 1;
#X connect 60 0 58 0;
#X connect 60 1 58 0;
#X connect 61 0 62 0;
#X connect 61 1 0 1;
#X connect 61 2 3 0;
#X connect 62 0 31 0;
#X connect 63 0 31 0;
#X connect 66 0 69 0;
#X connect 67 0 66 0;
#X connect 67 1 69 0;
#X connect 68 0 59 0;
#X connect 68 1 59 0;
#X connect 68 2 48 0;
#X connect 68 3 38 0;
#X connect 68 4 16 0;
#X connect 68 5 15 0;
#X connect 68 6 53 0;
#X connect 68 7 55 0;
#X connect 68 8 55 0;
#X connect 68 9 56 0;
#X connect 68 10 60 0;
#X connect 68 11 63 0;
#X connect 68 12 67 0;
#X connect 68 13 71 0;
#X connect 69 0 31 0;
#X connect 70 0 68 0;
#X connect 71 0 46 0;
#X connect 71 1 51 0;
#X connect 71 2 44 0;
#X connect 71 3 50 0;
#X connect 71 4 72 0;