-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathno_click_val.pd
347 lines (347 loc) · 8.02 KB
/
no_click_val.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
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
#N canvas 579 284 471 383 10;
#X obj 30 100 key;
#X obj 30 123 spigot;
#X obj 277 267 s;
#X symbolatom 211 87 0 0 0 0 - - -;
#X obj 211 108 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 263 87 set destination;
#X text 230 107 activate/deactivate;
#X floatatom 211 128 0 0 0 0 - - -;
#X text 257 129 display;
#X obj 317 250 inlet destination;
#X text 251 332 Made by Alexandros Drymonitis;
#X obj 30 155 sel 10 8;
#N canvas 224 106 604 523 set_arg 0;
#X obj 428 25 loadbang;
#X obj 428 47 \$1;
#X obj 428 71 outlet;
#X obj 66 15 keyname;
#X obj 233 77 symbol;
#X obj 233 54 sel 1;
#X obj 233 99 sel ! @ £ $ % ^ & * ( );
#X msg 233 215 1;
#X msg 246 193 2;
#X msg 260 169 3;
#X msg 273 145 4;
#X msg 287 122 5;
#X msg 300 215 6;
#X msg 314 193 7;
#X msg 327 169 8;
#X msg 341 145 9;
#X msg 354 122 0;
#X obj 66 37 t f f;
#X obj 314 311 f;
#X obj 314 333 * 10;
#X obj 287 355 +;
#X obj 287 287 t f b;
#X obj 287 377 t f f;
#X obj 287 399 outlet;
#X msg 329 287 0;
#X obj 66 281 route Shift_L;
#X obj 66 235 pack f s;
#X obj 66 303 sel 0 1;
#X obj 66 345 f;
#X obj 96 345 + 1;
#X msg 81 325 0;
#X msg 66 257 \$2 \$1;
#X obj 66 367 sel 1;
#X text 18 438 [keyname] outputs Shift_L 1 and Shift_L 0 when held
down and other keys are pressed \, so the counter above is necessary
for this to work;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 3 0 17 0;
#X connect 3 1 4 1;
#X connect 4 0 6 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 6 1 8 0;
#X connect 6 2 9 0;
#X connect 6 3 10 0;
#X connect 6 4 11 0;
#X connect 6 5 12 0;
#X connect 6 6 13 0;
#X connect 6 7 14 0;
#X connect 6 8 15 0;
#X connect 6 9 16 0;
#X connect 6 10 26 1;
#X connect 7 0 21 0;
#X connect 8 0 21 0;
#X connect 9 0 21 0;
#X connect 10 0 21 0;
#X connect 11 0 21 0;
#X connect 12 0 21 0;
#X connect 13 0 21 0;
#X connect 14 0 21 0;
#X connect 15 0 21 0;
#X connect 16 0 21 0;
#X connect 17 0 26 0;
#X connect 17 1 5 0;
#X connect 18 0 19 0;
#X connect 19 0 20 1;
#X connect 20 0 22 0;
#X connect 21 0 20 0;
#X connect 21 1 18 0;
#X connect 22 0 23 0;
#X connect 22 1 18 1;
#X connect 24 0 18 1;
#X connect 25 0 27 0;
#X connect 26 0 31 0;
#X connect 27 0 28 0;
#X connect 27 1 30 0;
#X connect 28 0 29 0;
#X connect 28 0 32 0;
#X connect 29 0 28 1;
#X connect 30 0 28 1;
#X connect 31 0 25 0;
#X connect 32 0 24 0;
#X restore 129 29 pd set_arg;
#X obj 129 55 ==;
#X obj 362 160 loadbang;
#X obj 362 182 t b b;
#X obj 389 202 symbol \$2;
#X obj 30 203 s \$0-done;
#X obj 250 244 t f f;
#X obj 250 289 outlet;
#X obj 155 172 moses 48;
#X obj 250 189 moses 58;
#X msg 155 260 -1;
#X obj 180 238 s \$0-dec;
#X obj 155 282 s \$0-negative;
#N canvas 292 250 788 451 \$0-assemble_val 0;
#X obj 96 61 - 48;
#X obj 111 171 f;
#X obj 111 193 * 10;
#X obj 96 215 +;
#X msg 126 127 0;
#X obj 29 379 f;
#X msg 278 225 1;
#X obj 96 338 *;
#X obj 96 17 inlet;
#X obj 111 315 r \$0-negative;
#X obj 29 405 outlet;
#N canvas 542 150 581 474 \$0-correct 0;
#X obj 132 26 inlet;
#X obj 132 48 list prepend;
#X obj 132 72 t l l;
#X obj 41 89 list;
#X obj 41 111 t l l;
#X obj 98 128 list length;
#X obj 98 150 - 1;
#X obj 41 175 list split;
#X obj 69 325 -;
#X obj 69 393 outlet;
#X obj 177 190 inlet total;
#X obj 69 229 swap;
#X obj 69 347 / 10;
#X obj 201 26 r \$0-done;
#X obj 41 197 t l l;
#X obj 41 49 spigot;
#X obj 41 27 r \$0-correct;
#X obj 272 26 inlet decimal;
#X obj 90 297 /;
#X obj 374 174 loadbang;
#X msg 374 280 1;
#X obj 272 70 swap 10;
#X obj 272 92 pow;
#X obj 356 64 - 1;
#X obj 368 411 f;
#X obj 368 433 outlet correct_counter;
#X obj 69 371 t f b;
#X obj 387 195 r \$0-done;
#X obj 368 388 spigot;
#X obj 433 371 r \$0-dec;
#X msg 401 361 0;
#X obj 374 218 t b b;
#X obj 272 47 t f f;
#X obj 356 86 t f f;
#N canvas 0 22 450 300 set_scale 0;
#X obj 138 165 pow -1;
#X msg 67 162 10;
#X obj 67 103 sel -1 0;
#X msg 89 132 1;
#X obj 138 120 swap 10;
#X obj 138 142 pow;
#X obj 67 77 inlet;
#X obj 67 228 outlet;
#X text 43 17 when correcting \, we need to divide the output by ten
when using integers \, and we the floats kick in \, we start dividing
by 1 \, 0.1 \, 0.01 etc. can't think of a better way to do this;
#X connect 0 0 7 0;
#X connect 1 0 7 0;
#X connect 2 0 1 0;
#X connect 2 1 3 0;
#X connect 2 2 4 0;
#X connect 3 0 7 0;
#X connect 4 0 5 0;
#X connect 4 1 5 1;
#X connect 5 0 0 0;
#X connect 6 0 2 0;
#X restore 356 109 pd set_scale;
#X text 126 151 retrieve last value and subtract it from total;
#X text 116 299 if we're in the decimal domain \, do the appropriate
divisions;
#X obj 177 212 t f f f;
#X obj 236 229 sel 0;
#X msg 236 251 1;
#X obj 236 273 s \$0-negative;
#X text 263 252 if we correct all the way \, undo negative;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 3 1;
#X connect 2 1 1 1;
#X connect 3 0 4 0;
#X connect 4 0 7 0;
#X connect 4 1 5 0;
#X connect 5 0 6 0;
#X connect 6 0 7 1;
#X connect 7 0 14 0;
#X connect 7 1 11 0;
#X connect 8 0 12 0;
#X connect 10 0 37 0;
#X connect 11 0 8 0;
#X connect 11 1 18 0;
#X connect 12 0 26 0;
#X connect 13 0 1 1;
#X connect 14 0 3 1;
#X connect 14 1 1 1;
#X connect 15 0 3 0;
#X connect 16 0 15 0;
#X connect 17 0 32 0;
#X connect 18 0 8 1;
#X connect 19 0 31 0;
#X connect 20 0 18 1;
#X connect 21 0 22 0;
#X connect 21 1 22 1;
#X connect 22 0 18 1;
#X connect 23 0 33 0;
#X connect 24 0 25 0;
#X connect 26 0 9 0;
#X connect 26 1 28 0;
#X connect 27 0 31 0;
#X connect 28 0 24 0;
#X connect 29 0 28 1;
#X connect 30 0 28 1;
#X connect 31 0 20 0;
#X connect 31 1 30 0;
#X connect 32 0 21 0;
#X connect 32 1 23 0;
#X connect 33 0 34 0;
#X connect 33 1 24 1;
#X connect 34 0 12 1;
#X connect 37 0 11 1;
#X connect 37 1 15 1;
#X connect 37 2 38 0;
#X connect 38 0 39 0;
#X connect 39 0 40 0;
#X restore 155 117 pd \$0-correct;
#X obj 96 100 t f b f;
#X obj 29 164 r \$0-done;
#X obj 347 33 r \$0-dec;
#X obj 123 383 s \$0-show;
#X obj 251 181 loadbang;
#X obj 29 186 t b b;
#X obj 96 39 t f b;
#X obj 314 78 f;
#X obj 344 78 + 1;
#X obj 314 56 spigot;
#X obj 96 362 t f f;
#X obj 96 239 t f f;
#X obj 96 286 t f f;
#X obj 333 124 swap 10;
#X obj 333 146 pow;
#X obj 96 264 /;
#X obj 251 203 t b b;
#X obj 126 149 t f f f;
#X obj 278 247 t f f;
#X obj 314 100 t f f f;
#X obj 401 117 sel 0;
#X msg 401 139 0;
#X obj 401 161 s \$0-dec;
#X text 372 68 if while correcting we erase all digits after the decimal
point \, we're not in decimal any more \, so close all spigots that
deal with decimals;
#X connect 0 0 12 0;
#X connect 1 0 2 0;
#X connect 2 0 3 1;
#X connect 3 0 23 0;
#X connect 4 0 29 0;
#X connect 5 0 10 0;
#X connect 6 0 30 0;
#X connect 7 0 22 0;
#X connect 8 0 18 0;
#X connect 9 0 7 1;
#X connect 11 0 23 0;
#X connect 11 1 19 0;
#X connect 12 0 3 0;
#X connect 12 1 1 0;
#X connect 12 2 11 0;
#X connect 13 0 17 0;
#X connect 14 0 21 1;
#X connect 16 0 28 0;
#X connect 17 0 5 0;
#X connect 17 1 28 0;
#X connect 18 0 0 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 19 0 31 0;
#X connect 20 0 19 1;
#X connect 21 0 19 0;
#X connect 22 0 5 1;
#X connect 22 1 15 0;
#X connect 23 0 27 0;
#X connect 23 1 1 1;
#X connect 24 0 7 0;
#X connect 24 1 11 1;
#X connect 25 0 26 0;
#X connect 25 1 26 1;
#X connect 26 0 27 1;
#X connect 27 0 24 0;
#X connect 28 0 4 0;
#X connect 28 1 6 0;
#X connect 29 0 1 1;
#X connect 29 1 21 1;
#X connect 29 2 19 0;
#X connect 30 0 27 1;
#X connect 30 1 7 1;
#X connect 31 0 11 2;
#X connect 31 1 25 0;
#X connect 31 2 32 0;
#X connect 32 0 33 0;
#X connect 33 0 34 0;
#X restore 250 212 pd \$0-assemble_val;
#X obj 155 194 sel 45 46;
#X obj 121 128 r \$0-show;
#X obj 52 179 s \$0-correct;
#X msg 121 150 set \$1;
#X msg 180 216 1;
#X connect 0 0 1 0;
#X connect 1 0 11 0;
#X connect 3 0 2 1;
#X connect 4 0 1 1;
#X connect 7 0 18 0;
#X connect 9 0 2 1;
#X connect 11 0 17 0;
#X connect 11 1 28 0;
#X connect 11 2 20 0;
#X connect 12 0 13 0;
#X connect 12 1 13 1;
#X connect 13 0 4 0;
#X connect 14 0 15 0;
#X connect 15 0 4 0;
#X connect 15 1 16 0;
#X connect 16 0 2 1;
#X connect 18 0 19 0;
#X connect 18 1 2 0;
#X connect 20 0 26 0;
#X connect 20 1 21 0;
#X connect 21 0 25 0;
#X connect 22 0 24 0;
#X connect 25 0 18 0;
#X connect 26 0 22 0;
#X connect 26 1 30 0;
#X connect 27 0 29 0;
#X connect 29 0 7 0;
#X connect 30 0 23 0;
#X coords 0 -1 1 1 180 90 1 200 60;