-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbop.pd
298 lines (298 loc) · 8.26 KB
/
bop.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
#N canvas 525 23 992 1005 10;
#X obj 100 120 cnv 15 210 20 empty empty empty 7 7 0 14 #a8caab #ffffff
0;
#X obj 871 83 inlet~ left;
#X obj 971 83 inlet~ right;
#X obj 1071 83 inlet note;
#X obj 871 333 outlet~ left;
#X obj 971 333 outlet~ right;
#X obj 1071 333 outlet note;
#X obj 350 690 savestate, f 11;
#X text 430 710 👈 bangs when parent is saved;
#X obj 350 660 f;
#X obj 350 580 r save-state-\$0;
#X obj 420 740 s save-state-\$0;
#X obj 110 130 tgl 55 0 from-play-\$0 to-play-\$0 play 15 24 0 10 #ffffff
#000000 #000000 0 1;
#X floatatom 100 300 5 0 0 1 ticks to-ticks-#0 from-ticks-#0, f 5
;
#X floatatom 100 320 5 0 0 1 16ths to-16ths-#0 from-16ths-#0, f 5
;
#X floatatom 170 300 5 0 0 1 8ths to-8ths-#0 from-8ths-#0, f 5;
#X floatatom 170 320 5 0 0 1 beats to-beats-#0 from-beats-#0, f 5
;
#X floatatom 170 340 5 0 0 1 bars to-bars-#0 from-bars-#0, f 5;
#X floatatom 100 340 5 0 0 1 12ths to-12ths-#0 from-12ths-#0, f 5
;
#X obj 170 150 bng 15 250 50 0 from-rewind-\$0 to-rewind-\$0 rewind
20 5 0 10 #ffffff #000000 #000000;
#X obj 353 274 r from-ticks-\$0;
#X obj 453 274 r from-16ths-\$0;
#X obj 563 274 r from-12ths-\$0;
#X obj 363 438 r from-8ths-\$0;
#X obj 463 438 r from-beats-\$0;
#X obj 573 438 r from-bars-\$0;
#X obj 1180 80 inlet ctrl;
#X obj 1180 320 outlet ctrl;
#X obj 1333 269 s to-rewind-\$0;
#X obj 1423 209 s to-bpm-\$0;
#X obj 368 607 r from-bpm-\$0;
#X obj 350 740 unpack f;
#X obj 350 850 s to-bpm-\$0;
#X text 863 622 pulse;
#X obj 798 727 metro;
#X obj 825 689 expr 60000/$f1;
#X obj 798 586 t f b;
#X obj 1300 676 i;
#X obj 1373 690 / 4;
#X obj 1373 710 i;
#X obj 1198 695 i;
#X obj 1198 766 % 8;
#X obj 1373 730 change;
#X obj 1300 702 change;
#X obj 1300 728 % 4;
#X text 693 655 16ths as ticks 👉;
#X msg 868 585 set \$1;
#X obj 855 558 t b f;
#X obj 824 654 * 24;
#X floatatom 862 729 5 0 0 0 - - -, f 5;
#X msg 825 623 88;
#X obj 1300 650 / 24;
#X obj 1198 653 / 12;
#X obj 980 719 i;
#X obj 980 677 / 6;
#X obj 980 790 % 16;
#X text 1486 677 24 ticks per beat;
#X text 1486 718 12 ticks per quaver;
#X text 1486 761 6 ticks per semiquaver;
#X text 1486 632 96 ticks per bar of 4/4;
#X text 1486 739 8 ticks per quaver triplet;
#X text 1486 655 32 ticks per minim triplet;
#X text 1486 698 16 ticks per crotchet triplet;
#X obj 1099 700 i;
#X obj 1099 658 / 8;
#X obj 1099 771 % 12;
#X obj 1200 730 change;
#X obj 1100 740 change;
#X obj 976 749 change;
#X obj 852 531 r from-bpm-\$0;
#X obj 797 869 s to-ticks-\$0;
#X obj 980 610 r from-ticks-\$0;
#X obj 1100 610 r from-ticks-\$0;
#X obj 1200 610 r from-ticks-\$0;
#X obj 1300 610 r from-ticks-\$0;
#X obj 980 820 s to-16ths-\$0;
#X obj 1096 817 s to-12ths-\$0;
#X obj 1198 817 s to-8ths-\$0;
#X obj 1300 819 s to-beats-\$0;
#X obj 1373 759 s to-bars-\$0;
#X obj 355 188 sel 1;
#X msg 359 223 \; pd dsp 1;
#X obj 359 153 r from-play-\$0;
#X obj 800 500 r from-play-\$0;
#X obj 1373 239 s to-play-\$0;
#X msg 353 304 ticks \$1;
#X msg 453 304 16ths \$1;
#X msg 563 304 12ths \$1;
#X msg 363 468 8ths \$1;
#X msg 463 468 beats \$1;
#X msg 573 468 bars \$1;
#X msg 670 560 play \$1;
#X obj 170 170 nbx 5 15 -1e+37 1e+37 0 0 empty from-bars-\$0 empty
0 -8 0 15 #fcfcfc #000000 #000000 280 256 0;
#X obj 230 170 nbx 2 15 -1e+37 1e+37 0 0 empty from-beats-\$0 empty
0 -8 0 15 #fcfcfc #000000 #000000 3 256 0;
#X obj 270 170 nbx 2 15 -1e+37 1e+37 0 0 empty ticks-in-bar-\$0 empty
0 -8 0 15 #fcfcfc #000000 #000000 0 256 0;
#X obj 100 450 s ticks-in-bar-\$0;
#X obj 100 390 r from-ticks-\$0;
#X obj 100 420 % 24;
#X text 220 170 .;
#X text 260 170 .;
#X obj 830 760 r from-rewind-\$0;
#X obj 170 130 nbx 11 17 -1e+37 1e+33 0 0 from-bpm-\$0 to-bpm-\$0 bpm
83 7 0 10 #fcfcfc #000000 #000000 88 256 0;
#X obj 870 130 clip~ -1 1;
#X obj 970 130 clip~ -1 1;
#X obj 100 490 keyname;
#X obj 100 640 s to-play-\$0;
#X obj 100 520 pack f s;
#X msg 100 540 \$2 \$1;
#X obj 100 600 sel 1;
#X obj 100 570 route Space;
#X obj 425 197 s bop-play;
#X obj 263 274 r from-bpm-\$0;
#X floatatom 260 410 5 0 0 0 - - -, f 5;
#X msg 260 440 bpm \$1;
#X obj 300 380 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
#000000 #000000;
#X obj 100 880 iemguts/sendcanvas 1;
#X obj 110 190 bng 15 250 50 0 \$0-make-palette empty palette 20 5
0 10 #fcfcfc #000000 #000000;
#X obj 100 680 r \$0-make-palette;
#X obj 100 720 iemguts/canvasposition;
#X obj 100 820 pack;
#X msg 100 840 obj \$1 \$2 bop.palette;
#X obj 100 750 unpack;
#X obj 100 790 + 220;
#X obj 350 790 delay 100;
#X obj 350 820 f;
#X msg 420 830 110;
#X obj 420 790 loadbang;
#X obj 340 50 cnv 15 55 55 empty \$0-play-canvas 🦉 3 22 0 50 #e0e0e0
#404040 0;
#X msg 412 72 label \$1;
#X obj 412 102 s \$0-play-canvas;
#X msg 412 22 🦉;
#X msg 472 22 🦅;
#X obj 412 42 symbol;
#X obj 700 20 loadbang;
#X obj 700 110 s \$0-scope-id;
#X obj 798 841 f;
#X obj 826 811 + 1;
#X msg 816 784 0;
#X obj 1210 140 r \$0-scope-id;
#X obj 1333 149 route rewind play 1 0 bpm id;
#X obj 1180 140 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
#000000 #000000;
#X obj 700 50 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000;
#X msg 1180 220 id \$1;
#X obj 1180 110 route id, f 25;
#X obj 516 217 s bop-time;
#X obj 597 112 r \$0-scope-id;
#X obj 522 148 list prepend;
#X obj 516 186 list trim;
#X obj 671 593 s bop-time-\$0;
#X obj 562 345 s bop-time-\$0;
#X obj 460 353 s bop-time-\$0;
#X obj 347 352 s bop-time-\$0;
#X obj 358 498 s bop-time-\$0;
#X obj 459 504 s bop-time-\$0;
#X obj 569 506 s bop-time-\$0;
#X obj 255 499 s bop-time-\$0;
#X obj 529 82 r bop-time-\$0;
#X text 604 196 prepends global time messages with @00001;
#X obj 610 160 print bop scope-id;
#X obj 700 80 iemguts/canvasdollarzero 1;
#X text 725 49 get \$0 of parent patch to localise messaging;
#X obj 1180 180 symbol;
#X connect 1 0 102 0;
#X connect 2 0 103 0;
#X connect 3 0 6 0;
#X connect 7 0 31 0;
#X connect 7 1 11 0;
#X connect 9 0 7 0;
#X connect 10 0 9 0;
#X connect 20 0 85 0;
#X connect 20 0 114 0;
#X connect 21 0 86 0;
#X connect 22 0 87 0;
#X connect 23 0 88 0;
#X connect 24 0 89 0;
#X connect 25 0 90 0;
#X connect 26 0 143 0;
#X connect 30 0 9 1;
#X connect 31 0 123 0;
#X connect 31 0 124 1;
#X connect 34 0 135 0;
#X connect 35 0 34 1;
#X connect 35 0 49 0;
#X connect 36 0 34 0;
#X connect 36 1 50 0;
#X connect 37 0 43 0;
#X connect 38 0 39 0;
#X connect 39 0 42 0;
#X connect 40 0 66 0;
#X connect 41 0 77 0;
#X connect 42 0 79 0;
#X connect 43 0 44 0;
#X connect 44 0 78 0;
#X connect 46 0 50 0;
#X connect 47 0 50 0;
#X connect 47 1 46 0;
#X connect 48 0 35 0;
#X connect 50 0 48 0;
#X connect 51 0 37 0;
#X connect 51 0 38 0;
#X connect 52 0 40 0;
#X connect 53 0 68 0;
#X connect 54 0 53 0;
#X connect 55 0 75 0;
#X connect 63 0 67 0;
#X connect 64 0 63 0;
#X connect 65 0 76 0;
#X connect 66 0 41 0;
#X connect 67 0 65 0;
#X connect 68 0 55 0;
#X connect 69 0 47 0;
#X connect 71 0 54 0;
#X connect 72 0 64 0;
#X connect 73 0 52 0;
#X connect 74 0 51 0;
#X connect 80 0 81 0;
#X connect 82 0 80 0;
#X connect 82 0 110 0;
#X connect 83 0 36 0;
#X connect 83 0 91 0;
#X connect 85 0 151 0;
#X connect 86 0 150 0;
#X connect 87 0 149 0;
#X connect 88 0 152 0;
#X connect 89 0 153 0;
#X connect 90 0 154 0;
#X connect 91 0 148 0;
#X connect 96 0 97 0;
#X connect 97 0 95 0;
#X connect 100 0 137 0;
#X connect 102 0 4 0;
#X connect 103 0 5 0;
#X connect 104 0 106 0;
#X connect 104 1 106 1;
#X connect 106 0 107 0;
#X connect 107 0 109 0;
#X connect 108 0 105 0;
#X connect 109 0 108 0;
#X connect 111 0 112 0;
#X connect 112 0 113 0;
#X connect 113 0 155 0;
#X connect 117 0 118 0;
#X connect 118 0 121 0;
#X connect 119 0 120 0;
#X connect 120 0 115 0;
#X connect 121 0 122 0;
#X connect 121 1 119 1;
#X connect 122 0 119 0;
#X connect 123 0 124 0;
#X connect 124 0 32 0;
#X connect 125 0 32 0;
#X connect 126 0 125 0;
#X connect 128 0 129 0;
#X connect 130 0 132 0;
#X connect 131 0 132 0;
#X connect 132 0 128 0;
#X connect 133 0 141 0;
#X connect 135 0 136 0;
#X connect 135 0 70 0;
#X connect 136 0 135 1;
#X connect 137 0 135 1;
#X connect 138 0 161 1;
#X connect 139 0 28 0;
#X connect 139 1 84 0;
#X connect 139 2 84 0;
#X connect 139 3 84 0;
#X connect 139 4 29 0;
#X connect 140 0 161 0;
#X connect 141 0 159 0;
#X connect 142 0 27 0;
#X connect 143 0 140 0;
#X connect 143 1 139 0;
#X connect 143 1 27 0;
#X connect 145 0 146 1;
#X connect 145 0 158 0;
#X connect 146 0 147 0;
#X connect 147 0 144 0;
#X connect 156 0 146 0;
#X connect 159 0 134 0;
#X connect 161 0 142 0;
#X coords 0 -1 1 1 210 110 1 100 100;