Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • jwilkes/purr-data
  • aggraef/purr-data
  • samthursfield/purr-data
  • prakhar/purr-data
  • yadu05/purr-data
  • NegiAkash890/purr-data
  • prateekpardeshi/purr-data
  • Shruti3004/purr-data
  • hidimpu/purr-data
  • Atseosi/purr-data
  • piyushjasaiwal/purr-data
  • deveshprasad/purr-data
  • skm_7/purr-data
  • sankt/purr-data
  • ashim_tom/purr-data
  • dineshsoni02/purr-data
  • chaitanya1-coder/purr-data
  • Nitish0007/purr-data
  • nitin/purr-data
  • shuvam09/purr-data
  • gabrielabittencourt/purr-data
  • sivasai/purr-data
  • flachyjoe/purr-data
  • ishankaler/purr-data
  • prateek/purr-data
  • RukshanJS/purr-data
  • rajatshrm648/purr-data
  • Srashti/purr-data
  • Paarth/purr-data
  • AniruddhaGawali/purr-data
  • brittneyjuliet/purr-data
  • prakharagarwal1/purr-data
  • Shreyanshpaliwalcmsmn/purr-data
  • k_amrut/purr-data
  • AyushAnand/purr-data
  • Va16hav07/purr-data
36 results
Show changes
Showing
with 0 additions and 2977 deletions
#N canvas 429 36 555 619 10;
#X obj -1 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj -1 0 cnv 15 552 40 empty \$0-pddp.cnv.header biquad~ 3 12 0
18 -204280 -1 0;
#X obj -1 321 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 659 352 314 272 META 0;
#X text 12 105 LIBRARY internal;
#X text 12 145 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 25 LICENSE SIBSD;
#X text 12 125 AUTHOR Miller Puckette;
#X text 12 185 HELP_PATCH_AUTHORS Updated for Pd version-0.30. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 5 KEYWORDS signal filters;
#X text 12 45 DESCRIPTION 2-pole-2-zero-filter;
#X text 12 85 OUTLET_0 signal;
#X text 12 65 INLET_0 list signal set clear;
#X text 12 165 RELEASE_DATE 2009;
#X restore 500 597 pd META;
#X obj -1 416 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj -1 453 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj -1 565 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8
12 0 13 -228856 -1 0;
#N canvas 211 524 428 102 Related_objects 0;
#X obj 22 42 hip~;
#X obj 62 41 lop~;
#X obj 104 41 bp~;
#X obj 139 41 vcf~;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [biquad~] Related Objects;
#X restore 101 597 pd Related_objects;
#X obj 78 330 cnv 17 3 75 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 489 12 biquad~;
#X obj 155 216 env~;
#X floatatom 155 243 0 0 0 0 - - -;
#X floatatom 66 98 0 0 0 0 - - -;
#X obj 66 214 env~;
#X floatatom 66 242 0 0 0 0 - - -;
#X obj 155 183 biquad~ 1.41407 -0.9998 1 -1.41421 1;
#X msg 155 99 1.41407 -0.9998 1 -1.41421 1;
#X text 220 237 (= SR/8 = 5512.5 Hz @44.1k);
#X text 167 77 list sets filter parameters;
#X msg 190 129 set 0 0;
#X msg 191 154 clear;
#X obj 66 138 osc~ 5512.5;
#X text 260 131 set internal state;
#X text 258 153 ... or just clear it;
#X text 98 350 list;
#X text 98 330 signal;
#X text 98 370 set;
#X text 98 390 clear;
#X obj 78 425 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 426 signal;
#X text 169 503 y(n) = ff1 * w(n) + ff2 * w(n-1) + ff3 * w(n-2);
#X text 169 519 w(n) = x(n) + fb1 * w(n-1) + fb2 * w(n-2);
#X text 169 541 Syntax: biquad~ fb1 fb2 ff1 ff2 ff3;
#X text 59 267 Compare the value of the straight signal on the left
with the value of the filtered signal on the right.;
#X text 11 23 2-pole-2-zero-filter;
#X text 169 472 - [biquad~] takes five floats as arguments which are
used to calculate the following difference equation:;
#X text 168 370 - set internal state.;
#X text 168 390 - clear the internal state.;
#X text 85 472 5 floats;
#X text 214 218 this [biquad~] is a notch filter for fn = Pi/4;
#X text 168 350 - a list of 5 floats is used to set filter parameters.
;
#X text 168 330 - the incoming signal;
#X text 168 426 - the outgoing signal;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 474 51 pddp/dsp;
#X connect 10 0 11 0;
#X connect 12 0 21 0;
#X connect 13 0 14 0;
#X connect 15 0 10 0;
#X connect 16 0 15 0;
#X connect 19 0 15 0;
#X connect 20 0 15 0;
#X connect 21 0 13 0;
#X connect 21 0 15 0;
#N canvas 427 32 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header block~ 3 12 0 18
-204280 -1 0;
#X obj 0 271 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 479 284 494 344 META 0;
#X text 12 105 LIBRARY internal;
#X text 12 145 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 45 LICENSE SIBSD;
#X text 12 125 AUTHOR Miller Puckette;
#X text 12 185 HELP_PATCH_AUTHORS Updated for Pd version 0.4. Revised
by Jonathan Wilkes to conform to the PDDP template for Pd version 0.42.
;
#X text 12 65 DESCRIPTION block \, overlap \, and resampling control
for DSP;
#X text 12 85 INLET_0 set;
#X text 12 25 KEYWORDS signal block_oriented canvas_op;
#X text 12 165 RELEASE_DATE 2009;
#X text 12 5 ALIAS switch~;
#X restore 500 597 pd META;
#X obj 0 336 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 365 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 435 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#N canvas 212 523 428 105 Related_objects 0;
#X obj 83 42 fft~;
#X obj 23 42 switch~;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 8 1 [block~] Related Objects;
#X restore 102 597 pd Related_objects;
#X obj 78 280 cnv 17 3 40 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 280 set;
#X text 98 341 (none);
#X floatatom 78 247 0 0 0 0 - - -;
#X text 155 248 <- measured time (msec) between blocks;
#X text 161 49 block size 4096 \, no overlap \, no resampling;
#X text 162 71 bigger block size;
#X text 160 92 double overlap;
#X text 169 116 downsampled by factor of 2;
#X text 160 139 upsampled by factor of 2;
#X msg 78 50 set 4096 1 1;
#X msg 78 72 set 8192 1 1;
#X msg 78 94 set 4096 2 1;
#X msg 78 116 set 4096 1 0.5;
#X msg 78 138 set 4096 1 2;
#N canvas 44 414 428 153 a-simple-block-example 0;
#X obj 22 42 block~ 1024 4;
#X text 19 64 This object specifies that DSP in this subwindow is to
be computed at a block size of 1024 \, and an overlap of 4 \, i.e.
\, every 256 samples. You may not (yet) specify a block size smaller
than your superpatch. This is useful for writing FFT based patches
(see the "fft examples" tutorial series.);
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [block~] A Simple Example;
#X restore 282 556 pd a-simple-block-example;
#N canvas 56 284 428 261 block-interactions 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [block~]/[switch~] Interactions with Other PD Objects;
#X text 20 36 [dac~] and [adc~] don't work correctly if reblocked \,
nor if a parent window is reblocked \, even if the window containing
the [dac~] or [adc~] is reblocked back to the default block size and
sample rate.;
#X text 19 103 If using [send~] or [delwrite~] from a switched-off
patch \, the output of corresponding [receive~] and [delread~] objects
in other \, running patches will cycle old input (and sound like garbage).
[throw~] may be switched with impunity \, but not [catch~].;
#X text 21 184 Patches using [send~]/[receive~] or [throw~]/[catch~]
to intercommunicate must have the same blocking -- and if their parents
are blocked bigger than they are \, there might be weirdness.;
#X restore 102 555 pd block-interactions;
#X text 257 224 <- toggle display;
#X text 11 23 block \, overlap \, and resampling control for DSP;
#N canvas 22 87 428 396 visualize 0;
#X obj 49 219 f;
#X obj 81 219 + 1;
#X obj 117 170 i;
#X obj 117 243 s \$0-bng-rcv;
#X msg 117 218 flashtime 50 \$1;
#X obj 117 195 max 50;
#X obj 49 139 t b a;
#X obj 258 318 outlet;
#X obj 258 181 t a;
#X obj 201 315 tgl 15 0 \$0-tgl \$0-nothing empty 17 7 0 10 -204786
-1 -1 0 1;
#X obj 49 187 spigot;
#X obj 110 124 r \$0-tgl;
#X obj 49 319 bng 10 92 50 0 \$0-nowhere \$0-bng-rcv empty 17 7 0 10
-262144 -1 -1;
#X obj 64 319 bng 10 92 50 0 \$0-nowhere \$0-bng-rcv empty 17 7 0 10
-262144 -1 -1;
#X obj 79 319 bng 10 92 50 0 \$0-nowhere \$0-bng-rcv empty 17 7 0 10
-262144 -1 -1;
#X obj 94 319 bng 10 92 50 0 \$0-nowhere \$0-bng-rcv empty 17 7 0 10
-262144 -1 -1;
#X obj 109 319 bng 10 92 50 0 \$0-nowhere \$0-bng-rcv empty 17 7 0
10 -262144 -1 -1;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [block~] Bang every block;
#X text 10 347 This subpatch just triggers a series of bng objects
to display how different "set" messages change the block size.;
#X obj 260 114 inlet;
#X obj 260 138 block~ 4096 1;
#X obj 49 63 bang~;
#X obj 49 89 t b b;
#X obj 49 115 timer;
#X obj 49 273 sel 0 1 2 3 4 5 6 7 8 9;
#X obj 124 319 bng 10 92 50 0 \$0-nowhere \$0-bng-rcv empty 17 7 0
10 -262144 -1 -1;
#X obj 139 319 bng 10 92 50 0 \$0-nowhere \$0-bng-rcv empty 17 7 0
10 -262144 -1 -1;
#X obj 154 319 bng 10 92 50 0 \$0-nowhere \$0-bng-rcv empty 17 7 0
10 -262144 -1 -1;
#X obj 169 319 bng 10 92 50 0 \$0-nowhere \$0-bng-rcv empty 17 7 0
10 -262144 -1 -1;
#X obj 184 319 bng 10 92 50 0 \$0-nowhere \$0-bng-rcv empty 17 7 0
10 -262144 -1 -1;
#X obj 49 246 mod 10;
#X connect 0 0 1 0;
#X connect 0 0 31 0;
#X connect 1 0 0 1;
#X connect 2 0 5 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 6 0 10 0;
#X connect 6 1 2 0;
#X connect 6 1 8 0;
#X connect 8 0 7 0;
#X connect 10 0 0 0;
#X connect 11 0 10 1;
#X connect 20 0 21 0;
#X connect 22 0 23 0;
#X connect 23 0 24 0;
#X connect 23 1 24 1;
#X connect 24 0 6 0;
#X connect 25 0 12 0;
#X connect 25 1 13 0;
#X connect 25 2 14 0;
#X connect 25 3 15 0;
#X connect 25 4 16 0;
#X connect 25 5 26 0;
#X connect 25 6 27 0;
#X connect 25 7 28 0;
#X connect 25 8 29 0;
#X connect 25 9 30 0;
#X connect 31 0 25 0;
#X coords 0 -1 1 1 175 35 1 45 300;
#X restore 78 209 pd visualize;
#X obj 422 12 block~;
#X text 90 161 IMPORTANT NOTE: Since you may have at most one block~/switch~
object in any window \, [block~] has been put in a subpatch (below)
for this example:;
#X text 170 384 - blocksize.;
#X text 170 398 - (optional) overlap.;
#X text 170 411 - (optional) resampling factor (relative to super-patch).
;
#X text 80 398 2) float;
#X text 80 411 3) float;
#X text 168 280 - [block] has a single inlet that accepts a "set" message--
"set" followed by one to three floats-- that determines the block size
\, overlap \, and resampling for the window (see example above).;
#X text 80 384 1) float;
#X text 99 439 Pd's default block size is 64 samples. The [inlet~]
and [outlet~] objects reblock signals to adjust for differences between
parent and subpatch \, but only power-of-two adjustments are possible.
So for "normal" audio computations \, all blocks should also be power-of-two
in size. HOWEVER \, if you have no [inlet~] or [outlet~] you may specify
any other block size. This is intended for later use in video processing.
;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 455 51 pddp/dsp;
#X obj 102 576 pddp/pddplink ../3.audio.examples/J07.oversampling.pd
-text doc/3.audio.examples/J07.oversampling.pd;
#X text 469 12 or;
#X obj 494 12 switch~;
#X connect 18 0 27 0;
#X connect 19 0 27 0;
#X connect 20 0 27 0;
#X connect 21 0 27 0;
#X connect 22 0 27 0;
#X connect 27 0 11 0;
#N canvas 433 35 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header bng 3 12 0 18 -204280
-1 0;
#X obj 0 300 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 504 285 494 344 META 0;
#X text 12 115 LIBRARY internal;
#X text 12 25 LICENSE SIBSD;
#X text 12 135 AUTHOR Thomas Musil;
#X text 12 155 WEBSITE;
#X text 12 195 HELP_PATCH_AUTHORS Jonathan Wilkes revised the patch
to conform to the PDDP template for Pd version 0.42.;
#X text 12 45 DESCRIPTION gui-bang;
#X text 12 65 INLET_0 anything size flashtime init send receive label
label_pos label_font color pos delta;
#X text 12 95 OUTLET_0 bang;
#X text 12 5 KEYWORDS control nonlocal GUI bang_op;
#X text 12 175 RELEASE_DATE 2009;
#X restore 500 597 pd META;
#X obj 0 408 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 445 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 547 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X obj 78 309 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#N canvas 220 497 428 129 Related_objects 0;
#X obj 22 43 bang;
#X obj 69 43 trigger;
#X obj 145 43 until;
#X obj 201 43 bang~;
#X msg 257 43;
#X obj 20 93 x_all_guis bng tgl vsl hsl hradio vradio vu cnv nbx;
#X text 18 69 All iem-gui objects:;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 2 [bng] Related Objects;
#X restore 101 597 pd Related_objects;
#X text 98 417 bang;
#X obj 78 417 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 308 anything;
#X obj 526 13 bng 15 250 50 0 foo5_rcv empty empty 17 7 0 10 -262144
-1 -1;
#X obj 144 227 print;
#N canvas 598 330 187 198 once 0;
#X msg 38 77 1;
#X obj 38 51 t b b;
#X obj 68 133 sel 0;
#X obj 68 107 f 0;
#X obj 38 24 inlet;
#X obj 68 163 outlet;
#X connect 0 0 3 1;
#X connect 1 0 0 0;
#X connect 1 1 3 0;
#X connect 2 0 5 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X restore 144 203 pd once;
#X obj 116 228 bng 15 250 50 0 empty empty empty 8 -8 0 10 -262144
-1 -1;
#X obj 75 110 bng 15 250 50 0 empty empty empty 8 -8 0 10 -262144 -1
-1;
#X obj 116 148 bng 50 950 50 1 foo5_snd foo5_rcv big-bang 57 25 0 12
-262131 -260818 -143491;
#X msg 116 49 33;
#X msg 157 49 -3.14;
#X msg 180 97 11 22 33.33;
#X msg 170 73 open xxx;
#X msg 187 121 funny;
#X obj 292 72 s foo5_rcv;
#X obj 292 102 r foo5_snd;
#X obj 292 53 bng 15 250 50 0 empty empty empty 8 -8 0 10 -262144 -1
-1;
#X obj 292 126 bng 15 250 50 0 empty empty empty 8 -8 0 10 -262144
-1 -1;
#X msg 75 49 0;
#X text 321 142 and receive names. Right-;
#X text 321 157 click and choose;
#N canvas 85 201 428 309 bng_creation_arguments 0;
#X text 12 28 "bng" can be called with 14 creation arguments. These
are not "optional" - all parameters must be filled or the gui-bng will
not instantiate correctly.;
#X text 12 132 For example \, click the msg-box to dynamically create
a bng:;
#X text 12 80 bng creation arguments: Size Hold Interrupt Init sendName
receiveName Label labelXOff labelYOff Font# fontSize bgColor foregroundColor
lblColor;
#X obj 13 196 s pd-bng_creation_arguments;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 2 [bng] Creation Arguments and Dynamic Patching;
#X msg 13 154 obj 180 240 bng 30 500 50 0 send receive Atlas -2 40
0 12 9 2 18;
#X connect 6 0 3 0;
#X restore 100 519 pd bng_creation_arguments;
#X text 320 173 "Properties" to set them \,;
#X text 320 126 [bng] has settable send;
#X text 110 250 Use the UP- \, DOWN- \, LEFT- or RIGHT-key to move
a selected gui-object. Right-click and choose "Properties" to modify
its appearance.;
#X text 321 187 or change them with messages;
#X text 321 201 (see the subpatch below);
#N canvas 48 5 428 610 Changing_GUI_Properties 0;
#X text 239 33 no init;
#X text 270 159 label position;
#X text 167 451 delta;
#X text 11 294 font properties;
#X text 151 159 label;
#X text 15 451 position;
#X msg 13 103 size \$1;
#X msg 104 104 flashtime \$1 \$2;
#X msg 239 54 init 0;
#X msg 249 104 init 1;
#X msg 321 54 send foo5a_snd;
#X msg 151 180 label new-label;
#X msg 272 231 label_pos \$1 \$2;
#X msg 13 366 label_font \$1 \$2;
#X msg 16 558 pos \$1 \$2;
#X msg 168 558 delta \$1 \$2;
#X text 171 294 preset-colors;
#X text 297 294 RGB-colors;
#X msg 171 401 color \$1 \$2 \$3;
#X msg 329 104 send bng-snd;
#X obj 13 127 s bng_rcv;
#X obj 104 128 s bng_rcv;
#X obj 239 129 s bng_rcv;
#X obj 321 129 s bng_rcv;
#X obj 13 255 s bng_rcv;
#X obj 23 230 s bng1a_rcv;
#X obj 151 256 s bng_rcv;
#X obj 272 256 s bng_rcv;
#X obj 13 391 s bng_rcv;
#X obj 171 426 s bng_rcv;
#X obj 168 583 s bng_rcv;
#X obj 16 583 s bng_rcv;
#X msg 23 206 receive bng_rcv;
#X msg 13 180 receive bng1a_rcv;
#X msg 163 231 label myBang;
#N canvas 375 166 160 287 init 0;
#X obj 16 11 loadbang;
#X obj 16 42 f \$0;
#X msg 16 72 \; \$1-interrupt 50 \; \$1-hold 250 \; \$1-xpos 340 \;
\$1-ypos 500 \; \$1-xlabel 17 \; \$1-ylabel 7 \; \$1-dim 15 \; \$1-font
0 \; \$1-font-size 10 \; \$1-bg 0 \; \$1-front 12 \; \$1-label 12;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 320 583 pd init;
#X text 320 33 change send name;
#X text 13 159 change receive name;
#N canvas 366 206 174 259 flash-time 0;
#X obj 68 180 pack;
#X obj 103 149 t b a;
#X obj 68 205 outlet;
#X obj 103 104 nbx 3 14 -1e+37 1e+37 0 0 \$0-dummy \$0-interrupt empty
0 -8 0 12 -262144 -1 -1 50 256 0;
#X obj 103 124 nbx 3 14 -1e+37 1e+37 0 0 \$0-dummy \$0-hold empty 0
-8 0 12 -262144 -1 -1 250 256 0;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 1 1 0 1;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X coords 0 -1 1 1 48 42 2 100 100;
#X restore 104 54 pd flash-time;
#X text 101 33 flash-time;
#X text 12 32 dimensions;
#N canvas 364 205 306 317 flash-time 0;
#X obj 69 196 t b a;
#X obj 33 262 outlet;
#X obj 33 237 pack 0 0 0;
#X obj 120 197 t b a;
#X obj 103 104 nbx 3 14 0 29 0 0 \$0-dummy \$0-bg empty 0 -8 0 12 -262144
-1 -1 0 256 0;
#X obj 103 124 nbx 3 14 0 29 0 0 \$0-dummy \$0-front empty 0 -8 0 12
-262144 -1 -1 12 256 0;
#X obj 103 144 nbx 3 14 0 29 0 0 \$0-dummy \$0-label empty 0 -8 0 12
-262144 -1 -1 12 256 0;
#X connect 0 0 2 0;
#X connect 0 1 2 1;
#X connect 2 0 1 0;
#X connect 3 0 2 0;
#X connect 3 1 2 2;
#X connect 4 0 2 0;
#X connect 5 0 0 0;
#X connect 6 0 3 0;
#X coords 0 -1 1 1 48 62 2 100 100;
#X restore 171 316 pd flash-time;
#N canvas 0 0 306 317 flash-time 0;
#X obj 96 521 outlet;
#X obj 162 230 t b f;
#X obj 96 268 +;
#X obj 96 293 t b f;
#X obj 96 324 +;
#X obj 19 208 * -65536;
#X obj 96 208 * -256;
#X obj 162 208 * -1;
#X obj 96 355 - 1;
#X obj 96 385 list prepend 0;
#X obj 96 410 route 0 1 2;
#X obj 96 497 pack 0 0 0;
#X obj 115 456 t b a;
#X obj 168 455 t b a;
#X obj 104 124 vradio 15 1 0 3 empty empty empty 0 -8 0 10 -262144
-1 -1 0;
#X text 120 120 1.bg;
#X text 120 137 2.front;
#X text 120 153 3.label;
#X obj 103 105 nbx 3 14 0 255 0 0 \$0-dummy \$0-r empty 0 -8 0 10 -262144
-258113 -1 0 256 0;
#X obj 133 105 nbx 3 14 0 255 0 0 \$0-dummy \$0-g empty 0 -8 0 10 -262144
-13381 -1 0 256 0;
#X obj 163 105 nbx 3 14 0 255 0 0 \$0-dummy \$0-b empty 0 -8 0 10 -262144
-4160 -1 0 256 0;
#X connect 1 0 2 0;
#X connect 1 1 2 1;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 4 1;
#X connect 4 0 8 0;
#X connect 5 0 4 0;
#X connect 6 0 2 0;
#X connect 7 0 1 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 10 1 12 0;
#X connect 10 2 13 0;
#X connect 11 0 0 0;
#X connect 12 0 11 0;
#X connect 12 1 11 1;
#X connect 13 0 11 0;
#X connect 13 1 11 2;
#X connect 14 0 9 1;
#X connect 18 0 5 0;
#X connect 19 0 6 0;
#X connect 20 0 7 0;
#X coords 0 -1 1 1 102 74 2 100 100;
#X restore 298 316 pd flash-time;
#X text 248 72 init on;
#X text 248 85 loadbang;
#X obj 168 534 list;
#X obj 168 473 bng 20 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 310 466 cnv 15 102 102 empty empty empty 20 12 0 14 -1 -66577
0;
#X obj 311 467 cnv 15 100 100 empty empty empty 20 12 0 14 -261682
-66577 0;
#X obj 340 500 bng 15 250 50 1 bng-snd bng_rcv myBang 17 7 0 10 -262144
-33289 -33289;
#X text 62 318 1.font(0-2);
#X text 62 339 2.height;
#X text 220 318 1.bg;
#X text 220 338 2.front;
#X text 220 359 3.label;
#X text 64 472 1.x-position;
#X text 64 494 2.y-position;
#X text 247 472 1.x-delta;
#X text 247 494 2.y-delta;
#X obj 13 53 nbx 3 14 8 200 0 0 empty \$0-dim empty 0 -8 0 12 -262144
-1 -1 15 256 0;
#X text 58 51 size;
#N canvas 366 206 174 259 flash-time 0;
#X obj 68 180 pack;
#X obj 103 149 t b a;
#X obj 68 205 outlet;
#X obj 103 104 nbx 3 14 -1e+37 1e+37 0 0 \$0-dummy \$0-xlabel empty
0 -8 0 12 -262144 -1 -1 17 256 0;
#X obj 103 124 nbx 3 14 -1e+37 1e+37 0 0 \$0-dummy \$0-ylabel empty
0 -8 0 12 -262144 -1 -1 7 256 0;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 1 1 0 1;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X coords 0 -1 1 1 48 42 2 100 100;
#X restore 272 181 pd flash-time;
#N canvas 366 206 174 259 flash-time 0;
#X obj 68 180 pack;
#X obj 103 149 t b a;
#X obj 68 205 outlet;
#X obj 103 104 nbx 3 14 0 2 0 0 \$0-dummy \$0-font empty 0 -8 0 12
-262144 -1 -1 0 256 0;
#X obj 103 124 nbx 3 14 -1e+37 1e+37 0 0 \$0-dummy \$0-font-size empty
0 -8 0 12 -262144 -1 -1 10 256 0;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 1 1 0 1;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X coords 0 -1 1 1 48 42 2 100 100;
#X restore 13 316 pd flash-time;
#N canvas 366 206 174 259 flash-time 0;
#X obj 68 180 pack;
#X obj 103 149 t b a;
#X obj 68 205 outlet;
#X obj 103 104 nbx 3 14 -1e+37 1e+37 0 0 \$0-dummy \$0-xpos empty 0
-8 0 12 -262144 -1 -1 340 256 0;
#X obj 103 124 nbx 3 14 -1e+37 1e+37 0 0 \$0-dummy \$0-ypos empty 0
-8 0 12 -262144 -1 -1 500 256 0;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 1 1 0 1;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X coords 0 -1 1 1 48 42 2 100 100;
#X restore 16 473 pd flash-time;
#N canvas 366 206 174 259 flash-time 0;
#X obj 68 180 pack;
#X obj 103 149 t b a;
#X obj 68 205 outlet;
#X obj 103 104 nbx 3 14 -20 20 0 0 \$0-dummy \$0-xdelta empty 0 -8
0 12 -262144 -1 -1 0 256 0;
#X obj 103 124 nbx 3 14 -20 20 0 0 \$0-dummy \$0-ydelta empty 0 -8
0 12 -262144 -1 -1 0 256 0;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 1 1 0 1;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X coords 0 -1 1 1 48 42 2 100 100;
#X restore 197 473 pd flash-time;
#X text 321 203 2.y-offset;
#X text 321 182 1.x-offset;
#X text 153 56 1.interrupt;
#X text 153 76 2.hold;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 6 2 [bng] Changing Properties through Messages;
#X connect 6 0 20 0;
#X connect 7 0 21 0;
#X connect 8 0 22 0;
#X connect 9 0 22 0;
#X connect 10 0 23 0;
#X connect 11 0 26 0;
#X connect 12 0 27 0;
#X connect 13 0 28 0;
#X connect 14 0 31 0;
#X connect 15 0 30 0;
#X connect 18 0 29 0;
#X connect 19 0 23 0;
#X connect 32 0 25 0;
#X connect 33 0 24 0;
#X connect 34 0 26 0;
#X connect 38 0 7 0;
#X connect 41 0 18 0;
#X connect 42 0 18 0;
#X connect 45 0 15 0;
#X connect 46 0 45 0;
#X connect 59 0 6 0;
#X connect 61 0 12 0;
#X connect 62 0 13 0;
#X connect 63 0 14 0;
#X connect 64 0 45 1;
#X restore 101 380 pd Changing_GUI_Properties;
#X text 168 463 - creating a [bng] without any arguments will set default
values for all gui-properties. See the subpatch below to learn how
to dynamically instantiate a [bng] object with custom properties:;
#X text 11 23 gui-bang;
#N canvas 43 24 428 573 bng_properties 0;
#X text 22 53 1 Size;
#X obj 104 60 bng 8 250 50 0 empty empty 8 10 4 0 8 -262144 -1 -1;
#X obj 129 53 bng 15 250 50 0 empty empty 15 17 9 0 8 -262144 -1 -1
;
#X obj 164 43 bng 25 250 50 0 empty empty 25 27 20 0 8 -262144 -1 -1
;
#X text 51 75 Default size is 15 pixels. The minimum size is 8 and
it does not have a maximum size.;
#X text 23 258 3 Hold;
#X obj 93 258 bng 15 50 10 0 empty empty 50 17 8 0 8 -262144 -1 -1
;
#X obj 128 258 bng 15 750 50 0 empty empty 750 17 8 0 8 -262144 -1
-1;
#X text 23 341 4 Receive Symbol/Send Symbol;
#X text 49 356 This object can act as its own send or receive object.
;
#X obj 41 391 bng 15 250 50 0 link_this_bang empty This_one_sends_a_bang
17 8 0 10 -262144 -1 -1;
#X obj 41 412 bng 15 250 50 0 empty link_this_bang This_one_receives_it.
17 8 0 10 -262144 -1 -1;
#X text 232 370 Here is the alternative method.;
#X text 26 447 5 GUI Options;
#X text 49 469 The other properties are 'name' \, 'x/y offset' \, 'font
size' \, and colours (for the background \, front \, and labels [name])
;
#X text 48 275 The default hold is 250 milliseconds. The hold value
controls the length of time that the bng object stays "lit". Note that
bng sends its message immediately regardless of the hold value.;
#X obj 233 436 s linked_bngs;
#X obj 338 389 r linked_bngs;
#X text 22 105 2 Interrupt (milliseconds);
#X text 48 119 If the bng object is "lit" and holding (see "hold" below)
\, then receives another message before the hold time has passed \,
the bng will quickly flash again for the duration you set in this interrupt
property.;
#X obj 24 203 bng 15 1000 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 47 187 This bng will hold for 1000 milliseconds \, but interrupt
for 50 milliseconds if it gets a second message during its "hold".
Click it once...wait. Then click it multiple times rather quickly to
see the effect.;
#X obj 233 413 bang;
#X obj 338 413 bang;
#X msg 233 389 send a message;
#X text 18 510 This document was updated for Pd version 0.35 test 24
by Dave Sabine as part of a project called pddp proposed by Krzysztof
Czaja to build comprehensive documentation for Pd.;
#X obj 338 439 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 2 [bng] Properties;
#X connect 17 0 23 0;
#X connect 22 0 16 0;
#X connect 23 0 26 0;
#X connect 24 0 22 0;
#X restore 101 556 pd bng_properties;
#X text 80 463 14;
#X text 215 551 (c) musil@iem.kug.ac.at;
#X text 257 564 IEM KUG;
#X text 232 576 graz \, austria 2002;
#X text 168 418 - [bng] only outputs a bang message.;
#X text 168 308 - [bng] outputs a bang message in response to any message
that has not been defined to affect gui-properties (see below).;
#X text 98 346 See the following subpatch for messages that change
the gui-properties of [bng]:;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X connect 14 0 13 0;
#X connect 16 0 17 0;
#X connect 17 0 15 0;
#X connect 17 0 14 0;
#X connect 18 0 17 0;
#X connect 19 0 17 0;
#X connect 20 0 17 0;
#X connect 21 0 17 0;
#X connect 22 0 17 0;
#X connect 24 0 26 0;
#X connect 25 0 23 0;
#X connect 27 0 17 0;
#N canvas 428 36 555 619 10;
#X obj -1 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj -1 0 cnv 15 552 40 empty \$0-pddp.cnv.header bp~ 3 12 0 18 -204280
-1 0;
#X obj -1 364 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 483 262 494 367 META 0;
#X text 12 185 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 25 LICENSE SIBSD;
#X text 12 165 AUTHOR Miller Puckette;
#X text 12 225 HELP_PATCH_AUTHORS Updated for Pd version-0.30. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 5 KEYWORDS signal filter;
#X text 12 145 LIBRARY internal;
#X text 12 45 DESCRIPTION bandpass filter;
#X text 12 65 INLET_0 signal;
#X text 12 85 INLET_1 float;
#X text 12 105 INLET_2 float;
#X text 12 125 OUTLET_0 signal;
#X text 12 205 RELEASE_DATE 2009;
#X restore 500 597 pd META;
#X obj -1 472 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj -1 509 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj -1 568 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8
12 0 13 -228856 -1 0;
#X obj 78 373 cnv 17 3 35 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#N canvas 213 529 428 102 Related_objects 0;
#X obj 21 42 vcf~;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [bp~] Related Objects;
#X restore 101 597 pd Related_objects;
#X obj 78 481 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 502 11 bp~;
#X obj 137 208 env~;
#X floatatom 137 228 0 0 0 0 - - -;
#X floatatom 166 138 0 0 0 0 - - -;
#X obj 78 208 env~;
#X floatatom 78 229 0 0 0 0 - - -;
#X floatatom 78 68 0 0 0 0 - - -;
#X obj 78 91 osc~ 100;
#X msg 138 115 clear;
#X obj 138 186 bp~ 100 10;
#X text 78 258 Compare the amplitude of the original signal on the
left with the amplitude of the filtered signal on the right.;
#X floatatom 195 162 0 0 0 0 - - -;
#X text 98 372 signal;
#X obj 78 416 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 392 clear;
#X text 98 415 float;
#X obj 78 444 cnv 17 3 17 empty \$0-pddp.cnv.let.2 2 5 9 0 16 -228856
-162280 0;
#X text 98 445 float;
#X text 98 481 signal;
#X text 11 23 bandpass filter;
#X text 168 392 - reinitialize internal state.;
#X text 168 415 - center frequency.;
#X text 168 445 - Q.;
#X text 170 528 - center frequency.;
#X text 170 544 - Q.;
#X text 80 528 1) float;
#X text 80 544 2) float;
#X text 185 209 [env~] gives the amplitude of the signal envelop in
dB.;
#X text 75 297 [bp~] passes a sinusoid at the center frequency at unit
gain (approximately). Other frequencies are attenuated.;
#X text 123 66 <- scroll to change input frequency;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 476 52 pddp/dsp;
#X obj 98 572 pddp/pddplink ../3.audio.examples/H07.measure.spectrum.pd
-text doc/3.audio.examples/H07.measure.spectrum.pd;
#X connect 11 0 12 0;
#X connect 13 0 19 1;
#X connect 14 0 15 0;
#X connect 16 0 17 0;
#X connect 17 0 14 0;
#X connect 17 0 19 0;
#X connect 18 0 19 0;
#X connect 19 0 11 0;
#X connect 21 0 19 2;
#N canvas 429 36 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header (canvas) 3 12 0
18 -204280 -1 0;
#X obj 0 293 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 482 350 494 280 META 0;
#X text 12 85 LIBRARY internal;
#X text 12 125 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 45 LICENSE SIBSD;
#X text 12 105 AUTHOR Miller Puckette;
#X text 12 165 HELP_PATCH_AUTHORS Updated for Pd v0.41. Revised by
Jonathan Wilkes to conform to the PDDP template for Pd version 0.42.
;
#X text 12 25 KEYWORDS signal;
#X text 12 65 DESCRIPTION Pure Data document window;
#X text 12 5 NAME pd table graph;
#X text 12 145 RELEASE_DATE 2009;
#X restore 500 597 pd META;
#X obj 0 508 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 556 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#N canvas 54 478 428 109 Related_objects 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 8 1 (canvas) Related Objects;
#N canvas 0 0 450 300 (subpatch) 0;
#X restore 22 42 pd;
#X obj 52 42 table;
#X restore 102 598 pd Related_objects;
#X obj 78 302 cnv 17 3 85 empty \$0-pddp.cnv.let.n n 5 9 0 16 -228856
-162280 0;
#X text 328 11 (This help patch itself is a canvas);
#X obj 101 560 pddp/pddplink all_about_canvas_properties.pd -text all_about_canvas_properties
;
#X text 72 56 This help patch is associated with several related objects:
;
#X text 73 142 4) root canvas (i.e. \, pd document);
#X text 93 157 Also known simply as a "patch" \, a canvas is a window
that contains a list of pd objects. A canvas can either be a root canvas--
created from the "File" menu by choosing "new"-- or a subcanvas (like
one of the objects listed above).;
#X text 98 301 anything;
#X obj 377 76 pddp/pddplink pd-help.pd -text See pd-help;
#X text 73 76 1) [pd] - subcanvas \, a.k.a. subpatch or subwindow.
;
#X text 73 98 2) [table] - array of numbers.;
#X obj 257 98 pddp/pddplink table-help.pd -text See table-help;
#X text 73 120 3) graph (available from the "Put" menu).;
#X obj 322 120 pddp/pddplink graph-help.pd -text See graph-help;
#X text 62 122 *;
#X text 62 229 * If you're new to Pd \, it's easy to get graphs mixed
up with garrays (i.e. \, "Array" from the "Put" menu). For help on
garrays \, click below:;
#X obj 170 328 pddp/pddplink inlet-help.pd -text inlet-help;
#X text 98 347 signal;
#X obj 170 374 pddp/pddplink inlet~-help.pd -text inlet~-help;
#X obj 0 398 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 78 407 cnv 17 3 90 empty \$0-pddp.cnv.let.n n 5 9 0 16 -228856
-162280 0;
#X text 98 406 anything;
#X obj 170 433 pddp/pddplink outlet-help.pd -text outlet-help;
#X text 98 453 signal;
#X obj 170 480 pddp/pddplink outlet~-help.pd -text outlet~-help;
#X text 168 453 - outlets for signals can be created by using [outlet~]
objects on the canvas. See the links below for more details:;
#X text 168 347 - inlets for signals can be created by using [inlet~]
objects on the canvas. See the links below for more details:;
#X text 98 512 (5);
#X text 168 512 - canvas arguments are 5 floats which are not directly
accessible: topLeftX topLeftY canvasWidth canvasHeight fontSize.;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 101 575 pddp/pddplink ../3.audio.examples/G05.execution.order.pd
-text doc/3.audio.examples/G05.execution.order.pd;
#X text 11 23 Pure Data document window;
#X text 168 301 - control inlets can be created by using [inlet] objects
on the canvas. See the links below for more details:;
#X text 168 406 - control outlets can be created by using [outlet]
objects on the canvas. See the links below for more details:;
#X obj 62 270 pddp/pddplink array-help.pd -text Help patch for "Put"
menu array;
#N canvas 424 45 555 619 10;
#X obj -1 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj -1 0 cnv 15 552 40 empty \$0-pddp.cnv.header change 3 12 0 18
-204280 -1 0;
#X obj -1 337 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 479 297 494 344 META 0;
#X text 12 105 LIBRARY internal;
#X text 12 145 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 25 LICENSE SIBSD;
#X text 12 125 AUTHOR Miller Puckette;
#X text 12 185 HELP_PATCH_AUTHORS This document was updated for Pd
version 0.35 test 26 by Dave Sabine as part of a project called pddp
proposed by Krzysztof Czaja to build comprehensive documentation for
Pd. Jonathan Wilkes revised the patch to conform to the PDDP template
for Pd version 0.42.;
#X text 12 5 KEYWORDS control filter;
#X text 12 45 DESCRIPTION eliminate redundancy in a number stream;
#X text 12 65 INLET_0 float bang set;
#X text 12 85 OUTLET_0 float;
#X text 12 165 RELEASE_DATE 2009;
#X restore 500 597 pd META;
#X obj -1 481 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj -1 524 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj -1 566 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8
12 0 13 -228856 -1 0;
#X obj 78 346 cnv 17 3 125 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#N canvas 210 534 428 104 Related_objects 0;
#X obj 15 31 spigot;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [change] Related Objects;
#X obj 65 31 select;
#X restore 101 597 pd Related_objects;
#X obj 78 490 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 499 11 change;
#X msg 22 108 1;
#X msg 50 108 1;
#X msg 79 108 1;
#X msg 112 107 0;
#X text 20 90 Click from left to right...;
#X obj 22 139 change;
#X obj 22 160 print;
#X text 61 161 watch the console;
#X obj 22 218 change 6.5;
#X obj 22 241 print;
#X msg 22 189 6.5;
#X msg 52 189 5.5;
#X msg 88 190 bang;
#X text 93 218 creation argument;
#X text 98 345 bang;
#X text 98 375 float;
#X text 98 405 list;
#X text 98 444 set;
#X floatatom 210 271 0 0 0 0 - - -;
#X floatatom 210 182 0 0 0 0 - - -;
#X floatatom 248 198 0 0 0 0 - - -;
#X msg 248 220 set \$1;
#X text 293 220 set the value;
#X text 247 179 if different from current value \, output and set;
#X obj 210 292 print;
#X obj 210 249 change;
#X text 206 147 The "set" method can be used to store a number in the
object without outputting that value.;
#X text 98 490 float;
#X text 11 23 eliminate redundancy in a number stream;
#X text 167 543 - (optional) a number to specify the initial value.
;
#X text 168 345 - sending a bang message to the inlet will force [change]
to output its current value.;
#X text 168 375 - a float will be output only if it differs from the
previous value of [change].;
#X text 168 405 - lists will be truncated and the first element will
be output only if it differs from the previous value of [change].;
#X text 168 490 - if the incoming float was different than the previous
value \, it will be sent to the outlet.;
#X text 80 543 1) float;
#X text 168 444 "set" followed by a value (e.g. \, "set 12") will set
the value of [change] without outputting it.;
#X text 18 59 The change object passes its input to the outlet only
when it changes.;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X connect 11 0 16 0;
#X connect 12 0 16 0;
#X connect 13 0 16 0;
#X connect 14 0 16 0;
#X connect 16 0 17 0;
#X connect 19 0 20 0;
#X connect 21 0 19 0;
#X connect 22 0 19 0;
#X connect 23 0 19 0;
#X connect 29 0 35 0;
#X connect 30 0 36 0;
#X connect 31 0 32 0;
#X connect 32 0 36 0;
#X connect 36 0 29 0;
#N canvas 424 40 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header clip 3 12 0 18 -204280
-1 0;
#X obj 0 297 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 478 290 494 344 META 0;
#X text 12 145 LIBRARY internal;
#X text 12 185 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 25 LICENSE SIBSD;
#X text 12 165 AUTHOR Miller Puckette;
#X text 12 225 HELP_PATCH_AUTHORS Dave Sabine \, April 25 \, 2003 Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 5 KEYWORDS control filter;
#X text 12 45 DESCRIPTION force a number to lie between two limits
;
#X text 12 65 INLET_0 float list;
#X text 12 125 OUTLET_0 float;
#X text 12 85 INLET_1 float;
#X text 12 105 INLET_2 float;
#X text 12 205 RELEASE_DATE 2009;
#X restore 500 597 pd META;
#X obj 0 415 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 458 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 533 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X obj 78 306 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#N canvas 207 532 428 102 Related_objects 0;
#X obj 234 43 int;
#X obj 274 42 f;
#X obj 22 42 min;
#X obj 65 42 max;
#X obj 105 42 clip~;
#X obj 149 42 min~;
#X obj 191 42 max~;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [clip] Related Objects;
#X restore 101 597 pd Related_objects;
#X obj 78 424 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 78 362 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 361 float;
#X obj 78 387 cnv 17 3 17 empty \$0-pddp.cnv.let.2 2 5 9 0 16 -228856
-162280 0;
#X text 98 386 float;
#X obj 504 11 clip;
#X obj 306 179 clip -50 50;
#X floatatom 306 205 5 0 0 0 - - -, f 5;
#X floatatom 306 141 5 0 0 0 - - -, f 5;
#X text 383 177 creation arguments;
#X obj 128 179 clip;
#X floatatom 138 140 5 0 0 0 - - -, f 5;
#X floatatom 181 140 5 0 0 0 - - -, f 5;
#X floatatom 224 140 5 0 0 0 - - -, f 5;
#X floatatom 128 205 5 0 0 0 - - -, f 5;
#X text 171 179 no arguments;
#X text 205 108 list;
#X msg 128 108 42 100 500;
#X text 98 305 float;
#X text 168 305 - a float at the left inlet will be clipped to the
low and high values stored in the object.;
#X text 98 424 float;
#N canvas 102 355 428 206 clip_vs_min_and_max 0;
#X text 10 70 Consider the following:;
#X floatatom 50 96 5 0 0 0 - - -, f 5;
#X floatatom 50 177 5 0 0 0 - - -, f 5;
#X obj 50 151 min 50;
#X obj 50 125 max -50;
#X text 137 136 same as;
#X obj 257 148 clip -50 50;
#X floatatom 257 177 5 0 0 0 - - -, f 5;
#X text 10 37 [clip] is a tool which combines the functionality of
[min] and [max] into a single object.;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [clip] Relationship between [clip] and [min] \, [max];
#X connect 1 0 4 0;
#X connect 1 0 6 0;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X connect 6 0 7 0;
#X restore 101 567 pd clip_vs_min_and_max;
#N canvas 99 243 428 294 low_and_high_values 0;
#X text 35 32 [clip] always assumes that the first argument (second
inlet) is the low extreme of the range and the second argument (third
inlet) is the high extreme. However \, strange behaviour should be
expected if you mix these arguments up.;
#X obj 43 155 clip -50 50;
#X obj 169 149 clip 72 -104;
#X floatatom 43 122 5 0 0 0 - - -, f 5;
#X floatatom 43 184 5 0 0 0 - - -, f 5;
#X floatatom 169 181 5 0 0 0 - - -, f 5;
#X text 174 104 Numbers below 72 are clipped to 72;
#X text 174 124 Numbers above -104 are clipped to -104;
#X floatatom 311 258 5 0 0 0 - - -, f 5;
#X obj 311 214 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 311 236 clip 1 -1024;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [clip] Low and High Values;
#X text 114 238 This could be used effectively;
#X text 114 253 to toggle between two numbers.;
#X connect 1 0 4 0;
#X connect 2 0 5 0;
#X connect 3 0 1 0;
#X connect 3 0 2 0;
#X connect 9 0 10 0;
#X connect 10 0 8 0;
#X restore 101 542 pd low_and_high_values;
#X text 11 23 force a number to lie between two limits;
#X text 168 424 - outputs a float which is limited to a range within
the high and low values of the middle and last inlet.;
#X text 167 477 - (optional) initial minimum value beyond which to
clip the signal.;
#X text 167 502 - (optional) initial maximum value beyond which to
clip the signal.;
#X text 80 477 1) float;
#X text 80 502 2) float;
#X text 168 386 - maximum value beyond which the incoming signal is
clipped.;
#X text 168 361 - minimum value beyond which the incoming signal is
clipped.;
#X text 98 335 list;
#X text 168 335 - a list is distributed to the inlets of [clip].;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X connect 15 0 16 0;
#X connect 17 0 15 0;
#X connect 19 0 23 0;
#X connect 20 0 19 0;
#X connect 21 0 19 1;
#X connect 22 0 19 2;
#X connect 26 0 19 0;
#N canvas 425 36 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header clip~ 3 12 0 18
-204280 -1 0;
#X obj 0 357 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 481 286 494 344 META 0;
#X text 12 145 LIBRARY internal;
#X text 12 185 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 25 LICENSE SIBSD;
#X text 12 165 AUTHOR Miller Puckette;
#X text 12 225 HELP_PATCH_AUTHORS Updated for Pd version 0.33. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 5 KEYWORDS signal filter;
#X text 12 45 DESCRIPTION restrict a signal to lie between two limits
;
#X text 12 125 OUTLET_0 signal;
#X text 12 65 INLET_0 signal;
#X text 12 85 INLET_1 float;
#X text 12 105 INLET_2 float;
#X text 12 205 RELEASE_DATE 2009;
#X restore 500 597 pd META;
#X obj 0 449 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 486 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 566 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X obj 78 366 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#N canvas 208 523 428 108 Related_objects 0;
#X obj 23 36 min~;
#X obj 70 36 max~;
#X obj 118 36 clip;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [clip~] Related Objects;
#X restore 101 597 pd Related_objects;
#X text 98 365 signal;
#X obj 78 458 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 458 signal;
#X obj 502 12 clip~;
#X obj 41 177 clip~ -0.5 0.5;
#X obj 41 117 osc~ 1000;
#X obj 57 226 metro 500;
#X text 209 149 inlets to reset clip range;
#X floatatom 101 149 4 0 0 0 - - -, f 4;
#X floatatom 162 150 4 0 0 0 - - -, f 4;
#X text 176 177 creation arguments initialize clip range;
#X text 183 250 <- graph the output;
#X obj 78 396 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 395 float;
#X obj 78 421 cnv 17 3 17 empty \$0-pddp.cnv.let.2 2 5 9 0 16 -228856
-162280 0;
#X text 98 420 float;
#X obj 57 203 loadbang;
#N canvas 0 0 450 300 (subpatch) 0;
#X array \$0-array 100 float 0;
#X coords 0 1 100 -1 200 100 1 0 0;
#X restore 343 238 graph;
#X text 11 23 restrict a signal to lie between two limits;
#X text 168 365 - an incoming signal at the left inlet will be clipped
to lie between the two limits.;
#X text 168 458 - outputs the clipped signal.;
#X text 168 505 - (optional) initial minimum value beyond which to
clip the signal.;
#X text 168 535 - (optional) initial maximum value beyond which to
clip the signal.;
#X text 80 505 1) float;
#X text 80 535 2) float;
#X text 81 67 The [clip~] object passes its signal input to its output
\, clipping it to lie between two limits.;
#X text 168 395 - minimum value below which the incoming signal is
clipped.;
#X text 168 420 - maximum value above which the incoming signal is
clipped.;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 476 52 pddp/dsp;
#X obj 41 250 tabwrite~ \$0-array;
#X connect 13 0 39 0;
#X connect 14 0 13 0;
#X connect 15 0 39 0;
#X connect 17 0 13 1;
#X connect 18 0 13 2;
#X connect 25 0 15 0;
#N canvas 429 39 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header cos 3 12 0 18 -204280
-1 0;
#X obj 0 437 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 483 290 494 344 META 0;
#X text 12 105 LIBRARY internal;
#X text 12 145 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 25 LICENSE SIBSD;
#X text 12 125 AUTHOR Miller Puckette;
#X text 12 185 HELP_PATCH_AUTHORS This document was updated for Pd
version 0.35 test 28 by Dave Sabine as part of a project called pddp
proposed by Krzysztof Czaja to build comprehensive documentation for
Pd. Jonathan Wilkes revised the patch to conform to the PDDP template
for Pd version 0.42.;
#X text 12 5 KEYWORDS control trigonometry;
#X text 12 45 DESCRIPTION cosine function;
#X text 12 65 INLET_0 float;
#X text 12 85 OUTLET_0 float;
#X text 12 165 RELEASE_DATE 1997;
#X restore 500 597 pd META;
#X obj 0 502 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 539 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 567 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X text 98 543 (none);
#N canvas 217 521 428 109 Related_objects 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X obj 48 42 tan;
#X obj 75 42 atan;
#X obj 108 42 atan2;
#X obj 148 42 exp;
#X obj 176 42 log;
#X obj 203 42 abs;
#X obj 231 42 sqrt;
#X obj 266 42 pow;
#X obj 56 75 cos~;
#X obj 88 75 osc~;
#X obj 22 75 expr;
#X obj 22 42 sin;
#X text 7 1 [cos] Related Objects;
#X restore 102 598 pd Related_objects;
#X obj 78 446 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 445 float;
#X text 98 465 list;
#X text 98 510 float;
#X obj 78 511 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X floatatom 396 190 0 0 0 0 - - -;
#X floatatom 303 191 0 0 0 0 - - -;
#X obj 210 156 sin;
#X floatatom 87 111 0 0 0 0 - - -;
#X floatatom 210 190 0 0 0 0 - - -;
#X obj 87 151 * 6.28319;
#X obj 87 131 / 360;
#X obj 303 157 cos;
#X obj 396 156 tan;
#X text 150 151 2 x Pi;
#X floatatom 87 171 0 0 0 0 - - -;
#X text 150 171 Radian;
#X obj 87 191 s radians;
#X obj 210 130 r radians;
#X text 84 228 Trigonometry functions take input in Radians. To find
a radian \, simply divide a number by 360 (to make it a fraction of
a circle) and multiply it by 2(Pi) where Pi is equal to approximately
3.14159265.;
#X text 83 333 [tan] will produce a number which represents the tangent
of an angle.;
#X text 83 289 [sin] and [cos] will return numbers between -1 and 1:
the sine and cosine of a number repectively.;
#X obj 519 11 cos;
#X text 11 23 cosine function;
#X text 168 467 - a list will be truncated \, and the first element
will be used as input.;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X connect 16 0 18 0;
#X connect 17 0 20 0;
#X connect 19 0 24 0;
#X connect 20 0 19 0;
#X connect 21 0 15 0;
#X connect 22 0 14 0;
#X connect 24 0 26 0;
#X connect 27 0 16 0;
#X connect 27 0 21 0;
#X connect 27 0 22 0;
#N canvas 425 36 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header cos~ 3 12 0 18 -204280
-1 0;
#X obj 0 440 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 477 283 494 344 META 0;
#X text 12 105 LIBRARY internal;
#X text 12 145 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 25 LICENSE SIBSD;
#X text 12 125 AUTHOR Miller Puckette;
#X text 12 185 HELP_PATCH_AUTHORS Updated for Pd version 0.41. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 5 KEYWORDS signal trigonometry;
#X text 12 45 DESCRIPTION cosine waveshaper;
#X text 12 65 INLET_0 signal;
#X text 12 85 OUTLET_0 signal;
#X text 12 165 RELEASE_DATE 1997;
#X restore 500 598 pd META;
#X obj 0 477 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 532 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 560 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#N canvas 211 524 428 103 Related_objects 0;
#X obj 19 33 osc~;
#X obj 68 33 tabread4~;
#X obj 138 33 phasor~;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [cos~] Related Objects;
#X restore 102 598 pd Related_objects;
#X obj 78 486 cnv 17 3 35 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 78 449 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 449 signal;
#X text 98 486 signal;
#X text 158 486 - [cos~] outputs the cosine of two pi times its signal
input. So -1 \, 0 \, 1 and 2 give 1 out \, 0.5 gives -1 \, and so on.
;
#X text 98 536 (none);
#X obj 505 11 cos~;
#X obj 131 240 cos~;
#X obj 131 289 snapshot~;
#X obj 131 192 sig~;
#X floatatom 131 315 7 0 0 0 - - -, f 7;
#X obj 131 165 * 0.01;
#X floatatom 131 138 0 0 0 0 - - -;
#X obj 198 255 metro 500;
#X obj 198 229 r metro;
#X text 194 165 Divide by 100;
#X text 179 193 convert to audio;
#X text 186 140 <-- Scroll to set input value;
#X text 205 315 <-- output of the cos~ object;
#X obj 470 126 loadbang;
#X obj 470 150 s metro;
#N canvas 107 147 428 410 cos~_vs_osc~ 0;
#X obj 63 164 cos~;
#X obj 63 136 phasor~;
#X text 16 146 this:;
#X text 165 139 is the same;
#X text 166 158 as this:;
#X obj 251 140 osc~;
#X text 18 28 ( from audio tutorial E08.phase.mod.pd );
#X obj 111 206 tgl 20 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 136 206 click to visualize;
#N canvas 0 0 450 300 (subpatch) 0;
#X array cos~-array1 100 float 3;
#A 0 -0.753024 -0.792766 -0.829394 -0.862767 -0.892751 -0.919226 -0.94208
-0.961235 -0.976614 -0.988159 -0.995823 -0.999576 -0.999404 -0.995308
-0.987303 -0.975405 -0.959676 -0.94018 -0.916991 -0.890202 -0.859916
-0.826254 -0.789346 -0.749339 -0.70638 -0.660644 -0.612314 -0.561581
-0.508642 -0.453706 -0.396988 -0.33871 -0.279102 -0.218395 -0.156829
-0.0946478 -0.0320953 0.0305825 0.0931407 0.155333 0.216916 0.277648
0.337288 0.3956 0.452358 0.507339 0.560328 0.611116 0.659504 0.705303
0.748333 0.788423 0.825405 0.859146 0.889513 0.916386 0.939661 0.959246
0.975064 0.987053 0.995167 0.999358 0.999623 0.995963 0.988392 0.97694
0.961651 0.942586 0.91982 0.893441 0.863544 0.830252 0.793699 0.75403
0.7114 0.665977 0.617938 0.567472 0.514777 0.460057 0.403526 0.345411
0.28594 0.225346 0.163868 0.101745 0.0392234 -0.0234532 -0.0860385
-0.148284 -0.209948 -0.270786 -0.33056 -0.389036 -0.445985 -0.501182
-0.554412 -0.605466 -0.654132 -0.700229;
#X coords 0 1 99 -1 100 60 1;
#X restore 64 328 graph;
#X obj 64 278 tabwrite~ cos~-array1;
#X msg 63 70 440;
#N canvas 0 0 450 300 (subpatch) 0;
#X array osc~-array1 100 float 3;
#A 0 0.779374 0.738588 0.694902 0.648488 0.599526 0.548211 0.494742
0.43933 0.382189 0.323544 0.263629 0.202679 0.140933 0.0786344 0.0160266
-0.0466445 -0.109133 -0.171193 -0.232579 -0.293051 -0.352371 -0.410307
-0.466632 -0.521125 -0.573571 -0.623766 -0.671511 -0.71661 -0.758893
-0.798196 -0.834364 -0.867255 -0.896741 -0.922705 -0.945047 -0.963677
-0.978512 -0.9895 -0.996602 -0.99979 -0.999052 -0.994391 -0.985825
-0.973388 -0.957129 -0.937102 -0.913388 -0.886088 -0.855309 -0.82117
-0.783807 -0.743366 -0.700006 -0.653896 -0.605216 -0.554151 -0.500911
-0.445704 -0.388748 -0.330265 -0.270485 -0.209642 -0.147975 -0.085727
-0.0231406 0.0395359 0.102057 0.164176 0.225651 0.28624 0.345705 0.403812
0.460335 0.515044 0.567729 0.618184 0.66621 0.711621 0.754237 0.793891
0.830428 0.863704 0.893581 0.919942 0.942691 0.961737 0.977007 0.98844
0.995992 0.999633 0.999348 0.995134 0.987001 0.974993 0.959156 0.939553
0.91626 0.889369 0.858986 0.825229;
#X coords 0 1 99 -1 100 60 1;
#X restore 250 328 graph;
#X floatatom 63 101 5 0 0 0 - - -, f 5;
#X obj 250 278 tabwrite~ osc~-array1;
#X obj 111 236 metro 250;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [cos~] What's the difference between [cos~] and [osc~]?
;
#X text 18 48 [phasor~] and [cos~] together are equivalent to [osc~]
;
#X connect 0 0 10 0;
#X connect 1 0 0 0;
#X connect 5 0 14 0;
#X connect 7 0 15 0;
#X connect 11 0 13 0;
#X connect 13 0 1 0;
#X connect 13 0 5 0;
#X connect 15 0 10 0;
#X connect 15 0 14 0;
#X restore 102 568 pd cos~_vs_osc~;
#X text 11 23 cosine waveshaper;
#X obj 4 598 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 472 52 pddp/dsp;
#X connect 15 0 16 0;
#X connect 16 0 18 0;
#X connect 17 0 15 0;
#X connect 19 0 17 0;
#X connect 20 0 19 0;
#X connect 21 0 16 0;
#X connect 22 0 21 0;
#X connect 27 0 28 0;
#N canvas 427 30 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header cpole~ 3 12 0 18
-204280 -1 0;
#X obj 0 287 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 480 218 494 405 META 0;
#X text 12 185 LIBRARY internal;
#X text 12 225 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 25 LICENSE SIBSD;
#X text 12 205 AUTHOR Miller Puckette;
#X text 12 265 HELP_PATCH_AUTHORS Updated for Pd version-0.38. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 5 KEYWORDS signal filter;
#X text 12 45 DESCRIPTION complex one-pole (recursive) filter \, raw
;
#X text 12 65 INLET_0 signal;
#X text 12 145 OUTLET_0 signal;
#X text 12 85 INLET_1 signal;
#X text 12 105 INLET_2 signal;
#X text 12 125 INLET_3 signal;
#X text 12 165 OUTLET_1 signal;
#X text 12 245 RELEASE_DATE 1997;
#X restore 500 597 pd META;
#X obj 0 424 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 486 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 543 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#N canvas 212 309 428 309 Related_objects 0;
#X obj 74 60 rzero~;
#X obj 25 80 cpole~;
#X obj 25 60 rpole~;
#X obj 123 60 rzero_rev~;
#X obj 74 80 czero~;
#X obj 123 80 czero_rev~;
#X text 201 60 real;
#X text 200 81 complex;
#X text 22 44 1-pole;
#X text 71 44 1-zero;
#X text 121 44 1-zero \, reversed;
#X text 47 29 summary of raw filters:;
#X text 18 184 User-friendly Filters;
#X obj 21 213 lop~;
#X obj 72 212 hip~;
#X obj 124 213 bp~;
#X obj 169 214 vcf~;
#X obj 22 274 biquad~;
#X text 18 250 Other Objects;
#X text 18 113 Pd also provides a suite of user-friendly filters. This
and other raw filters are provided for situations which the user-friendly
ones can't handle. See Chapter 8 of http://crca.ucsd.edu/~msp/techniques
for an introduction to the necessary theory.;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [cpole~] Related Objects;
#X restore 101 597 pd Related_objects;
#X obj 78 433 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 78 296 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 296 signal;
#X text 98 433 signal;
#X obj 492 12 cpole~;
#X obj 57 132 osc~ 100;
#X msg 65 155 clear;
#X obj 84 199 sig~;
#X obj 121 200 sig~;
#X obj 158 200 sig~;
#X obj 56 230 cpole~ 0.9 0.4;
#X msg 67 177 set 0.6 0.8;
#X text 203 181 where y[n] is the output \, x[n] the input \, and a[n]
the filter coefficient (all complex numbers). The filter is unstable
if/when |a[n]|>1.;
#X text 203 223 The transfer function is H(Z) = 1/(1 - aZ^-1).;
#N canvas 45 205 428 355 test 0;
#X obj 66 88 osc~;
#X floatatom 66 65 5 0 0 0 - - -, f 5;
#X obj 8 297 env~ 16384;
#X floatatom 8 321 5 0 0 0 - - -, f 5;
#X obj 94 117 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 66 115 *~;
#X msg 75 142 set 1;
#X floatatom 340 122 4 -1000 1000 0 - - -, f 4;
#X obj 205 325 dac~;
#X obj 205 289 *~;
#X text 70 28 Stuff to test it:;
#X obj 231 116 cos~;
#X obj 67 237 cpole~;
#X obj 251 75 phasor~;
#X floatatom 251 54 5 0 0 0 - - -, f 5;
#X floatatom 122 65 5 0 0 0 - - -, f 5;
#X obj 150 117 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 122 115 *~;
#X obj 122 88 phasor~;
#X floatatom 314 52 5 0 0 0 - - -, f 5;
#X obj 314 75 / 1000;
#X obj 264 117 -~ 0.25;
#X obj 264 139 cos~;
#X obj 340 141 / 1000;
#X obj 230 167 *~;
#X obj 264 167 *~;
#X obj 84 297 env~ 16384;
#X floatatom 84 321 5 0 0 0 - - -, f 5;
#X obj 237 285 dbtorms;
#X floatatom 238 265 5 0 0 0 - - -, f 5;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [cpole~] Test;
#X connect 0 0 5 0;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 4 0 5 1;
#X connect 5 0 12 0;
#X connect 6 0 12 0;
#X connect 7 0 23 0;
#X connect 9 0 8 0;
#X connect 9 0 8 1;
#X connect 11 0 24 0;
#X connect 12 0 2 0;
#X connect 12 0 9 0;
#X connect 12 1 26 0;
#X connect 13 0 21 0;
#X connect 13 0 11 0;
#X connect 14 0 13 0;
#X connect 15 0 18 0;
#X connect 16 0 17 1;
#X connect 17 0 12 0;
#X connect 18 0 17 0;
#X connect 19 0 20 0;
#X connect 20 0 13 1;
#X connect 21 0 22 0;
#X connect 22 0 25 0;
#X connect 23 0 25 1;
#X connect 23 0 24 1;
#X connect 24 0 12 2;
#X connect 25 0 12 3;
#X connect 26 0 27 0;
#X connect 28 0 9 1;
#X connect 29 0 28 0;
#X restore 102 552 pd test;
#X text 98 311 clear;
#X text 98 326 set;
#X obj 78 346 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 346 signal;
#X obj 78 371 cnv 17 3 17 empty \$0-pddp.cnv.let.2 2 5 9 0 16 -228856
-162280 0;
#X text 98 371 signal;
#X obj 78 396 cnv 17 3 17 empty \$0-pddp.cnv.let.3 3 5 9 0 16 -228856
-162280 0;
#X obj 78 458 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 458 signal;
#X text 11 23 complex one-pole (recursive) filter \, raw;
#X text 98 396 signal;
#X text 168 296 - signal to filter (real part).;
#X text 168 311 - clear internal state to zero.;
#X text 168 326 - set internal state (real & imaginary parts).;
#X text 168 346 - signal to filter ( imaginary part ).;
#X text 168 371 - filter coefficient ( real part ).;
#X text 168 396 - filter coefficient ( imaginary part ).;
#X text 169 504 - (optional) coefficient (real).;
#X text 169 519 - (optional) coefficient (imaginary).;
#X text 80 504 1) float;
#X text 80 519 2) float;
#X text 202 134 The action of [cpole~] is:;
#X text 85 68 [cpole~] filters a complex audio signal (first two inlets)
via a one-pole filter \, whose coefficients are controlled by creation
arguments or by another complex audio signal (remaining two inlets).
;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 480 51 pddp/dsp;
#X obj 102 572 pddp/pddplink ../3.audio.examples/H12.peaking.pd -text
doc/3.audio.examples/H12.peaking.pd;
#X text 208 160 y[n] = x[n] + a[n] * y[n-1];
#X connect 13 0 18 0;
#X connect 14 0 18 0;
#X connect 15 0 18 1;
#X connect 16 0 18 2;
#X connect 17 0 18 3;
#X connect 19 0 18 0;
#N canvas 427 38 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header cputime 3 12 0 18
-204280 -1 0;
#X obj 0 333 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 483 273 494 360 META 0;
#X text 12 125 LIBRARY internal;
#X text 12 165 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 25 LICENSE SIBSD;
#X text 12 145 AUTHOR Miller Puckette;
#X text 12 205 HELP_PATCH_AUTHORS This help patch was updated for Pd
version 0.35 test 28 by Dave Sabine as part of a project called pddp
proposed by Krzysztof Czaja to build comprehensive documentation for
Pd. Jonathan Wilkes revised the patch to conform to the PDDP template
for Pd version 0.42.;
#X text 12 5 KEYWORDS control time;
#X text 12 45 DESCRIPTION measure CPU time;
#X text 12 65 INLET_0 bang;
#X text 12 85 INLET_1 bang;
#X text 12 105 OUTLET_0 float;
#X text 12 185 RELEASE_DATE 1997;
#X restore 500 597 pd META;
#X obj 0 407 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 450 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 478 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X obj 78 342 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 454 (none);
#X text 98 416 float;
#N canvas 214 380 428 252 Related_objects 0;
#X obj 125 35 metro;
#X obj 62 35 realtime;
#X obj 14 36 timer;
#X obj 173 35 delay;
#X text 11 170 The best places to find information about Pd's libraries
is:;
#X text 8 192 www.puredata.org and click on "Downloads" then "Software"
;
#X text 10 207 or;
#X text 10 222 iem.kug.ac.at/pdb/;
#X text 12 121 This object is only offered in Pd only if you have downloaded
and properly installed the appropriate library. These objects may or
may not exist in a single library.;
#X text 11 71 Externals;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [cputime] Related Objects;
#X obj 11 91 pddp/helplink iemlib/t3_timer;
#X restore 102 597 pd Related_objects;
#X obj 493 10 cputime;
#X msg 122 156 bang;
#X msg 83 134 bang;
#X floatatom 83 200 0 0 0 0 - - -;
#X text 155 202 Output is in milliseconds;
#X text 118 134 Click here to start or reset;
#X text 78 57 The [cputime] object measures elapsed CPU time. CPU time
is the amount of time your computer's CPU requires to perform a task
-- that's a short definition.;
#X obj 83 178 cputime;
#X text 160 157 Click here to get elapsed CPU time. Click again...and
again...to see periodic measurements from the start or reset time.
Be patient.;
#X obj 78 374 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 373 bang;
#X text 168 416 - the elapsed time in milliseconds arrives at the outlet
when the right inlet receives a bang.;
#X text 80 264 NOTE: Unlike most other objects in Pd \, the right inlet
of [cputime] is the hot one (i.e. \, a bang to it triggers the output).
;
#N canvas 70 46 428 538 Time_Measurements 0;
#X obj 30 395 time_measurements;
#X obj 30 291 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X floatatom 30 437 0 0 0 0 - - -;
#X floatatom 116 436 0 0 0 0 - - -;
#X floatatom 183 436 0 0 0 0 - - -;
#X text 27 208 In the example below \, I've created an abstraction
which will force each of Pd's stop-watches \, [timer] [cputime] and
[realtime] to measure various processes and report the elapsed time.
Click on each [bng] to begin the process and wait for the results.
Notice the discrepancies in the results.;
#X text 28 455 Logical Time;
#X text 181 455 Real Time;
#X text 115 455 CPU Time;
#X obj 45 327 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 50 285 1 Measures elapsed time between two "bangs" from a [trigger]
object.;
#X text 65 319 2 Measures the amount of time Pd requires to turn on
DSP and start an oscillator.;
#X obj 89 359 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 27 487 This document was updated for Pd version 0.35 test 28
by Dave Sabine as part of a project called pddp proposed by Krzysztof
Czaja to build comprehensive documentation for Pd.;
#X text 110 351 3 Measures the amount of time Pd requires count to
three...please wait for approximately 3 seconds.;
#X text 27 35 [cputime] works like essentially like a stop-watch. Once
it starts \, you can continue to "poll" [cputime] to view the elapsed
time.;
#X text 27 82 The odd aspect about comparing [cputime] to a stop-watch
is that a stop-watch can be stopped! [cputime] can only be started
or reset. It cannot be stopped.;
#X text 26 132 As stated above \, [cputime] measures "CPU" time. This
value may be slightly different than "logical" time or "real" time.
PD offers two objects which measure "logical" time and "real" time.
See the reference documents for those objects for more information.
;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [cputime] Time Measurements;
#X connect 0 0 2 0;
#X connect 0 1 3 0;
#X connect 0 2 4 0;
#X connect 1 0 0 0;
#X connect 9 0 0 1;
#X connect 12 0 0 2;
#X restore 102 511 pd Time_Measurements;
#N canvas 70 77 428 430 Time_Objects 0;
#X text 21 37 In a fantasy world \, computers could exist somehow beyond
the restrictions of time and digital computation could be performed
in ZERO time. However \, that is not the case. Instead \, every process
within Pd and within your operating system requires at least a few
nanoseconds of your CPU's time.;
#X text 22 122 The [timer] object is like a clock that is not constrained
to the regular laws of physics and the universal space-time continuum.
It reports "time" measurements as only Pd can see them!;
#X text 23 181 The [cputime] object is like a clock that measures how
much time your CPU actually required to carry out your request. Keep
in mind however that your CPU is busy doing many things simoultaneously
\, so even though a process might take 5 minutes to complete \, your
CPU does not pay full attention to that process for the entire 5 minutes.
Instead \, it simply begins the process \, then refers back to that
process from time to time until the it is complete. In other cases
\, your CPU might require a full 5 minutes while Pd might report that
merely a few milliseconds have passed. This type of discrepancy depends
heavily on your computer's hardware and the type of processing it is
performing.;
#X text 24 350 The [realtime] object is as much like your own wrist
watch as Pd can possibly manage. It measures time according to your
operating system's internal clock.;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [cputime] Why the Discrepencies Between Clocks?;
#X restore 102 486 pd Time_Objects;
#X obj 78 416 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 11 23 measure CPU time;
#X text 98 341 bang;
#X text 168 341 - an initial bang to the left inlet starts the timer.
Subsequent bangs reset the timer.;
#X text 168 373 - a bang to the right inlet causes the elapsed time
to be output (in milliseconds).;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X text 101 531 For a patch that uses [cputime] see:;
#X obj 98 551 pddp/pddplink ../7.stuff/tools/load-meter.pd;
#X text 101 571 (also accessible from the "Media" menu);
#X connect 12 0 18 1;
#X connect 13 0 18 0;
#X connect 18 0 14 0;
#N canvas 427 33 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header czero_rev~ 3 12
0 18 -204280 -1 0;
#X obj 0 303 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 484 243 494 384 META 0;
#X text 12 195 LIBRARY internal;
#X text 12 235 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 215 AUTHOR Miller Puckette;
#X text 12 275 HELP_PATCH_AUTHORS Updated for Pd version-0.38. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 5 KEYWORDS signal filter;
#X text 12 25 LICENSE SIBSD;
#X text 12 75 INLET_0 signal set clear;
#X text 12 95 INLET_1 signal;
#X text 12 115 INLET_2 signal;
#X text 12 135 INLET_3 signal;
#X text 12 155 OUTLET_0 signal;
#X text 12 175 OUTLET_1 signal;
#X text 12 255 RELEASE_DATE 1997;
#X text 12 45 DESCRIPTION complex one-zero (non-recursive) "reverse"
filter \, raw;
#X restore 500 597 pd META;
#X obj 0 440 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 502 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 559 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#N canvas 207 322 428 309 Related_objects 0;
#X obj 74 60 rzero~;
#X obj 25 80 cpole~;
#X obj 25 60 rpole~;
#X obj 123 60 rzero_rev~;
#X obj 74 80 czero~;
#X obj 123 80 czero_rev~;
#X text 201 60 real;
#X text 200 81 complex;
#X text 22 44 1-pole;
#X text 71 44 1-zero;
#X text 121 44 1-zero \, reversed;
#X text 47 29 summary of raw filters:;
#X text 19 184 User-friendly Filters;
#X obj 22 213 lop~;
#X obj 73 212 hip~;
#X obj 125 213 bp~;
#X obj 170 214 vcf~;
#X obj 23 274 biquad~;
#X text 19 250 Other Objects;
#X text 19 113 Pd also provides a suite of user-friendly filters. This
and other raw filters are provided for situations which the user-friendly
ones can't handle. See Chapter 8 of http://crca.ucsd.edu/~msp/techniques
for an introduction to the necessary theory.;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [czero_rev~] Related Objects;
#X restore 101 597 pd Related_objects;
#X obj 78 449 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 78 312 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 312 signal;
#X text 98 449 signal;
#N canvas 3 174 550 380 test 0;
#X obj 152 296 env~ 16384;
#X floatatom 152 320 5 0 0 0 - - -, f 5;
#X floatatom 499 76 4 -1000 1000 0 - - -, f 4;
#X obj 349 324 dac~;
#X obj 349 288 *~;
#X obj 390 70 cos~;
#X floatatom 298 8 5 0 0 0 - - -, f 5;
#X obj 298 31 phasor~;
#X floatatom 398 14 5 0 0 0 - - -, f 5;
#X obj 397 39 / 1000;
#X obj 423 71 -~ 0.25;
#X obj 423 93 cos~;
#X obj 499 95 / 1000;
#X obj 389 121 *~;
#X obj 423 121 *~;
#X obj 228 296 env~ 16384;
#X floatatom 228 320 5 0 0 0 - - -, f 5;
#X obj 381 284 dbtorms;
#X floatatom 382 264 5 0 0 0 - - -, f 5;
#X obj 117 89 phasor~;
#X floatatom 115 60 5 0 0 0 - - -, f 5;
#X text 77 13 Stuff to test it:;
#X obj 131 149 cpole~;
#X obj 241 262 *~ -1;
#X obj 21 261 env~ 16384;
#X floatatom 21 285 5 0 0 0 - - -, f 5;
#X obj 50 312 env~ 16384;
#X floatatom 50 336 5 0 0 0 - - -, f 5;
#X obj 138 181 cpole~;
#X obj 146 216 czero_rev~;
#X obj 154 264 czero_rev~;
#X msg 204 103 clear;
#X obj 262 50 cos~;
#X obj 261 83 *~ 0.02;
#X obj 193 50 sig~ 1.1;
#X obj 448 296 *~;
#X connect 0 0 1 0;
#X connect 2 0 12 0;
#X connect 4 0 3 0;
#X connect 5 0 13 0;
#X connect 6 0 7 0;
#X connect 7 0 32 0;
#X connect 8 0 9 0;
#X connect 9 0 7 1;
#X connect 10 0 11 0;
#X connect 11 0 14 0;
#X connect 12 0 14 1;
#X connect 12 0 13 1;
#X connect 13 0 22 2;
#X connect 13 0 28 2;
#X connect 13 0 29 2;
#X connect 13 0 30 2;
#X connect 14 0 22 3;
#X connect 14 0 23 0;
#X connect 14 0 29 3;
#X connect 15 0 16 0;
#X connect 17 0 4 1;
#X connect 17 0 35 1;
#X connect 18 0 17 0;
#X connect 19 0 22 0;
#X connect 19 0 24 0;
#X connect 19 0 35 0;
#X connect 20 0 19 0;
#X connect 22 0 28 0;
#X connect 22 1 28 1;
#X connect 23 0 28 3;
#X connect 23 0 30 3;
#X connect 24 0 25 0;
#X connect 26 0 27 0;
#X connect 28 0 26 0;
#X connect 28 0 29 0;
#X connect 28 1 29 1;
#X connect 29 0 30 0;
#X connect 29 1 30 1;
#X connect 30 0 0 0;
#X connect 30 0 4 0;
#X connect 30 1 15 0;
#X connect 31 0 22 0;
#X connect 31 0 28 0;
#X connect 32 0 33 0;
#X connect 33 0 5 0;
#X connect 33 0 10 0;
#X connect 34 0 33 0;
#X connect 35 0 3 1;
#X restore 101 568 pd test;
#X text 98 327 clear;
#X text 98 342 set;
#X obj 78 362 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 362 signal;
#X obj 78 387 cnv 17 3 17 empty \$0-pddp.cnv.let.2 2 5 9 0 16 -228856
-162280 0;
#X text 98 387 signal;
#X obj 78 412 cnv 17 3 17 empty \$0-pddp.cnv.let.3 3 5 9 0 16 -228856
-162280 0;
#X text 98 412 signal;
#X obj 78 474 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 474 signal;
#X obj 474 10 czero_rev~;
#X text 198 196 where y[n] is the output \, x[n] the input \, and a[n]
the filter coefficient (all complex numbers). The filter is always
stable.;
#X text 261 176 y[n] = - a[n] * x[n] + x[n-1];
#X text 199 245 The transfer function is H(Z) = -a + Z^-1.;
#X obj 52 127 osc~ 100;
#X msg 60 152 clear;
#X obj 86 203 sig~;
#X obj 120 225 sig~;
#X obj 156 245 sig~;
#X msg 67 178 set 0.6 0.8;
#X obj 51 268 czero_rev~ 0.9 0.4;
#X text 11 23 complex one-zero (non-recursive) "reverse" filter \,
raw;
#X text 158 312 - signal to filter (real part).;
#X text 158 327 - clear internal state to zero.;
#X text 158 342 - set internal state (real & imaginary parts).;
#X text 158 362 - signal to filter ( imaginary part ).;
#X text 158 387 - filter coefficient ( real part ).;
#X text 158 412 - filter coefficient ( imaginary part ).;
#X text 157 521 - (optional) filter coefficient (real part).;
#X text 157 536 - (optional) filter coefficient (imaginary part).;
#X text 80 521 1) float;
#X text 80 536 2) float;
#X text 93 57 [czero_rev~] filters a complex audio signal (first two
inlets) via a one-zero filter \, whose coefficients are controlled
by creation arguments or by another complex audio signal (remaining
two inlets). The impulse response is that of "rzero" reversed in time.
;
#X text 201 155 The action of [czero_rev~] is:;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 476 56 pddp/dsp;
#X connect 27 0 33 0;
#X connect 28 0 33 0;
#X connect 29 0 33 1;
#X connect 30 0 33 2;
#X connect 31 0 33 3;
#X connect 32 0 33 0;
#N canvas 427 33 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header czero~ 3 12 0 18
-204280 -1 0;
#X obj 0 288 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 482 237 491 389 META 0;
#X text 12 185 LIBRARY internal;
#X text 12 225 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 25 LICENSE SIBSD;
#X text 12 205 AUTHOR Miller Puckette;
#X text 12 265 HELP_PATCH_AUTHORS Updated for Pd version-0.38. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 5 KEYWORDS signal filter;
#X text 12 45 DESCRIPTION complex one-zero (non-recursive) filter \,
raw;
#X text 12 65 INLET_0 signal clear set;
#X text 12 85 INLET_1 signal;
#X text 12 105 INLET_2 signal;
#X text 12 125 INLET_3 signal;
#X text 12 145 OUTLET_0 signal;
#X text 12 165 OUTLET_1 signal;
#X text 12 245 RELEASE_DATE 1997;
#X restore 500 597 pd META;
#X obj 0 425 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 487 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 543 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#N canvas 214 316 428 309 Related_objects 0;
#X obj 75 61 rzero~;
#X obj 26 81 cpole~;
#X obj 26 61 rpole~;
#X obj 124 61 rzero_rev~;
#X obj 75 81 czero~;
#X obj 124 81 czero_rev~;
#X text 202 61 real;
#X text 201 82 complex;
#X text 23 45 1-pole;
#X text 72 45 1-zero;
#X text 122 45 1-zero \, reversed;
#X text 48 30 summary of raw filters:;
#X text 22 185 User-friendly Filters;
#X obj 25 214 lop~;
#X obj 76 213 hip~;
#X obj 128 214 bp~;
#X obj 173 215 vcf~;
#X obj 26 275 biquad~;
#X text 22 251 Other Objects;
#X text 22 114 Pd also provides a suite of user-friendly filters. This
and other raw filters are provided for situations which the user-friendly
ones can't handle. See Chapter 8 of http://crca.ucsd.edu/~msp/techniques
for an introduction to the necessary theory.;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 8 2 [czero~] Related Objects;
#X restore 102 597 pd Related_objects;
#X obj 78 434 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 78 297 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 297 signal;
#X text 98 434 signal;
#N canvas 21 185 498 375 test 0;
#X obj 88 282 env~ 16384;
#X floatatom 88 306 5 0 0 0 - - -, f 5;
#X floatatom 420 107 4 -1000 1000 0 - - -, f 4;
#X obj 285 310 dac~;
#X obj 285 274 *~;
#X obj 311 101 cos~;
#X floatatom 237 46 5 0 0 0 - - -, f 5;
#X obj 265 98 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 237 96 *~;
#X obj 237 69 phasor~;
#X floatatom 318 52 5 0 0 0 - - -, f 5;
#X obj 318 75 / 1000;
#X obj 344 102 -~ 0.25;
#X obj 344 124 cos~;
#X obj 420 126 / 1000;
#X obj 310 152 *~;
#X obj 344 152 *~;
#X obj 164 282 env~ 16384;
#X floatatom 164 306 5 0 0 0 - - -, f 5;
#X obj 317 270 dbtorms;
#X floatatom 318 250 5 0 0 0 - - -, f 5;
#X obj 181 206 czero~;
#X floatatom 137 118 4 -1000 1000 0 - - -, f 4;
#X obj 28 112 cos~;
#X obj 48 71 phasor~;
#X floatatom 51 46 5 0 0 0 - - -, f 5;
#X obj 61 113 -~ 0.25;
#X obj 61 135 cos~;
#X obj 137 137 / 1000;
#X obj 27 163 *~;
#X obj 61 163 *~;
#X text 150 13 Stuff to test it:;
#X connect 0 0 1 0;
#X connect 2 0 14 0;
#X connect 4 0 3 0;
#X connect 4 0 3 1;
#X connect 5 0 15 0;
#X connect 6 0 9 0;
#X connect 7 0 8 1;
#X connect 8 0 21 0;
#X connect 9 0 8 0;
#X connect 10 0 11 0;
#X connect 11 0 5 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 16 0;
#X connect 14 0 16 1;
#X connect 14 0 15 1;
#X connect 15 0 21 2;
#X connect 16 0 21 3;
#X connect 17 0 18 0;
#X connect 19 0 4 1;
#X connect 20 0 19 0;
#X connect 21 0 0 0;
#X connect 21 0 4 0;
#X connect 21 1 17 0;
#X connect 22 0 28 0;
#X connect 23 0 29 0;
#X connect 24 0 26 0;
#X connect 24 0 23 0;
#X connect 25 0 24 0;
#X connect 26 0 27 0;
#X connect 27 0 30 0;
#X connect 28 0 30 1;
#X connect 28 0 29 1;
#X connect 29 0 21 0;
#X connect 30 0 21 1;
#X restore 102 552 pd test;
#X text 98 312 clear;
#X text 98 327 set;
#X obj 78 347 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 347 signal;
#X obj 78 372 cnv 17 3 17 empty \$0-pddp.cnv.let.2 2 5 9 0 16 -228856
-162280 0;
#X text 98 372 signal;
#X obj 78 397 cnv 17 3 17 empty \$0-pddp.cnv.let.3 3 5 9 0 16 -228856
-162280 0;
#X text 98 397 signal;
#X obj 78 459 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 459 signal;
#X obj 42 111 osc~ 100;
#X msg 50 136 clear;
#X obj 69 187 sig~;
#X obj 96 209 sig~;
#X obj 126 229 sig~;
#X msg 57 162 set 0.6 0.8;
#X obj 41 252 czero~ 0.9 0.4;
#X obj 496 12 czero~;
#X text 179 152 The action of czero~ is:;
#X text 238 173 y[n] = x[n] - a[n] * x[n-1];
#X text 176 193 where y[n] is the output \, x[n] the input \, and a[n]
the filter coefficient (all complex numbers). The filter is always
stable.;
#X text 175 248 The transfer function is H(Z) = 1 - aZ^-1.;
#X text 11 23 complex one-zero (non-recursive) filter \, raw;
#X text 168 297 - signal to filter (real part).;
#X text 168 312 - clear internal state to zero.;
#X text 168 327 - set internal state (real & imaginary parts).;
#X text 168 347 - signal to filter ( imaginary part ).;
#X text 168 372 - filter coefficient ( real part ).;
#X text 168 397 - filter coefficient ( imaginary part ).;
#X text 167 506 - (optional) filter coefficient (real part).;
#X text 167 521 - (optional) filter coefficient (imaginary part).;
#X text 80 506 1) float;
#X text 80 521 2) float;
#X text 84 53 [czero~] filters a complex audio signal (first two inlets)
via a one-zero filter \, whose coefficients are controlled by creation
arguments or by another complex audio signal (remaining two inlets).
;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 485 50 pddp/dsp;
#X obj 100 572 pddp/pddplink ../3.audio.examples/H12.peaking.pd -text
doc/3.audio.examples/H12.peaking.pd;
#X connect 23 0 29 0;
#X connect 24 0 29 0;
#X connect 25 0 29 1;
#X connect 26 0 29 2;
#X connect 27 0 29 3;
#X connect 28 0 29 0;
#N canvas 426 36 555 619 10;
#X declare;
#X declare;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header declare 3 12 0 18
-204280 -1 0;
#X obj 0 105 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 483 286 494 344 META 0;
#X text 12 65 LIBRARY internal;
#X text 12 105 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 25 LICENSE SIBSD;
#X text 12 85 AUTHOR Miller Puckette;
#X text 12 145 HELP_PATCH_AUTHORS Updated for Pd version 0.41. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 45 DESCRIPTION set environment for loading patch;
#X text 12 125 RELEASE_DATE 1997;
#X text 12 5 KEYWORDS control pd_op;
#X restore 500 597 pd META;
#X obj 0 134 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 164 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 386 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#N canvas 215 523 428 103 Related_objects 0;
#X obj 15 34 import;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [declare] Related Objects;
#X restore 101 597 pd Related_objects;
#X obj 494 12 declare;
#X text 98 109 (none);
#X text 98 139 (none);
#X text 164 291 -lib;
#X text 164 307 -stdlib;
#X text 164 255 -path;
#X text 164 271 -stdpath;
#X text 262 255 add to search path \, relative to the patch;
#X text 262 291 load a library \, relative to the patch;
#X text 262 308 load a library \, relative to Pd;
#X text 161 333 (for any of these you may use a full pathname such
as "/tmp/dir" or \, in Windows \, "C:/garbage" instead of a relative
path).;
#X text 262 272 add to search path \, relative to Pd;
#X text 98 482 WARNING: you might want to avoid putting "declare" statements
inside abstractions \, as their effects will extend to the calling
patch. As of version 0.41 \, "declare path" is ignored inside abstractions
\, although \, probably unwisely \, "-stdpath" takes effect (on the
calling patch as well as the abstraction.);
#X text 98 561 BUG: The name "-stdpath" is confusing \, as it has a
quite different effect from "-stdpath" on the pd command line.;
#X text 11 23 set environment for loading patch;
#X text 139 69 NEEDS AN EXAMPLE;
#X text 165 185 - the [declare] object adds one or more directories
to the search path \, and/or pre-loads one or more libraries ("extensions")
to Pd in preparation for opening the patch from a file. Usage is "declare
[-flag value] [-flag value] ..." where the flag can be:;
#X text 97 400 If you put abstractions and/or other supporting files
in a subdirectory "more" \, you can put an object \, "declare -path
more" to make sure Pd sees them when the patch is loaded. Or \, if
you have zexy installed in the directory extra/zexy (in the Pd installation")
you can get it using "declare -stdpath extra/zexy".;
#X text 80 185 n) symbol atom;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#N canvas 430 34 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header delay 3 12 0 18
-204280 -1 0;
#X obj 0 200 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 482 240 494 386 META 1;
#X text 12 145 LIBRARY internal;
#X text 12 185 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 45 LICENSE SIBSD;
#X text 12 165 AUTHOR Miller Puckette;
#X text 12 225 HELP_PATCH_AUTHORS This help patch was updated for Pd
version 0.35 test 28 by Dave Sabine as part of a project called pddp
proposed by Krzysztof Czaja to build comprehensive documentation for
Pd. Jonathan Wilkes revised the patch to conform to the PDDP template
for Pd version 0.42.;
#X text 12 65 DESCRIPTION bang after time delay;
#X text 12 5 ALIAS del;
#X text 12 85 INLET_0 float bang stop;
#X text 12 105 INLET_1 float;
#X text 12 125 OUTLET_0 bang;
#X text 12 25 KEYWORDS control time bang_op;
#X text 12 205 RELEASE_DATE 1997;
#X restore 500 597 pd META;
#X obj 0 393 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 446 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 488 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#N canvas 219 337 428 291 Related_objects 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X obj 42 37 timer;
#X obj 8 37 pipe;
#X obj 80 37 metro;
#X obj 119 37 makenote;
#X obj 180 87 delwrite~;
#X text 4 208 The best places to find information about Pd's libraries
is:;
#X text 4 230 www.puredata.org and click on "Downloads" then "Software"
;
#X text 4 251 iem.kug.ac.at/pdb/;
#X text 5 112 Externals;
#X text 5 159 Externals are offered in Pd only if you have downloaded
and properly installed the appropriate library. These objects may or
may not exist in a single library.;
#X text 7 62 Audio Objects;
#X obj 10 87 vd~;
#X obj 47 87 delread~;
#X obj 113 89 delwrite~;
#X text 7 1 [delay] Related Objects;
#X obj 12 134 nop~;
#X obj 48 134 z~;
#X obj 78 133 t3_delay;
#X obj 138 133 idelay~;
#X obj 192 133 delay~;
#X restore 101 597 pd Related_objects;
#X obj 78 209 cnv 17 3 145 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 78 402 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 78 360 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 359 float;
#X obj 452 12 delay;
#X text 492 12 or;
#X obj 518 11 del;
#X obj 100 102 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 100 150 delay 2000;
#X obj 100 173 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 98 253 bang;
#X text 98 313 stop;
#X text 168 359 - a float to the right inlet sets the delay time (in
milliseconds).;
#X text 98 336 list;
#X text 98 401 bang;
#X msg 168 101 stop;
#X msg 122 101 500;
#X floatatom 157 128 0 0 0 0 - - -;
#X text 188 129 <- scroll to change delay time in milliseconds;
#X text 168 401 - [delay] only outputs a bang. It cannot be used like
an "echo" or to delay messages other than bang. For that purpose \,
you should explore [pipe].;
#N canvas 106 287 428 250 A_delay_based_metronome 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 19 55 Let's assume for a moment that Miller had forgotten to
build the [metro] object. (I know that sounds absurd \, but for the
sake of example...);
#X text 19 104 [delay] could be used to create a metronome as follows.
;
#X obj 58 197 bng 15 50 10 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 58 175 delay 1000;
#X msg 22 135 bang;
#X msg 58 135 stop;
#X obj 260 176 metro 1000;
#X obj 260 197 bng 15 50 10 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 260 157 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X floatatom 317 155 5 0 0 0 - - -, f 5;
#X floatatom 115 154 5 0 0 0 - - -, f 5;
#X text 152 175 is the same as;
#X text 19 36 A makeshift [metro];
#X text 7 1 [delay] A Metronome Built with [delay];
#X connect 3 0 5 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 9 0 7 0;
#X connect 10 0 7 1;
#X connect 11 0 4 1;
#X restore 101 550 pd A_delay_based_metronome;
#N canvas 103 173 428 389 Random_Impulse_Generator 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 21 35 Some users might be familiar with SC (SuperCollider)
by James McCartney. For more info about SC \, visit www.audiosynth.com.
Anyways...SC has a unit generator called "DUST". Dust will produce
random impulses at a specified "density". I believe that Dust was given
its name because it creates a sound that is similar to actual dust
on old vinyl LP's -- you know that old crackling sound like Rice Krispies.
;
#X text 20 143 The idea is quite simple. If you want a "very dusty"
sound \, you make the density quite high...if you want a "slightly
dusty" sound \, you make the density quite low.;
#X obj 22 299 delay;
#X obj 22 321 bng 15 50 10 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 22 235 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X text 20 188 Dust.ar(2) in SC will produce 2 dusty impulses randomly
per second. In the example below \, you'll see a version of this process
created using Pd's delay object.;
#X obj 22 278 random 500;
#X obj 22 257 metro 500;
#X floatatom 92 236 5 0 0 0 - - -, f 5;
#X text 20 343 Also note that this example merely approximates the
output of SC's "Dust" object.;
#X text 130 236 low numbers produce a very "dusty" output.;
#X text 130 248 high numbers produce a slightly "dusty" output.;
#X text 7 1 [delay] A Random Impulse Generator using [delay];
#X connect 3 0 4 0;
#X connect 5 0 8 0;
#X connect 7 0 3 0;
#X connect 8 0 7 0;
#X connect 9 0 8 1;
#X connect 9 0 7 1;
#X restore 101 572 pd Random_Impulse_Generator;
#X text 168 313 - causes [delay] to cancel its scheduled output.;
#X text 168 336 - a list of floats will be truncated to the first element.
;
#X text 80 465 1) float;
#X text 97 54 The [delay] object sends a bang to its outlet after a
delay (in milliseconds) \, specified by its right inlet or its creation
argument.;
#X text 168 253 - a bang to the left inlet will output a bang after
the prescribed time (set either at the right inlet creation argument).
In the above example \, you should notice a delay of 2 seconds \, then
a bang at the outlet.;
#X text 168 208 - if a float is sent to the left inlet \, [delay] will
set the delay time equal to that number (milliseconds) and schedule
the outgoing bang.;
#X text 98 492 [delay] accepts only ONE bang at a time. It cannot process
multiple delays. In other words \, sending a "bang" to a [delay] which
is already set will reschedule its output \, cancelling the old one.
;
#X text 168 465 - (optional) initial delay time (in milliseconds).
;
#X text 98 208 float;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 298 550 pddp/pddplink ../2.control.examples/07.time.pd;
#X text 11 23 bang after time delay;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 23 0 16 0;
#X connect 24 0 16 0;
#X connect 25 0 16 1;
#N canvas 428 33 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header delread~ 3 12 0
18 -204280 -1 0;
#X obj 0 292 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 484 286 494 344 META 0;
#X text 12 105 LIBRARY internal;
#X text 12 145 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 165 RELEASE_DATE 2009-06-12;
#X text 12 25 LICENSE SIBSD;
#X text 12 125 AUTHOR Miller Puckette;
#X text 12 185 HELP_PATCH_AUTHORS Updated for Pd version 0.33. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 5 KEYWORDS signal nonlocal time;
#X text 12 45 DESCRIPTION read a signal from a delay line;
#X text 12 85 OUTLET_0 signal;
#X text 12 65 INLET_0 float;
#X restore 500 597 pd META;
#X obj 0 384 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 421 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 479 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X obj 78 301 cnv 17 3 75 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#N canvas 216 491 428 139 Related_objects 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 19 78 Control objects for delays:;
#X obj 22 105 delay;
#X obj 67 105 pipe;
#X obj 22 42 delwrite~ help;
#X obj 127 42 vd~ help;
#X text 7 1 [delread~] Related Objects;
#X restore 101 597 pd Related_objects;
#X obj 78 393 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 393 signal;
#X floatatom 299 169 0 0 0 0 - - -;
#X text 340 168 input to delay line;
#X obj 299 193 sig~;
#X floatatom 112 122 0 0 0 0 - - -;
#X text 139 122 float input (delay time in ms);
#X obj 112 217 snapshot~;
#X floatatom 112 241 0 0 0 0 - - -;
#X obj 123 173 loadbang;
#X obj 123 195 metro 200;
#X text 98 300 float;
#X text 98 320 list;
#X text 98 339 Note: If the specified delay time is longer than the
size of the delay line or less than zero it is clipped to the length
of the delay line.;
#X text 98 483 You can use more than one [delread~] object for the
same delay line.;
#X obj 485 10 delread~;
#X obj 299 218 delwrite~ delread_ex 1000;
#X obj 112 148 delread~ delread_ex 1000;
#X text 11 23 read a signal from a delay line;
#X text 168 300 - a float sets the delay time (in milliseconds).;
#X text 168 320 - lists are truncated to the first element.;
#X text 168 393 - the delayed signal.;
#X text 168 440 - name of delay line.;
#X text 168 455 - (optional) initial delay time (ms).;
#X text 80 455 2) float;
#X text 98 511 Note: if the [delwrite~] runs after the [delread~] the
minimum delay is actually one DSP period \, not zero.;
#X text 80 440 1) symbol atom;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 474 58 pddp/dsp;
#X obj 98 542 pddp/pddplink ../3.audio.examples/G01.delay.pd -text
doc/3.audio.examples/G01.delay.pd;
#X obj 98 557 pddp/pddplink ../3.audio.examples/G02.delay.loop.pd -text
doc/3.audio.examples/G02.delay.loop.pd;
#X obj 98 572 pddp/pddplink ../3.audio.examples/G05.execution.order.pd
-text doc/3.audio.examples/G05.execution.order.pd;
#X connect 11 0 13 0;
#X connect 13 0 25 0;
#X connect 14 0 26 0;
#X connect 16 0 17 0;
#X connect 18 0 19 0;
#X connect 19 0 16 0;
#X connect 26 0 16 0;
#N canvas 431 33 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header delwrite~ 3 12 0
18 -204280 -1 0;
#X obj 0 268 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 489 284 494 344 META 0;
#X text 12 85 LIBRARY internal;
#X text 12 125 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 145 RELEASE_DATE 2009-06-12;
#X text 12 25 LICENSE SIBSD;
#X text 12 105 AUTHOR Miller Puckette;
#X text 12 165 HELP_PATCH_AUTHORS Updated for Pd version 0.33. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 5 KEYWORDS signal nonlocal;
#X text 12 45 DESCRIPTION write a signal in a delay line;
#X text 12 65 INLET_0 signal;
#X restore 500 597 pd META;
#X obj 0 321 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 350 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 429 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X obj 78 277 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#N canvas 219 490 428 139 Related_objects 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 19 79 Control objects for delays:;
#X obj 22 106 delay;
#X obj 67 106 pipe;
#X obj 22 43 delread~ delwrite_ex;
#X obj 157 43 vd~ delwrite_ex;
#X text 7 2 [delwrite~] Related Objects;
#X restore 101 597 pd Related_objects;
#X floatatom 90 97 0 0 0 0 - - -;
#X text 119 96 input to delay line;
#X obj 90 121 sig~;
#X floatatom 282 63 0 0 0 0 - - -;
#X obj 282 168 snapshot~;
#X floatatom 282 192 0 0 0 0 - - -;
#X obj 293 112 loadbang;
#X obj 293 134 metro 200;
#X obj 479 10 delwrite~;
#X obj 90 146 delwrite~ delwrite_ex 1000;
#X obj 282 86 delread~ delwrite_ex 1000;
#X floatatom 356 110 0 0 0 0 - - -;
#X obj 357 168 snapshot~;
#X floatatom 357 192 0 0 0 0 - - -;
#X obj 356 133 delread~ delwrite_ex 500;
#X text 98 326 (none);
#X text 98 276 signal;
#X text 168 276 - the signal is read by all [delread~] and [vd~] objects
with the same delay line name (delwrite_ex in the above example).;
#X text 169 384 - length of the delay line in milliseconds \, which
is the maximum delay time any receiving [delread~] or [vd~] object
may have.;
#X text 98 224 [delwrite~] allocates memory for a delay line and writes
an audio signal into it. [delread~] objects by the same name read from
the delay line.;
#X text 169 369 - name of the delay line.;
#X text 99 433 You can use more than one [delread~] object for the
same delay line. (See example above).;
#X text 80 384 2) float;
#X text 99 461 Note: if the [delwrite~] runs after the [delread~] the
minimum delay is actually one DSP period \, not zero.;
#X text 80 369 1) symbol atom;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 472 58 pddp/dsp;
#X obj 99 492 pddp/pddplink ../3.audio.examples/G01.delay.pd -text
doc/3.audio.examples/G01.delay.pd;
#X obj 99 512 pddp/pddplink ../3.audio.examples/G02.delay.loop.pd -text
doc/3.audio.examples/G02.delay.loop.pd;
#X obj 99 532 pddp/pddplink ../3.audio.examples/G03.delay.variable.pd
-text doc/3.audio.examples/G03.delay.variable.pd;
#X obj 99 552 pddp/pddplink ../3.audio.examples/G04.control.blocksize.pd
-text doc/3.audio.examples/G04.control.blocksize.pd;
#X obj 99 572 pddp/pddplink ../3.audio.examples/G05.execution.order.pd
-text doc/3.audio.examples/G05.execution.order.pd;
#X text 11 23 write a signal in a delay line;
#X connect 9 0 11 0;
#X connect 11 0 18 0;
#X connect 12 0 19 0;
#X connect 13 0 14 0;
#X connect 15 0 16 0;
#X connect 16 0 13 0;
#X connect 16 0 21 0;
#X connect 19 0 13 0;
#X connect 20 0 23 0;
#X connect 21 0 22 0;
#X connect 23 0 21 0;
#N struct drawnumber-help-template float x float y float cat float
dog float dog-vis;
#N canvas 429 35 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header drawnumber 3 12
0 18 -204280 -1 0;
#X obj 0 119 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 487 282 494 344 META 0;
#X text 12 105 LIBRARY internal;
#X text 12 145 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 165 RELEASE_DATE 2009-06-12;
#X text 12 45 LICENSE SIBSD;
#X text 12 125 AUTHOR Miller Puckette;
#X text 12 185 HELP_PATCH_AUTHORS Updated for Pd version 0.39. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 25 KEYWORDS control data_structure;
#X text 12 65 DESCRIPTION display a numberic field of a template;
#X text 12 5 ALIAS drawsymbol;
#X text 12 85 INLET_0 float;
#X restore 500 597 pd META;
#X obj 0 204 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 232 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 460 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#N canvas 212 459 428 169 Related_objects 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X obj 92 42 struct;
#X obj 142 42 drawpolygon;
#X obj 223 42 plot;
#X obj 17 42 drawsymbol;
#X obj 262 42 drawcurve;
#X text 7 78 Other Data Structure Objects;
#X obj 245 112 element;
#X obj 76 112 get;
#X obj 107 112 set;
#X obj 136 112 getsize;
#X obj 190 112 setsize;
#X obj 22 112 pointer;
#X text 7 1 [drawnumber] Related Objects;
#X restore 101 597 pd Related_objects;
#X obj 78 128 cnv 17 3 65 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 127 float;
#X text 98 177 list;
#X text 168 127 - [drawnumber] has a single inlet to toggle visibility
of the number. A zero makes it invisible. Any nonzero value makes it
visible.;
#X text 98 208 (none);
#N canvas 7 169 428 164 drawnumber-help-data 0;
#X scalar drawnumber-help-template 24 61 49 17 1 \;;
#X scalar drawnumber-help-template 174 61 41 18 1 \;;
#X obj 1 1 cnv 15 425 20 empty empty empty 20 12 2 14 -204280 -195568
0;
#X text 6 1 [drawnumber] Window to Display Data Structure Instances
;
#X text 21 91 Each dog/cat pair is a scalar. (You can click each in
editmode to get a bounding blue box and move them around.) When not
in editmode you may click and scroll the values up and down for each
field.;
#X restore 28 61 pd drawnumber-help-data;
#N canvas 115 43 428 526 drawnumber-help-template 0;
#X obj 23 121 drawnumber cat 0 0 0 cat=;
#X obj 23 92 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 22 454 struct drawnumber-help-template float x float y float
cat float dog float dog-vis;
#X obj 22 314 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 22 353 set drawnumber-help-template dog-vis;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [drawnumber] subpatch for data structure template;
#N canvas 115 239 426 147 init 0;
#X obj 14 57 pointer;
#X msg 14 35 traverse pd-drawnumber-help-data \, next;
#X obj 14 12 loadbang;
#X obj 14 80 outlet;
#X text 67 58 This just sends a pointer to the right inlet of the [set]
object;
#X text 257 39 the list);
#X text 255 27 (select the first scalar in;
#X connect 0 0 3 0;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X restore 235 331 pd init;
#X text 42 91 "0" makes both "cat" fields invisible;
#X text 40 311 "0" makes a single instance of a "dog" field invisible
;
#X obj 23 210 drawnumber -v dog-vis dog 0 -15 900 dog=;
#X text 20 29 [drawnumber] is used below to display the values of two
fields- "dog" and "cat". These two fields are defined in the template
"drawnumber-help-template" located at the bottom of this subpatch.
;
#X text 20 139 For the [drawnumber] object associated with "cat" above
\, a [toggle] is connected to the inlet. This toggles visibility globally
(i.e. \, for all existing scalars defined by the template "drawnumber-help-template").
;
#X text 21 229 The [drawnumber] object for "dog" above uses the -v
flag \, which can be used to set visibility for each scalar individually.
The (flag \, value) pair "-v dog-vis" means that the field "dog-vis"
determines whether "dog" will be visible in a given scalar. (If you
use the -v flag you can no longer use the inlet of this [drawsymbol]
object.);
#X text 19 372 With the [set] object \, we can change the value of
"dog-vis" in order to set visibility for the "dog" field. Notice when
you click the [toggle] \, it only affects one scalar-- the one which
the [set] object is currently pointing to (see the "init" subpatch).
;
#X text 19 487 This object defines the fields for this template. (Their
values were initialized when this help patch was created.);
#X connect 1 0 0 0;
#X connect 3 0 4 0;
#X connect 7 0 4 1;
#X restore 28 89 pd drawnumber-help-template;
#X obj 474 12 drawnumber;
#X text 99 464 When not in "edit" mode \, you can click and drag vertically
on the numbers to change their values. (In edit mode you can move \,
cut \, copy \, and paste the objects.);
#X text 201 89 <- click this subpatch to see how [drawnumber] is used.
;
#X text 179 59 <- subpatch to display the data structures;
#X text 11 23 display a numeric field of a template;
#X text 98 437 Note: you cannot use both the -n and -v flag.;
#X text 168 177 - a list will be truncated to the first element.;
#X text 80 253 0-2 flags;
#X text 168 304 - the field name of the number to draw.;
#X text 168 353 - RGB color (0=black \, 999=white \, 900=red \, 90=green
\, 9=blue \, 555=grey \, etc.).;
#X text 168 381 - (optional) label ("cat=" for instance).;
#X text 168 253 - "-n" flag to make the number invisible initially.
;
#X text 168 270 - a "-v [variable]" flag to assign a variable to make
the number visible/invisible.;
#X text 168 321 - relative x coordinate.;
#X text 168 337 - relative y coordinate.;
#X text 80 321 2) *;
#X text 80 337 3) *;
#X text 80 353 4) *;
#X text 80 304 1) *;
#X text 98 504 Keyboard entry is supported for [drawnumber] (but not
for [drawsymbol]) when not in editmode. Click a number to enter values
\, the click the enter key when you are finished.;
#X text 80 270 (symbol atoms);
#X text 80 381 5) symbol atom;
#X text 98 405 * Any of these can be numbers (float) or field names
(symbol atom).;
#X obj 98 542 pddp/pddplink drawsymbol-help.pd;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 318 542 pddp/pddplink ../4.data.structures/09.scaling.pd -text
doc/4.data.structure/09.scaling.pd;
#X obj 318 557 pddp/pddplink ../4.data.structures/10.onoff.pd -text
doc/4.data.structures/10.onoff.pd;
#X obj 98 572 pddp/pddplink all_about_z_order.pd;
#X obj 98 557 pddp/pddplink scalar-help.pd;
#N struct drawpolygon-help-template float x float y float weasel float
dog float cat float vis;
#N canvas 432 31 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header drawpolygon 3 12
0 18 -204280 -1 0;
#X obj 0 147 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 487 277 494 344 META 0;
#X text 12 85 LIBRARY internal;
#X text 12 125 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 145 RELEASE_DATE 2009-06-12;
#X text 12 25 LICENSE SIBSD;
#X text 12 105 AUTHOR Miller Puckette;
#X text 12 165 HELP_PATCH_AUTHORS This help patch was updated for Pd
version 0.35 test 28 by Dave Sabine as part of a project called pddp
proposed by Krzysztof Czaja to build comprehensive documentation for
Pd. Jonathan Wilkes revised the patch to conform to the PDDP template
for Pd version 0.42.;
#X text 12 5 KEYWORDS control data_structure;
#X text 12 45 DESCRIPTION display a polygon in a data structure instance
;
#X text 12 65 INLET_0 float;
#X restore 500 597 pd META;
#X obj 0 222 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 250 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 516 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#N canvas 216 468 428 156 Related_objects 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X obj 92 42 struct;
#X obj 142 42 drawpolygon;
#X obj 223 42 plot;
#X obj 17 42 drawsymbol;
#X obj 262 42 drawcurve;
#X text 7 78 Other Data Structure Objects;
#X obj 245 112 element;
#X obj 76 112 get;
#X obj 107 112 set;
#X obj 136 112 getsize;
#X obj 190 112 setsize;
#X obj 22 112 pointer;
#X text 7 1 [drawpolygon] Related Objects;
#X restore 101 597 pd Related_objects;
#X obj 78 156 cnv 17 3 55 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 99 157 float;
#X text 168 154 - [drawnumber] has a single inlet to toggle visibility
of the number. A zero makes it invisible. Any nonzero value makes it
visible.;
#X text 98 226 (none);
#X text 179 80 <- subpatch to display the data structures;
#X obj 473 10 drawpolygon;
#N canvas 23 258 428 340 drawpolygon-help-data 0;
#X scalar drawpolygon-help-template 101 41 0 60 100 1 \;;
#X scalar drawpolygon-help-template 301 44 1 80 100 1 \;;
#X obj 1 1 cnv 15 425 20 empty empty empty 20 12 2 14 -204280 -195568
0;
#X text 21 156 Three field values are used to draw these polygons.
The field "weasel" is used for the y-value of the top of the triangle
and the y-value of the top two points of the red "v". Fields "dog"
and "cat" are the top left and right x-values for the red "v".;
#X text 6 1 Window to Display Data Structures;
#X text 21 111 Each scalar consists of a set of numbers \, one triangle
\, and one red "v". In editmode you can click on a polygon to get a
blue bounding box around the scalar.;
#X text 21 226 In runmode you can click on each of these regions of
the polygons to alter their appearance. You may also scroll the displayed
values with the mouse to change them.;
#X text 21 276 Additionally \, you can right-click a scalar and select
"Properties" and edit the data in the text window that pops up.;
#X restore 28 82 pd drawpolygon-help-data;
#N canvas 102 75 428 563 drawpolygon-help-template 0;
#X obj 23 115 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#N canvas 69 268 428 162 init 0;
#X obj 20 75 pointer;
#X obj 20 99 outlet;
#X obj 20 30 loadbang;
#X msg 20 53 traverse pd-drawpolygon-help-data \, next;
#X obj 0 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 6 1 [drawpolygon] Initialization subpatch;
#X text 81 80 This just locates the first scalar in the subpatch "drawpolygon-help-data"
and outputs a pointer to it.;
#X connect 0 0 1 0;
#X connect 2 0 3 0;
#X connect 3 0 0 0;
#X restore 217 316 pd init;
#X obj 22 298 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [drawpolygon] subpatch;
#X obj 23 141 drawpolygon 0 4 0 40 40 40 20 weasel 0 40;
#X obj 22 27 struct drawpolygon-help-template float x float y float
weasel float dog float cat float vis;
#X text 42 114 "0" in inlet makes all instances of this polygon invisible
;
#X text 40 295 "0" in inlet makes a single instance of this polygon
invisible;
#X obj 22 340 set drawpolygon-help-template vis;
#X obj 23 491 drawnumber weasel -60 0 0 weasel=;
#X obj 23 511 drawnumber dog -60 15 0 dog=;
#X obj 23 532 drawnumber cat -60 30 0 cat=;
#X obj 23 199 drawpolygon -v vis 900 3 dog weasel 80 40 cat weasel
;
#X text 19 218 The next [drawpolygon] object uses the -v flag. This
flag controls visilibility of the polygon for only one instance of
a data structure. "-v vis" means that the value of field "vis" determines
whether the red "v" polygon is visible or not.;
#X text 19 360 Using the [set] object \, we can turn visibility on
and off for an instance of this polygon by changing the value of the
field "vis". Notice when you click the toggle above \, visibility only
changes for the red "v" furthest to the right. Once you use the -v
flag \, however \, you can no longer use the inlet to [drawpolygon]
to set visibility globally.;
#X text 19 447 Finally \, for convenience \, the following [drawnumber]
objects display the values of each field used in the drawing instructions
above:;
#X text 20 159 [drawpolygon] is used above to display a black triangle
and a red "v".;
#X text 19 60 The [struct] object defines the fields for this template.
You can see and edit the values by right-clicking the scalar in the
"data" subpatch and selecting "Properties.";
#X connect 0 0 5 0;
#X connect 1 0 9 1;
#X connect 2 0 9 0;
#X restore 28 109 pd drawpolygon-help-template;
#X text 98 471 Note: you cannot use the -n and -v flag together. When
using the -v flag \, the polygon is initially invisible by default.
;
#X text 99 519 When not in "edit" mode \, you can click on regions
of the polygon defined by template fields to stretch or alter the polygon's
shape.;
#X text 201 109 <- click this subpatch to see how [drawpolygon] is
used.;
#X text 11 23 display a polygon in a data structure instance;
#X text 168 195 - a list will be truncated to the first element.;
#X text 168 363 - RGB color (0=black \, 999=white \, 900=red \, 90=green
\, 9=blue \, 555=grey \, etc.);
#X text 168 390 - line width.;
#X text 168 414 - two or more (x \, y) pairs giving coordinates.;
#X text 168 270 - "-n" flag to make the polygon initially invisible.
;
#X text 168 289 - a "-v [variable]" flag to assign a variable to make
the polygon visible/invisible.;
#X text 80 390 2) *;
#X text 80 364 1) *;
#X text 80 414 n) *;
#X text 98 442 * Any of these can be numbers (float) or field names
(symbol atom).;
#X text 98 195 list;
#X text 80 309 (symbol atoms);
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 316 557 pddp/pddplink ../4.data.structures/09.scaling.pd -text
doc/4.data.structure/09.scaling.pd;
#X obj 316 572 pddp/pddplink ../4.data.structures/10.onoff.pd -text
doc/4.data.structures/10.onoff.pd;
#X obj 99 572 pddp/pddplink all_about_z_order.pd;
#X obj 99 557 pddp/pddplink scalar-help.pd;
#X text 80 270 0-3 flags;
#X text 80 290 (optional);
#X text 168 318 - "-x" flag to inhibit selecting the object when the
shape is clicked on in "edit" mode or clicked-and-dragged in "run mode".
;