-
Notifications
You must be signed in to change notification settings - Fork 0
/
looper.pd
195 lines (195 loc) · 4.63 KB
/
looper.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
#N canvas 1276 34 594 973 12;
#X obj 15 64 route loop;
#X obj 258 110 list split 1;
#X obj 258 243 s;
#X obj 258 163 list;
#X obj 258 135 t b l;
#X text 245 83 send all destinations;
#X obj 43 666 *;
#X floatatom 43 690 5 0 0 0 - - - 0;
#X obj 43 525 mod 16;
#X obj 111 610 / 16;
#X obj 111 634 t f f;
#X obj 317 671 / 44100;
#X floatatom 317 695 5 0 0 0 - - - 0;
#X obj 317 718 * 1000;
#X obj 43 489 f;
#X obj 43 735 list append;
#X obj 43 405 list prepend;
#X obj 124 380 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 43 429 route 1;
#X msg 43 453 bang;
#X obj 89 452 list split 1;
#X text 144 378 sticky;
#X obj 138 318 loadbang;
#X msg 138 342 0;
#X obj 125 580 t b f;
#N canvas 1 53 450 328 calculate-bpm 0;
#X obj 14 14 inlet;
#X obj 14 38 / 44100;
#X obj 14 62 / 0.111111;
#X text 102 61 magic seconds-per-beat at 135 bpm;
#X obj 14 86 log 2;
#X obj 14 185 pow;
#X msg 14 158 2 \$1;
#X obj 14 110 + 0.5;
#X obj 14 259 / 2;
#X obj 27 210 r divider;
#X obj 27 234 t b f;
#X obj 14 283 outlet;
#X obj 14 134 int;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 4 0 7 0;
#X connect 5 0 8 0;
#X connect 6 0 5 0;
#X connect 7 0 12 0;
#X connect 8 0 11 0;
#X connect 9 0 10 0;
#X connect 10 0 8 0;
#X connect 10 1 8 1;
#X connect 12 0 6 0;
#X restore 253 316 pd calculate-bpm;
#X text 251 264 automatically calculate divisions pow 2;
#X obj 15 137 soundfiler;
#X text 39 239 basic loop player;
#X obj 15 16 r channel/\$1;
#X obj 15 198 table \$0/storage;
#X obj 43 818 tabplay~ \$0/storage;
#X obj 43 261 r global/tick;
#X obj 317 768 s global/ticklength;
#X text 331 742 TODO: every loop resets the BPM atm;
#X obj 125 556 r \$0/divisions;
#X obj 100 501 r \$0/divisions;
#X obj 253 340 s \$0/divisions;
#X obj 15 161 s \$0/size;
#X obj 253 292 r \$0/size;
#X obj 111 530 r \$0/size;
#X obj 124 288 r \$0/sticky;
#X obj 293 163 list prepend \$0;
#X obj 68 863 r \$0/volume;
#X msg 293 187 \$1/\$2;
#X obj 293 211 symbol;
#X obj 424 24 r global/reset;
#X obj 15 88 list prepend \$0;
#X msg 15 112 read -resize \$2 \$1/storage;
#X obj 15 40 list trim;
#X obj 424 72 list prepend \$0;
#N canvas 107 1226 450 300 pan 0;
#X obj 24 18 inlet~;
#X obj 25 246 outlet~;
#X obj 322 244 outlet~;
#X obj 338 18 inlet;
#X obj 72 104 *~ 1;
#X obj 25 104 *~ 0;
#X obj 338 42 expr 1 - $f1;
#X connect 0 0 4 0;
#X connect 0 0 5 0;
#X connect 3 0 4 1;
#X connect 3 0 6 0;
#X connect 4 0 2 0;
#X connect 5 0 1 0;
#X connect 6 0 5 1;
#X restore 43 913 pd pan;
#X obj 101 889 r \$0/pan;
#X obj 43 888 *~ 0;
#X obj 42 943 outlet~;
#X obj 101 943 outlet~;
#X obj 20 298 r \$0/tick;
#X msg 424 48 bang;
#X msg 424 96 \; \$1/storage resize 0 \; \$1/volume 0 \; \$1/pan 0 \;;
#X obj 163 707 mod 2;
#X obj 193 818 tabplay~ \$0/storage;
#X obj 43 760 list prepend;
#X obj 43 785 route 0 1;
#N canvas 735 416 450 300 mix 1;
#X obj 16 19 inlet~;
#X obj 91 19 inlet~;
#X obj 18 269 outlet~;
#X obj 17 189 *~;
#X obj 92 189 *~;
#X obj 261 99 *~ -1;
#X obj 261 124 +~ 1;
#X obj 260 74 line~;
#X obj 260 21 inlet;
#X msg 260 47 \$1 1;
#X connect 0 0 3 0;
#X connect 1 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 2 0;
#X connect 5 0 6 0;
#X connect 6 0 3 1;
#X connect 7 0 5 0;
#X connect 7 0 4 1;
#X connect 8 0 9 0;
#X connect 9 0 7 0;
#X restore 42 846 pd mix;
#X obj 43 550 t f f;
#X obj 163 732 t f f;
#X obj 126 672 * 1.01;
#X connect 0 0 47 0;
#X connect 0 1 1 0;
#X connect 1 0 4 0;
#X connect 1 1 3 1;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X connect 4 1 42 0;
#X connect 6 0 7 0;
#X connect 7 0 15 0;
#X connect 8 0 64 0;
#X connect 9 0 10 0;
#X connect 10 0 6 1;
#X connect 10 1 11 0;
#X connect 10 1 66 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 33 0;
#X connect 14 0 8 0;
#X connect 15 0 61 0;
#X connect 16 0 18 0;
#X connect 17 0 16 1;
#X connect 18 0 19 0;
#X connect 18 1 20 0;
#X connect 19 0 14 0;
#X connect 20 1 14 0;
#X connect 22 0 23 0;
#X connect 23 0 17 0;
#X connect 24 0 9 0;
#X connect 24 1 9 1;
#X connect 25 0 37 0;
#X connect 27 0 38 0;
#X connect 29 0 49 0;
#X connect 31 0 63 0;
#X connect 32 0 16 0;
#X connect 35 0 24 0;
#X connect 36 0 8 1;
#X connect 39 0 25 0;
#X connect 40 0 9 0;
#X connect 41 0 17 0;
#X connect 42 0 44 0;
#X connect 43 0 53 1;
#X connect 44 0 45 0;
#X connect 45 0 2 1;
#X connect 46 0 57 0;
#X connect 47 0 48 0;
#X connect 48 0 27 0;
#X connect 49 0 0 0;
#X connect 50 0 58 0;
#X connect 51 0 54 0;
#X connect 51 1 55 0;
#X connect 52 0 51 1;
#X connect 53 0 51 0;
#X connect 56 0 8 0;
#X connect 57 0 50 0;
#X connect 59 0 65 0;
#X connect 60 0 63 1;
#X connect 61 0 62 0;
#X connect 62 0 31 0;
#X connect 62 1 60 0;
#X connect 63 0 53 0;
#X connect 64 0 6 0;
#X connect 64 1 59 0;
#X connect 65 0 61 1;
#X connect 65 1 63 2;
#X connect 66 0 15 1;