#N canvas 100 17 683 605 12;
#X floatatom 424 290 0 0 100 0 - - -;
#X obj 59 404 +~;
#X text 86 9 ORDER OF EXECUTION OF DELWRITE~ AND DELREAD~/VD~;
#X text 42 29 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 text 471 284 <-- delay in samples;
#X obj 94 490 *~;
#X obj 94 466 -~;
#N canvas 0 0 600 400 delay-writer 0;
#X obj 96 107 inlet~;
#X obj 96 180 outlet~;
#X obj 116 144 delwrite~ G05-d2 1000;
#X connect 0 0 1 0;
#X connect 0 0 2 0;
#X restore 283 403 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 89 237 +~;
#X obj 112 198 vd~ G05-d2;
#X connect 0 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 1 0;
#X connect 4 0 3 1;
#X restore 282 431 pd delay-reader;
#X obj 59 490 +~;
#X obj 424 313 / 44.1;
#X obj 59 534 output~;
#X obj 135 490 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
1;
#X text 159 490 <-- off to hear left-hand side \; on to hear right
hand side.;
#X text 393 575 updated for Pd version 0.37-1;
#X obj 424 337 pack 0 30;
#N canvas 0 0 450 300 pulse 0;
#X obj 64 197 outlet~;
#X obj 63 93 phasor~ 50;
#X obj 63 119 *~ 100;
#X obj 63 144 clip~ 0.75 1.25;
#X obj 64 170 cos~;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 0 0;
#X restore 60 302 pd pulse;
#X obj 81 354 delwrite~ G05-d1 1000;
#X obj 82 381 vd~ G05-d1;
#X obj 424 362 line~;
#X text 44 96 To get them to go off in the correct order \, 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 subpatches.;
#X text 43 175 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
\, but the patch at right can go all the way down to one sample.;
#X text 45 241 You can use the same strategy to avoid picking up unwanted
64-sample delays in send~/receive~ and throw~/catch~ pairs.;
#X connect 0 0 10 0;
#X connect 1 0 6 1;
#X connect 1 0 9 0;
#X connect 5 0 9 1;
#X connect 6 0 5 0;
#X connect 7 0 8 0;
#X connect 8 0 6 0;
#X connect 9 0 11 0;
#X connect 9 0 11 1;
#X connect 10 0 15 0;
#X connect 12 0 5 1;
#X connect 15 0 19 0;
#X connect 16 0 1 0;
#X connect 16 0 7 0;
#X connect 16 0 17 0;
#X connect 18 0 1 1;
#X connect 19 0 8 1;
#X connect 19 0 18 0;
