Skip to content

Commit 0cca4ae

Browse files
committed
🥚
locally scoped bop seems to working happily. It requires iemGuts. I think I should bite the bullet and have it as a requirement alongside cyclone.
1 parent fbff728 commit 0cca4ae

File tree

11 files changed

+806
-709
lines changed

11 files changed

+806
-709
lines changed

bop.casio.pd

Lines changed: 172 additions & 154 deletions
Large diffs are not rendered by default.

bop.euclidean.pd

Lines changed: 34 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@
2424
#000000 #000000;
2525
#X obj 720 680 s to-units-\$0;
2626
#X text 2980 1740 comment;
27-
#X floatatom 400 1050 5 0 0 0 - - - 0;
28-
#X floatatom 550 1050 5 0 0 0 - - - 0;
29-
#X floatatom 710 1050 5 0 0 0 - - - 0;
30-
#X floatatom 2402 982 5 0 0 0 - - - 0;
27+
#X floatatom 400 1050 5 0 0 0 - - -, f 5;
28+
#X floatatom 550 1050 5 0 0 0 - - -, f 5;
29+
#X floatatom 710 1050 5 0 0 0 - - -, f 5;
30+
#X floatatom 2402 982 5 0 0 0 - - -, f 5;
3131
#X obj 710 1090 s bar-length-\$0;
3232
#X obj 550 1090 s offset-\$0;
3333
#X obj 400 1080 s num-hits-\$0;
@@ -49,10 +49,10 @@
4949
#X obj 2272 682 t b b f f, f 91;
5050
#X obj 1840 750 *;
5151
#X obj 1840 810 tabread rhythm-\$0;
52-
#X obj 110 170 hsl 85 15 0 5.9 0 1 from-units-\$0 to-units-\$0 unit:symbol(2)
53-
6 6 0 10 #fcfcfc #000000 #000000 4200 1;
52+
#X obj 110 170 hsl 85 15 0 5.9 0 1 from-units-\$0 to-units-\$0 unit:bars(5)
53+
6 6 0 10 #fcfcfc #000000 #000000 7600 1;
5454
#X obj 110 150 nbx 9 15 1 1e+37 0 1 from-duration-\$0 to-duration-\$0
55-
duration 40 6 0 10 #fcfcfc #000000 #000000 8 256;
55+
duration 40 6 0 10 #fcfcfc #000000 #000000 1 256 0;
5656
#N canvas 536 233 450 305 tick-calculator 0;
5757
#X obj 73 -159 i;
5858
#X msg 73 -39 list ticks 16ths 12ths 8ths beats bars, f 18;
@@ -153,8 +153,8 @@ should pause until loop length comes around, f 33;
153153
#X connect 23 1 17 0;
154154
#X restore 1370 860 pd looping reference;
155155
#X obj 1310 940 s to-position-\$0;
156-
#X obj 110 210 hsl 185 15 0 24 0 1 from-hits-\$0 to-hits-\$0 hits:2
157-
5 5 0 10 #fcfcfc #000000 #000000 1700 1;
156+
#X obj 110 210 hsl 185 15 0 24 0 1 from-hits-\$0 to-hits-\$0 hits:7
157+
5 5 0 10 #fcfcfc #000000 #000000 5700 1;
158158
#X obj 400 1110 r from-hits-\$0;
159159
#X obj 400 1190 s to-hits-\$0;
160160
#X obj 400 980 r from-hits-\$0;
@@ -166,7 +166,7 @@ should pause until loop length comes around, f 33;
166166
#X obj 710 1110 r from-divisions-\$0;
167167
#X obj 710 1200 s to-divisions-\$0;
168168
#X obj 110 190 hsl 185 15 0 24 0 1 from-divisions-\$0 to-divisions-\$0
169-
divisions:4 5 5 0 10 #fcfcfc #000000 #000000 3200 1;
169+
divisions:12 5 5 0 10 #fcfcfc #000000 #000000 9600 1;
170170
#X obj 710 980 r from-divisions-\$0;
171171
#X obj 400 1020 i;
172172
#X obj 550 1020 i;
@@ -200,8 +200,8 @@ divisions:4 5 5 0 10 #fcfcfc #000000 #000000 3200 1;
200200
#X connect 8 0 3 0;
201201
#X connect 10 0 0 0;
202202
#X restore 560 890 pd make-note-label;
203-
#X obj 210 150 hsl 85 15 0 8.9 0 1 from-octave-\$0 to-octave-\$0 octave:4
204-
5 5 0 10 #fcfcfc #000000 #000000 4600 1;
203+
#X obj 210 150 hsl 85 15 0 8.9 0 1 from-octave-\$0 to-octave-\$0 octave:6
204+
5 5 0 10 #fcfcfc #000000 #000000 6600 1;
205205
#X obj 680 830 r from-octave-\$0;
206206
#X obj 680 920 s to-octave-\$0;
207207
#X obj 110 280 hsl 185 8 0 1 0 0 from-position-\$0 to-position-\$0
@@ -272,7 +272,7 @@ empty 5 5 0 10 #fcfcfc #000000 #000000 0 1;
272272
#X obj 1910 970 r from-note-\$0;
273273
#X obj 1890 950 r from-octave-\$0;
274274
#X obj 210 170 hsl 85 15 0 127 0 1 from-velocity-\$0 to-velocity-\$0
275-
velocity:127 5 5 0 10 #fcfcfc #000000 #000000 8400 1;
275+
velocity:93 5 5 0 10 #fcfcfc #000000 #000000 6200 1;
276276
#X obj 400 830 r from-velocity-\$0;
277277
#X obj 400 920 s to-velocity-\$0;
278278
#X obj 1760 1060 r from-velocity-\$0;
@@ -307,9 +307,9 @@ loop play position velocity, f 64;
307307
#X restore 1440 260 pd midi2no;
308308
#X obj 2432 1142 sub.bop.euclidean ukulele, f 60;
309309
#N canvas 0 22 450 300 (subpatch) 0;
310-
#X array rhythm-\$0 4 float 3;
311-
#A 0 1 0 0 0;
312-
#X coords 0 1 4 0 190 30 1;
310+
#X array rhythm-\$0 12 float 3 black black;
311+
#A 0 1 0 1 0 1 0 1 1 0 1 0 1;
312+
#X coords 0 1 12 0 190 30 1;
313313
#X restore 110 250 graph;
314314
#X obj 60 990 int;
315315
#X msg 60 1070 label unit:\$2(\$1);
@@ -328,15 +328,17 @@ loop play position velocity, f 64;
328328
#X text 1480 980 TODO: this should be sending out note 1 \, note 2
329329
\, note 3 etc from the control outlet. Can remove note \, velocity
330330
and octave parameters, f 35;
331-
#X obj 1310 620 r bop-time;
332-
#X obj 443 135 loadbang;
333-
#X obj 443 192 s \$0-scope-id;
334-
#X obj 1310 670 route;
335-
#X obj 1327 645 r \$0-scope-id;
336-
#X obj 444 219 r \$0-scope-id;
337-
#X obj 441 160 \$1;
338-
#X obj 443 252 print sampler scope-id;
339-
#X text 430 100 guts for time;
331+
#X obj 400 280 r \$0-scope-id;
332+
#X obj 1313 590 r bop-time;
333+
#X obj 1313 640 route;
334+
#X obj 1330 615 r \$0-scope-id;
335+
#X obj 400 160 loadbang;
336+
#X obj 400 250 s \$0-scope-id;
337+
#X obj 400 190 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
338+
#000000 #000000;
339+
#X obj 400 220 iemguts/canvasdollarzero 1;
340+
#X text 425 189 get \$0 of parent patch to localise messaging;
341+
#X obj 399 313 print euclidean scope-id;
340342
#X connect 1 0 5 0;
341343
#X connect 2 0 6 0;
342344
#X connect 3 0 165 0;
@@ -497,10 +499,11 @@ and octave parameters, f 35;
497499
#X connect 186 0 187 0;
498500
#X connect 187 0 78 0;
499501
#X connect 188 0 24 0;
500-
#X connect 190 0 193 0;
501-
#X connect 191 0 196 0;
502-
#X connect 193 0 113 0;
503-
#X connect 194 0 193 1;
504-
#X connect 195 0 197 0;
505-
#X connect 196 0 192 0;
502+
#X connect 190 0 199 0;
503+
#X connect 191 0 192 0;
504+
#X connect 192 0 113 0;
505+
#X connect 193 0 192 1;
506+
#X connect 194 0 196 0;
507+
#X connect 196 0 197 0;
508+
#X connect 197 0 195 0;
506509
#X coords 0 -1 1 1 210 200 1 100 100;

