-
Notifications
You must be signed in to change notification settings - Fork 1
/
__playback~.pd
208 lines (208 loc) · 5.14 KB
/
__playback~.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
#N canvas 2 25 626 489 12;
#N canvas 0 25 450 300 loadsample 0;
#X obj 15 244 soundfiler;
#X obj 15 21 loadbang;
#X obj 15 69 symbol \$1;
#X msg 15 117 symbol ./Samples/\$1.wav;
#X obj 15 45 del 5;
#X obj 15 94 t s b, f 8;
#X obj 68 147 f \$0;
#X obj 15 268 outlet;
#X text 63 270 sample count;
#X obj 15 195 pack s f;
#X msg 15 219 read -resize \$1 clip-\$2;
#X connect 0 0 7 0;
#X connect 1 0 4 0;
#X connect 2 0 5 0;
#X connect 3 0 9 0;
#X connect 4 0 2 0;
#X connect 5 0 3 0;
#X connect 5 1 6 0;
#X connect 6 0 9 1;
#X connect 9 0 10 0;
#X connect 10 0 0 0;
#X restore 119 10 pd loadsample;
#X obj 235 370 sig~;
#X obj 235 279 inlet;
#X obj 235 323 f 1;
#X floatatom 235 347 5 0 0 0 - - -;
#X obj 170 279 loadbang;
#X text 232 244 /// cold: playback rate;
#X text 232 257 /// defaults to 1;
#X obj 235 432 outlet;
#X obj 21 431 outlet~;
#N canvas 184 169 924 579 playatrate~ 0;
#X obj 161 201 phasor~, f 30;
#X obj 161 147 sig~;
#X obj 161 311 +~ 1;
#X obj 161 171 *~, f 25;
#X obj 162 60 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 161 410 *~, f 14;
#X msg 256 360 1;
#X obj 256 383 sig~;
#X obj 465 456 outlet;
#X obj 161 455 outlet~;
#X text 461 476 /// bangs when playback complete (accurate within 5ms)
;
#X obj 465 280 spigot, f 35;
#X msg 644 328 0;
#X obj 465 328 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 162 80 t b b b b, f 89;
#X msg 707 254 1;
#X msg 584 328 0;
#X obj 207 220 hsl 125 9 0 1 0 0 empty empty empty -2 -8 0 10 -45076
-262144 -1 7651 1;
#X obj 26 151 loadbang;
#X obj 26 198 snapshot~;
#X msg 368 123 0;
#X obj 26 174 metro 20;
#X obj 162 36 inlet;
#N canvas 0 25 646 476 bangwhenwrap~ 0;
#X obj 38 70 snapshot~;
#X obj 92 16 loadbang;
#X obj 92 40 metro 5;
#X obj 47 326 -, f 32;
#X obj 47 350 abs;
#X obj 47 398 sel 1;
#X obj 47 421 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 175 235 f, f 4;
#X obj 343 232 f;
#X obj 38 116 isfirst, f 44;
#X obj 343 255 t f f;
#X obj 38 38 inlet~;
#X text 2 161 first: subtract the float from itself.;
#X text 204 133 not first: subtract the float from the previous value
\, and then overwrite the previous value.;
#X obj 38 93 t b f f, f 47;
#X obj 175 259 t f f;
#X text 107 71 first \, cache the snapshot value in two floats.;
#X obj 47 441 outlet;
#X obj 473 37 inlet;
#X text 469 19 /// bang to reset state;
#X obj 473 61 t b f f;
#X msg 496 85 0;
#X msg 519 109 0;
#X obj 47 374 > 0.9;
#X text 92 371 if we traveled over 0.9 \, assume we wrapped around
the phasor and output a bang.;
#X connect 0 0 14 0;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 4 0 23 0;
#X connect 5 0 6 0;
#X connect 6 0 17 0;
#X connect 6 0 20 0;
#X connect 7 0 15 0;
#X connect 8 0 10 0;
#X connect 9 0 7 0;
#X connect 9 1 8 0;
#X connect 10 0 3 1;
#X connect 10 1 3 0;
#X connect 11 0 0 0;
#X connect 14 0 9 0;
#X connect 14 1 7 1;
#X connect 14 2 8 1;
#X connect 15 0 3 0;
#X connect 15 1 3 1;
#X connect 18 0 20 0;
#X connect 20 0 9 1;
#X connect 20 1 21 0;
#X connect 20 2 22 0;
#X connect 21 0 7 1;
#X connect 22 0 8 1;
#X connect 23 0 5 0;
#X restore 465 223 pd bangwhenwrap~;
#X obj 465 247 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 465 304 t b b b b, f 26;
#X msg 524 328 0;
#X text 4 131 for the percentgraph;
#X text 156 17 /// bang to play clip;
#X text 331 17 /// playback rate;
#X obj 333 36 inlet~;
#X obj 161 123 r \$0-hz;
#X obj 127 273 f \$2;
#X obj 76 237 loadbang;
#X obj 161 287 *~;
#X obj 60 313 f;
#X obj 60 337 sig~;
#X obj 4 273 r \$0-sample-count;
#X obj 161 336 tabread4~ clip-\$0;
#X obj 256 268 t b, f 20;
#X text 157 477 /// out;
#X connect 0 0 19 0;
#X connect 0 0 23 0;
#X connect 0 0 34 0;
#X connect 1 0 3 0;
#X connect 2 0 38 0;
#X connect 3 0 0 0;
#X connect 4 0 14 0;
#X connect 5 0 9 0;
#X connect 6 0 7 0;
#X connect 7 0 5 1;
#X connect 11 0 25 0;
#X connect 12 0 11 1;
#X connect 13 0 8 0;
#X connect 14 0 39 0;
#X connect 14 1 20 0;
#X connect 14 2 23 1;
#X connect 14 3 15 0;
#X connect 15 0 11 1;
#X connect 18 0 21 0;
#X connect 19 0 17 0;
#X connect 20 0 0 1;
#X connect 21 0 19 0;
#X connect 22 0 4 0;
#X connect 23 0 24 0;
#X connect 24 0 11 0;
#X connect 25 0 13 0;
#X connect 25 1 26 0;
#X connect 25 2 16 0;
#X connect 25 3 12 0;
#X connect 26 0 7 0;
#X connect 30 0 3 1;
#X connect 31 0 1 0;
#X connect 32 0 35 0;
#X connect 33 0 32 0;
#X connect 34 0 2 0;
#X connect 35 0 36 0;
#X connect 36 0 34 1;
#X connect 37 0 35 0;
#X connect 38 0 5 0;
#X connect 39 0 6 0;
#X restore 21 394 pd playatrate~;
#X f 31;
#X obj 21 276 inlet;
#X text 17 253 /// hot: bang to play clip.;
#X obj 347 106 swap, f 6;
#X obj 347 130 /, f 6;
#X obj 386 82 samplerate~;
#X obj 347 155 s \$0-hz;
#X text 231 452 /// bangs when playback complete (accurate within 5ms)
;
#X obj 119 58 s \$0-sample-count;
#X obj 119 34 t f f, f 33;
#X obj 347 58 t f b, f 6;
#X obj 5 10 table clip-\$0;
#X text 17 453 /// out;
#X connect 0 0 19 0;
#X connect 1 0 10 1;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 1 0;
#X connect 5 0 3 0;
#X connect 10 0 9 0;
#X connect 10 1 8 0;
#X connect 11 0 10 0;
#X connect 13 0 14 0;
#X connect 13 1 14 1;
#X connect 14 0 16 0;
#X connect 15 0 13 1;
#X connect 19 0 18 0;
#X connect 19 1 20 0;
#X connect 20 0 13 0;
#X connect 20 1 15 0;