-
Notifications
You must be signed in to change notification settings - Fork 0
/
stash-help.pd
220 lines (220 loc) · 10.2 KB
/
stash-help.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
#N struct 1462-value float width float y symbol text float visible float border float background;
#N struct 1497-xbar-template float x float height;
#N struct 1497-ybar-template float y float width;
#N canvas 203 57 871 632 10;
#X obj 456 452 bng 16 250 50 0 \$0-show-example empty show\ example 20 8 0 10 #fcfcfc #000000 #000000;
#N canvas 378 101 557 623 reference 0;
#X obj 4 46 cnv 5 550 5 empty empty INLETS: 8 18 0 10 #202020 #000000 0;
#X obj 4 287 cnv 5 550 5 empty empty ARGUMENTS: 8 18 0 10 #202020 #000000 0;
#X obj 3 610 cnv 2 550 2 empty empty empty 8 18 0 13 #202020 #000000 0;
#X obj 4 78 cnv 1 550 1 empty empty 1st: 8 12 0 10 #7c7c7c #000000 0;
#X obj 19 16 stash;
#A saved 517575;
#X text 33 17 [stash] - preset plugin object for connections to controllers, f 61;
#X obj 4 154 cnv 5 550 5 empty empty OUTLETS: 8 18 0 10 #202020 #000000 0;
#X obj 4 320 cnv 1 550 1 empty empty flags: 8 12 0 10 #7c7c7c #000000 0;
#X text 102 219 bang -;
#X text 40 82 should be connected to outlet of value control objects;
#X text 40 192 should be connected to inlet of value control objects;
#X obj 4 188 cnv 1 550 1 empty empty 1st: 8 12 0 10 #7c7c7c #000000 0;
#X obj 4 546 cnv 1 550 1 empty empty args: 8 12 0 10 #7c7c7c #000000 0;
#X text 84 416 -noease -;
#X text 90 436 -debug -;
#X text 108 336 -id -;
#X text 84 560 <float> -;
#X text 79 580 <symbol> -;
#X text 146 107 will set the value to be stored;
#X text 146 127 will set the value list to be stored;
#X text 146 219 is sent to object \, expecting it to output its value(s);
#X text 146 239 will send value from preset to object;
#X text 146 259 will send value list from preset to object;
#X text 90 356 -color -;
#X text 146 356 will randomly set color based on id if no argument is given \; accepted arguments are RGB #<hexcode> or 'black', f 61;
#X text 146 416 deactivates value easing and directly set target value;
#X text 146 436 forces output of allocated id on creation;
#X text 146 560 simpler way of setting float id;
#X text 146 580 simpler way of setting symbol id;
#X text 102 456 -asc -;
#X text 90 396 -black -;
#X text 146 396 simpler way of setting black color;
#X text 146 456 forces id allocation to increase id \, starting from 0 (instead of checking random ids);
#X text 30 259 <list of floats> -;
#X text 84 239 <float> -;
#X text 30 127 <list of floats> -;
#X text 84 107 <float> -;
#X text 146 336 manually set id (float or symbol - float will be converted);
#X text 96 486 -p \$0 -;
#X text 146 486 manually set parent's \$0 to avoid 'iemguts' dependency (will still show errors in console \, but work anyway), f 54;
#X text 90 516 -nogop -;
#X text 146 516 display as regular object without graph-on-parent, f 54;
#X restore 767 16 pd reference;
#X obj 29 16 stash;
#A saved 434249;
#X obj 5 45 cnv 1 860 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X obj 5 584 cnv 1 860 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#N canvas 646 651 902 206 init 0;
#X obj 50 48 r \$0-show-example;
#X msg 50 69 dir;
#X obj 50 90 pdcontrol;
#X obj 50 132 s pd;
#X msg 50 111 open stash-example.pd \$1;
#X msg 250 69 dir;
#X obj 250 90 pdcontrol;
#X obj 250 132 s pd;
#X obj 250 48 r \$0-show-easemodes;
#X msg 250 111 open ease-help.pd \$1/x;
#X msg 438 71 0 0 0 0;
#X obj 438 49 loadbang;
#X obj 438 92 s \$0-list-atom-box;
#X obj 588 49 loadbang;
#X obj 588 92 s \$0-stash-hub;
#X msg 588 70 easetime 2000 \, easemode out-bounce;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 9 0;
#X connect 8 0 5 0;
#X connect 9 0 7 0;
#X connect 10 0 12 0;
#X connect 11 0 10 0;
#X connect 13 0 15 0;
#X connect 15 0 14 0;
#X restore 747 601 pd init;
#X text 578 600 requires "iemguts" library;
#X floatatom 579 115 8 0 0 0 - - - 0;
#N canvas 0 22 450 278 (subpatch) 0;
#X array \$0-array 16 float 2;
#X coords 0 1 16 0 120 60 1 0 0;
#X restore 571 218 graph;
#X obj 33 482 stash -color #ddff22;
#A saved 390773;
#X obj 33 512 stash -color #dddddd;
#A saved 725830;
#X obj 33 542 stash -color #006688;
#A saved 163034;
#X obj 33 442 stash -color;
#A saved 491859;
#X obj 53 442 stash -color;
#A saved 677214;
#X obj 73 442 stash -color;
#A saved 333658;
#X obj 93 442 stash -color;
#A saved 442;
#X obj 113 442 stash -color;
#A saved 988630;
#X obj 233 442 stash -color;
#A saved 787023;
#X obj 253 442 stash -color;
#A saved 687156;
#X obj 273 442 stash -color;
#A saved 408297;
#X obj 293 442 stash -color;
#A saved 222450;
#X obj 313 442 stash -color;
#A saved 579351;
#X obj 133 442 stash -color;
#A saved 231473;
#X obj 153 442 stash -color;
#A saved 359023;
#X obj 173 442 stash -color;
#A saved 694940;
#X obj 193 442 stash -color;
#A saved 149900;
#X obj 213 442 stash -color;
#A saved 937312;
#X obj 333 442 stash -color;
#A saved 198321;
#X obj 353 442 stash -color;
#A saved 126803;
#X obj 373 442 stash -color;
#A saved 94373;
#X obj 393 442 stash -color;
#A saved 775376;
#X text 48 481 [stash -color #ddff22];
#X text 48 541 [stash -color #006688];
#X text 48 511 [stash -color #dddddd];
#N canvas 442 420 406 240 META 0;
#X text 12 18 AUTHOR Ben Wesch;
#X text 12 181 LICENSE Unlicense;
#X text 12 149 KEYWORDS preset \, presets \, preset management \, stash;
#X text 12 38 DESCRIPTION abstraction for connecting to value objects in order to save an restore their states;
#X text 12 69 INLET_0 values as float or list of floats \, messages;
#X text 12 109 OUTLET_0 bang to retrieve values \, restored data;
#X restore 797 601 pd META;
#X obj 604 553 stash/hub;
#A saved 1 517575 \; 1 434249 \; 1 390773 \; 1 725830 \; 1 163034 \; 1 491859 \; 1 677214 \; 1 333658 \; 1 442 \; 1 988630 \; 1 787023 \; 1 687156 \; 1 408297 \; 1 222450 \; 1 579351 \; 1 231473 \; 1 359023 \; 1 694940 \; 1 149900 \; 1 937312 \; 1 198321 \; 1 126803 \; 1 94373 \; 1 775376 \; 1 548482 112.889 \; 1 52948 \; 1 397658 \; 1 762415 2 \; 1 268745 8 23 \; 1 bar 6.58519 \; 1 foo 6 \; 1 940237 0.0833328 0.233331 0.349995 0.483327 0.583325 0.666657 0.783322 0.866654 0.883321 0.783322 0.683324 0.549992 0.449994 0.28333 0.166665 0.0999992 \; 1 0 -1984 \; 0 517575 \; 0 434249 \; 0 390773 \; 0 725830 \; 0 163034 \; 0 491859 \; 0 677214 \; 0 333658 \; 0 442 \; 0 988630 \; 0 787023 \; 0 687156 \; 0 408297 \; 0 222450 \; 0 579351 \; 0 231473 \; 0 359023 \; 0 694940 \; 0 149900 \; 0 937312 \; 0 198321 \; 0 126803 \; 0 94373 \; 0 775376 \; 0 548482 29.163 \; 0 52948 \; 0 397658 \; 0 762415 1 \; 0 268745 76 68 \; 0 bar 100.659 \; 0 foo 2 \; 0 940237 0.600003 0.383339 0.233342 0.166676 0.166676 0.216675 0.383339 0.516671 0.633336 0.766667 0.816666 0.866665 0.833333 0.75 0.650002 0.516671 \; 0 0 99.9999 \;;
#X msg 604 511 showid;
#X text 27 104 you can connect any amount of instances with controller objects to store and restore their values (connections are made via "cross-connections": inlet->outlet \, outlet->inlet)., f 64;
#X obj 71 162 hsl 136 16 0 127 0 0 empty empty empty -2 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 49 162 stash;
#A saved 548482;
#X text 27 64 [stash] is designed for use in combination with [stash/hub] to facilitate preset management through snapshots and recordings., f 64;
#X obj 456 482 bng 16 250 50 0 \$0-show-easemodes empty show\ ease\ modes 20 8 0 10 #fcfcfc #000000 #000000;
#X text 43 16 [stash] - preset plugin object;
#X text 27 380 [stash] will create a white object by default. for visual clarity \, there are a few options to achieve different colors:, f 64;
#X obj 216 512 stash -black;
#A saved 52948;
#X text 230 481 [stash -color black];
#X text 230 511 [stash -black] (short version);
#X obj 216 482 stash -color black;
#A saved 397658;
#X text 217 162 <-- cross connection of slider;
#X obj 579 412 dropdown -mode 1;
#A saved entry 1 \; another entry \; and the third one \;;
#X obj 571 414 stash -noease;
#A saved 762415;
#X text 437 64 [stash] can be combined with any object that outputs a float or list of floats on bang and accepts input of these values. for vanilla \, these are for example:;
#X obj 579 145 hradio 16 1 0 8 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0;
#X text 635 114 number atom box (also: list atom box with float values), f 27;
#X obj 582 176 hsl 136 16 0 127 0 0 empty empty empty -2 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X text 712 145 hradio / vradio;
#X text 725 175 hsl / vsl;
#X obj 579 283 stash/arr \$0-array;
#X text 697 246 arrays with [stash/arr] helper abstraction, f 23;
#X obj 609 532 hradio 16 1 0 2 empty empty restore\ presets 36 8 0 10 #fcfcfc #000000 #000000 0;
#X text 652 511 <-- click to toggle id display;
#X obj 735 331 stash;
#A saved 268745;
#X obj 743 331 x/drag2d 100 100;
#X obj 755 537 r \$0-stash-hub;
#X text 439 413 [stash -noease];
#X text 451 115 [stash -id 0];
#X text 439 146 [stash -id foo];
#X text 463 177 [stash bar];
#X text 445 284 [stash -debug];
#X text 370 554 central object to control presets -->;
#X text 562 465 <-- click for example patch and ease modes;
#X obj 571 176 stash bar;
#A saved bar;
#X obj 571 145 stash -id foo;
#A saved foo;
#X obj 571 283 stash -debug;
#A saved 940237;
#X obj 571 115 stash -id 0;
#A saved 0;
#X text 437 298 (see console log);
#X text 26 601 see also: [stash/hub];
#X text 28 420 [stash -color] will assign random colors based on id.;
#X text 27 331 easing and morphing are handled in the [stash] objects based on the messages they receive., f 64;
#X text 27 271 when storing a preset with [stash/hub] \, all [stash] objects get a store message \, output a bang on their outlet and send back the numbers they receive from their inlet to [stash/hub] together with their id., f 64;
#X text 27 201 when creating a [stash] object \, it will self-assign its id and then check among other [stash] objects in the patch whether the id is unique. it will repeat this process with random ids in a range of 0..999'999 until it finds a unique id (which in most cases should be instantly)., f 64;
#X text 438 329 additionally \, you can connect [stash] with any other external or abstraction that supports the mechanism of value input and output-on-bang. the stash/x folder includes [drag2d] and [dropdown]., f 40;
#X connect 7 0 74 0;
#X connect 36 0 35 0;
#X connect 38 0 39 0;
#X connect 39 0 38 0;
#X connect 49 0 50 0;
#X connect 50 0 49 0;
#X connect 52 0 72 0;
#X connect 54 0 71 0;
#X connect 57 0 73 0;
#X connect 59 0 35 0;
#X connect 61 0 62 0;
#X connect 62 0 61 0;
#X connect 63 0 35 0;
#X connect 71 0 54 0;
#X connect 72 0 52 0;
#X connect 73 0 57 0;
#X connect 74 0 7 0;