bop.glok.pd

Lines changed: 71 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#N canvas 376 23 770 772 10;
1+
#N canvas 138 116 1478 772 10;
22
#X obj 670 100 inlet~ left;
33
#X obj 900 100 inlet~ right;
44
#X obj 1000 100 inlet note;
@@ -11,30 +11,29 @@
1111
#X text 490 260 👈 bangs when parent is saved;
1212
#X obj 400 180 f;
1313
#X obj 460 290 s save-state-\$0;
14-
#X obj 1000 480 pack 0 0 0, f 13;
15-
#X obj 1000 510 route 1 2 3 4, f 55;
16-
#X obj 1000 650 *~ 0.5;
17-
#X obj 1000 560 unpack;
18-
#X obj 1000 590 mtof;
19-
#X obj 1100 650 *~ 0.5;
20-
#X obj 1100 560 unpack;
21-
#X obj 1100 590 mtof;
22-
#X obj 1200 650 *~ 0.5;
23-
#X obj 1200 560 unpack;
24-
#X obj 1200 590 mtof;
25-
#X obj 1300 650 *~ 0.5;
26-
#X obj 1300 560 unpack;
27-
#X obj 1300 590 mtof;
14+
#X obj 1000 640 pack 0 0 0, f 13;
15+
#X obj 1000 670 route 1 2 3 4, f 55;
16+
#X obj 1000 810 *~ 0.5;
17+
#X obj 1000 720 unpack;
18+
#X obj 1000 750 mtof;
19+
#X obj 1100 810 *~ 0.5;
20+
#X obj 1100 720 unpack;
21+
#X obj 1100 750 mtof;
22+
#X obj 1200 810 *~ 0.5;
23+
#X obj 1200 720 unpack;
24+
#X obj 1200 750 mtof;
25+
#X obj 1300 810 *~ 0.5;
26+
#X obj 1300 720 unpack;
27+
#X obj 1300 750 mtof;
2828
#X obj 400 220 pack f;
2929
#X obj 400 290 unpack f;
3030
#X obj 780 120 hip~ 5;
3131
#X obj 780 145 clip~ -1 1;
3232
#X obj 100 120 cnv 15 210 20 empty empty empty 7 7 0 14 #97c5ee #ffffff
3333
0;
34-
#X obj 1000 440 poly 4 1, f 13;
35-
#X obj 1040 350 r bop-play;
36-
#X obj 1040 370 sel 0;
37-
#X obj 1000 400 cyclone/flush;
34+
#X obj 1000 600 poly 4 1, f 13;
35+
#X obj 1040 530 sel 0;
36+
#X obj 1000 560 cyclone/flush;
3837
#X obj 110 130 tgl 15 1 from-pedal-\$0 to-pedal-\$0 pedal 20 5 0 10
3938
#fcfcfc #000000 #000000 0 1;
4039
#X obj 400 130 r save-state-\$0;
@@ -60,21 +59,32 @@
6059
#X obj 1020 260 r from-pedal-\$0;
6160
#X obj 1130 140 route pedal;
6261
#X obj 1130 170 s to-pedal-\$0;
63-
#X obj 1000 690 throw~ instrument-\$0;
64-
#X obj 1100 690 throw~ instrument-\$0;
65-
#X obj 1200 690 throw~ instrument-\$0;
66-
#X obj 1300 690 throw~ instrument-\$0;
62+
#X obj 1000 850 throw~ instrument-\$0;
63+
#X obj 1100 850 throw~ instrument-\$0;
64+
#X obj 1200 850 throw~ instrument-\$0;
65+
#X obj 1300 850 throw~ instrument-\$0;
6766
#X obj 780 100 catch~ instrument-\$0;
68-
#X obj 1000 620 sub.bop.chimes~;
69-
#X obj 1100 620 sub.bop.chimes~;
70-
#X obj 1200 620 sub.bop.chimes~;
71-
#X obj 1300 620 sub.bop.chimes~;
67+
#X obj 1000 780 sub.bop.chimes~;
68+
#X obj 1100 780 sub.bop.chimes~;
69+
#X obj 1200 780 sub.bop.chimes~;
70+
#X obj 1300 780 sub.bop.chimes~;
71+
#X obj 1314 100 loadbang;
72+
#X obj 1314 190 s \$0-scope-id;
73+
#X obj 1314 130 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
74+
#000000 #000000;
75+
#X obj 1314 160 iemguts/canvasdollarzero 1;
76+
#X text 1339 129 get \$0 of parent patch to localise messaging;
77+
#X obj 1312 214 r \$0-scope-id;
78+
#X obj 1314 250 print scope-id;
79+
#X obj 1037 421 r bop-time;
80+
#X obj 1040 500 route;
81+
#X obj 1061 454 r \$0-scope-id;
7282
#X connect 0 0 4 0;
7383
#X connect 1 0 5 0;
7484
#X connect 2 0 6 0;
75-
#X connect 2 0 37 0;
85+
#X connect 2 0 36 0;
7686
#X connect 3 0 7 0;
77-
#X connect 3 0 41 0;
87+
#X connect 3 0 40 0;
7888
#X connect 8 0 27 0;
7989
#X connect 8 1 11 0;
8090
#X connect 10 0 26 0;
@@ -83,42 +93,48 @@
8393
#X connect 13 1 18 0;
8494
#X connect 13 2 21 0;
8595
#X connect 13 3 24 0;
86-
#X connect 14 0 43 0;
96+
#X connect 14 0 42 0;
8797
#X connect 15 0 16 0;
88-
#X connect 15 1 48 1;
89-
#X connect 16 0 48 0;
90-
#X connect 17 0 44 0;
98+
#X connect 15 1 47 1;
99+
#X connect 16 0 47 0;
100+
#X connect 17 0 43 0;
91101
#X connect 18 0 19 0;
92-
#X connect 18 1 49 1;
93-
#X connect 19 0 49 0;
94-
#X connect 20 0 45 0;
102+
#X connect 18 1 48 1;
103+
#X connect 19 0 48 0;
104+
#X connect 20 0 44 0;
95105
#X connect 21 0 22 0;
96-
#X connect 21 1 50 1;
97-
#X connect 22 0 50 0;
98-
#X connect 23 0 46 0;
106+
#X connect 21 1 49 1;
107+
#X connect 22 0 49 0;
108+
#X connect 23 0 45 0;
99109
#X connect 24 0 25 0;
100-
#X connect 24 1 51 1;
101-
#X connect 25 0 51 0;
110+
#X connect 24 1 50 1;
111+
#X connect 25 0 50 0;
102112
#X connect 26 0 8 0;
103-
#X connect 27 0 39 0;
113+
#X connect 27 0 38 0;
104114
#X connect 28 0 29 0;
105115
#X connect 29 0 4 0;
106116
#X connect 29 0 5 0;
107117
#X connect 31 0 12 0;
108118
#X connect 31 1 12 1;
109119
#X connect 31 2 12 2;
110120
#X connect 32 0 33 0;
111-
#X connect 33 0 34 0;
112-
#X connect 34 0 31 0;
113-
#X connect 34 1 31 1;
114-
#X connect 36 0 10 0;
115-
#X connect 37 0 34 0;
116-
#X connect 38 0 10 1;
117-
#X connect 40 0 37 1;
118-
#X connect 41 0 42 0;
119-
#X connect 47 0 28 0;
120-
#X connect 48 0 14 0;
121-
#X connect 49 0 17 0;
122-
#X connect 50 0 20 0;
123-
#X connect 51 0 23 0;
121+
#X connect 33 0 31 0;
122+
#X connect 33 1 31 1;
123+
#X connect 35 0 10 0;
124+
#X connect 36 0 33 0;
125+
#X connect 37 0 10 1;
126+
#X connect 39 0 36 1;
127+
#X connect 40 0 41 0;
128+
#X connect 46 0 28 0;
129+
#X connect 47 0 14 0;
130+
#X connect 48 0 17 0;
131+
#X connect 49 0 20 0;
132+
#X connect 50 0 23 0;
133+
#X connect 51 0 53 0;
134+
#X connect 53 0 54 0;
135+
#X connect 54 0 52 0;
136+
#X connect 56 0 57 0;
137+
#X connect 58 0 59 0;
138+
#X connect 59 0 32 0;
139+
#X connect 60 0 59 1;
124140
#X coords 0 -1 1 1 210 60 1 100 100;

0 commit comments

Comments
 (0)