aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/3.audio.examples/J07.execution.order.pd
diff options
context:
space:
mode:
Diffstat (limited to 'pd/doc/3.audio.examples/J07.execution.order.pd')
-rw-r--r--pd/doc/3.audio.examples/J07.execution.order.pd127
1 files changed, 127 insertions, 0 deletions
diff --git a/pd/doc/3.audio.examples/J07.execution.order.pd b/pd/doc/3.audio.examples/J07.execution.order.pd
new file mode 100644
index 00000000..2bea8e92
--- /dev/null
+++ b/pd/doc/3.audio.examples/J07.execution.order.pd
@@ -0,0 +1,127 @@
+#N canvas 100 17 724 631 12;
+#X floatatom 448 290 0 0 0;
+#X obj 70 432 +~;
+#X obj 91 401 vd~ delay1;
+#X floatatom 108 559 0 0 0;
+#N canvas 159 26 495 266 output 0;
+#X obj 338 160 t b;
+#X obj 338 110 f;
+#X obj 338 60 inlet;
+#X text 344 29 mute;
+#X obj 338 185 f;
+#X msg 425 178 0;
+#X msg 338 85 bang;
+#X obj 338 135 moses 1;
+#X obj 397 110 moses 1;
+#X obj 83 148 dbtorms;
+#X obj 397 85 r master-lvl;
+#X obj 83 42 r master-lvl;
+#X obj 338 210 s master-lvl;
+#X obj 18 152 inlet~;
+#X obj 199 41 inlet;
+#X text 199 18 level;
+#X obj 197 104 s master-lvl;
+#X msg 96 65 set \$1;
+#X obj 96 89 outlet;
+#X msg 214 64 \; pd dsp 1;
+#X obj 83 194 line~;
+#X obj 22 212 *~;
+#X obj 22 241 dac~;
+#X obj 83 171 pack 0 50;
+#X text 16 129 audio;
+#X text 93 110 show level;
+#X obj 18 179 hip~ 5;
+#X connect 0 0 4 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 4 0 12 0;
+#X connect 5 0 12 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 5 0;
+#X connect 8 1 4 1;
+#X connect 9 0 23 0;
+#X connect 10 0 1 1;
+#X connect 10 0 8 0;
+#X connect 11 0 9 0;
+#X connect 11 0 17 0;
+#X connect 13 0 26 0;
+#X connect 14 0 16 0;
+#X connect 14 0 19 0;
+#X connect 17 0 18 0;
+#X connect 20 0 21 1;
+#X connect 21 0 22 0;
+#X connect 21 0 22 1;
+#X connect 23 0 20 0;
+#X connect 26 0 21 0;
+#X restore 70 585 pd output;
+#X msg 145 559 MUTE;
+#X text 184 558 <-- output amplitude;
+#X text 86 9 ORDER OF EXECUTION OF DELWRITE~ AND DELREAD~/VD~;
+#X text 43 35 If you're writing to and reading from a delay line \,
+you have to get the write sorted before the read or else you'll never
+get less than a block's delay. This patch compares a "wrong" flanger
+with a "right" one:;
+#X obj 69 299 noise~;
+#X obj 91 375 line~;
+#X obj 448 344 pack 0 100;
+#X text 518 292 <-- delay in samples;
+#X obj 92 505 *~;
+#X obj 92 481 -~;
+#X floatatom 175 505 1 0 0;
+#X obj 293 297 noise~;
+#X obj 423 398 line~;
+#N canvas 0 0 600 400 delay-writer 0;
+#X obj 96 107 inlet~;
+#X obj 96 180 outlet~;
+#X obj 116 144 delwrite~ delay2 1000;
+#X connect 0 0 1 0;
+#X connect 0 0 2 0;
+#X restore 293 325 pd delay-writer;
+#N canvas 0 0 280 330 delay-reader 0;
+#X obj 96 107 inlet~;
+#X obj 89 267 outlet~;
+#X obj 112 163 inlet~;
+#X obj 112 198 vd~ delay2;
+#X obj 89 237 +~;
+#X connect 0 0 4 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 1;
+#X connect 4 0 1 0;
+#X restore 293 427 pd delay-reader;
+#X obj 70 533 +~;
+#X text 194 505 <-- 0 to hear left-hand side \, 1 to hear right hand
+side.;
+#X text 46 105 All it took was to put the delread~ and vd~ objects
+in subpatches. The audio connections between the subpatches force the
+"reader" to be sorted after the "writer". DSP sorting in Pd follows
+the hierarchy of windows.;
+#X obj 447 318 / 44.1;
+#X obj 82 329 delwrite~ delay1 1000;
+#X text 450 596 updated for Pd version 0.34;
+#X text 43 173 To hear the difference scroll the delay time between
+0 and 100 samples. The patch at left doesn't let you get below 64 samples.
+;
+#X text 43 228 You can use the same strategy to avoid picking up 64-sample
+delays in send~/receive~ and throw~/catch~ pairs.;
+#X connect 0 0 23 0;
+#X connect 1 0 14 1;
+#X connect 1 0 20 0;
+#X connect 2 0 1 1;
+#X connect 3 0 4 1;
+#X connect 4 0 3 0;
+#X connect 5 0 4 2;
+#X connect 9 0 1 0;
+#X connect 9 0 24 0;
+#X connect 10 0 2 0;
+#X connect 11 0 10 0;
+#X connect 11 0 17 0;
+#X connect 13 0 20 1;
+#X connect 14 0 13 0;
+#X connect 15 0 13 1;
+#X connect 16 0 18 0;
+#X connect 17 0 19 1;
+#X connect 18 0 19 0;
+#X connect 19 0 14 0;
+#X connect 20 0 4 0;
+#X connect 23 0 11 0;