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 3084 deletions
#N canvas 171 163 561 481 10;
#X obj 0 451 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 acoustics 3 12 0
18 -204280 -1 0;
#X obj 0 289 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 317 389 404 227 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 version 0.40. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 25 KEYWORDS control conversion MIDI;
#X text 12 5 NAME mtof ftom dbtorms rmstodb dbtopow powtodb;
#X text 12 65 DESCRIPTION control objects for conversion;
#X text 12 145 RELEASE_DATE 1997;
#X restore 500 453 pd META;
#X obj 0 359 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 392 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 421 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X obj 78 298 cnv 17 3 55 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 396 (none);
#N canvas 79 451 428 163 Related_objects 0;
#X text 19 37 Control objects for conversion:;
#X obj 59 66 dbtorms;
#X obj 113 66 rmstodb;
#X obj 167 66 dbtopow;
#X obj 222 66 powtodb;
#X obj 22 125 mtof~;
#X obj 67 125 ftom~;
#X obj 110 125 dbtorms~;
#X obj 175 125 rmstodb~;
#X obj 241 125 dbtopow~;
#X obj 303 125 powtodb~;
#X text 19 102 Signal objects for conversion:;
#X obj 22 66 mtof;
#X obj 0 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [ftom] Related Objects;
#X restore 221 453 pd Related_objects;
#X obj 78 368 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 297 float;
#X text 98 324 list;
#X text 98 368 float;
#X text 158 324 - lists will be truncated \, and the first element
will be used as input.;
#X obj 392 203 ftom;
#X obj 392 151 mtof;
#X floatatom 392 123 0 0 0 0 - - -;
#X floatatom 392 178 0 0 0 0 - - -;
#X floatatom 392 227 0 0 0 0 - - -;
#X floatatom 231 123 0 0 0 0 - - -;
#X floatatom 231 178 0 0 0 0 - - -;
#X floatatom 231 227 0 0 0 0 - - -;
#X obj 231 151 dbtorms;
#X obj 231 203 rmstodb;
#X floatatom 58 123 0 0 0 0 - - -;
#X floatatom 58 178 0 0 0 0 - - -;
#X floatatom 58 227 0 0 0 0 - - -;
#X obj 58 151 dbtopow;
#X obj 58 203 powtodb;
#X obj 258 10 mtof;
#X obj 294 10 ftom;
#X obj 330 11 dbtorms;
#X obj 386 11 rmstodb;
#X obj 440 11 dbtopow;
#X obj 497 11 powtodb;
#X text 11 23 control objects for conversion;
#X obj 110 150 pddp/pddplink dbtopow-help.pd -text dbtopow-help;
#X obj 110 204 pddp/pddplink powtodb-help.pd -text powtodb-help;
#X obj 282 150 pddp/pddplink dbtorms-help.pd -text dbtorms-help;
#X obj 282 204 pddp/pddplink rmstodb-help.pd -text rmstodb-help;
#X obj 426 150 pddp/pddplink ftom-help.pd -text ftom-help;
#X obj 426 204 pddp/pddplink mtof-help.pd -text mtof-help;
#X text 158 297 - the incoming value.;
#X obj 98 425 pddp/pddplink all_about_acoustic_conversions.pd;
#X text 87 79 Click on the links next to each object for more help:
;
#X obj 4 453 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X connect 15 0 19 0;
#X connect 16 0 18 0;
#X connect 17 0 16 0;
#X connect 18 0 15 0;
#X connect 20 0 23 0;
#X connect 21 0 24 0;
#X connect 23 0 21 0;
#X connect 24 0 22 0;
#X connect 25 0 28 0;
#X connect 26 0 29 0;
#X connect 28 0 26 0;
#X connect 29 0 27 0;
#N canvas 426 33 558 622 10;
#X obj 0 595 cnv 15 550 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 550 40 empty \$0-pddp.cnv.header (acoustics~) 3 12
0 18 -204280 -1 0;
#X obj 0 424 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 569 391 408 239 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 version 0.40. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 25 KEYWORDS signal conversion MIDI;
#X text 12 65 DESCRIPTION signal objects for conversion;
#X text 12 5 NAME mtof~ ftom~ dbtorms~ rmstodb~ dbtopow~ powtodb~;
#X text 12 145 RELEASE_DATE 1997;
#X restore 500 597 pd META;
#X obj 0 499 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 536 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 565 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X obj 78 433 cnv 17 3 55 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 540 (none);
#N canvas 339 468 428 163 Related_objects 0;
#X text 19 37 Control objects for conversion:;
#X obj 59 66 dbtorms;
#X obj 113 66 rmstodb;
#X obj 167 66 dbtopow;
#X obj 222 66 powtodb;
#X obj 22 125 mtof~;
#X obj 67 125 ftom~;
#X obj 110 125 dbtorms~;
#X obj 175 125 rmstodb~;
#X obj 241 125 dbtopow~;
#X obj 303 125 powtodb~;
#X text 19 102 Signal objects for conversion:;
#X obj 22 66 mtof;
#X obj 0 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 (acoustics) Related Objects;
#X restore 223 598 pd Related_objects;
#X obj 78 508 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 11 23 signal objects for conversion;
#X text 98 432 signal;
#X text 98 508 signal;
#X text 158 508 - the outgoing signal.;
#X text 158 432 - the incoming signal.;
#X floatatom 68 136 0 0 0 0 - - -;
#X obj 68 160 dbtopow~;
#X obj 67 217 snapshot~;
#X floatatom 67 246 0 0 0 0 - - -;
#X obj 67 294 powtodb~;
#X obj 67 341 snapshot~;
#X floatatom 67 368 0 0 0 0 - - -;
#X obj 237 11 mtof~;
#X obj 276 11 ftom~;
#X obj 315 11 dbtorms~;
#X obj 372 11 rmstodb~;
#X obj 429 11 dbtopow~;
#X obj 486 11 powtodb~;
#X floatatom 248 136 0 0 0 0 - - -;
#X obj 247 217 snapshot~;
#X floatatom 247 246 0 0 0 0 - - -;
#X obj 247 341 snapshot~;
#X floatatom 247 368 0 0 0 0 - - -;
#X obj 248 160 dbtorms~;
#X obj 247 294 rmstodb~;
#X floatatom 418 136 0 0 0 0 - - -;
#X obj 417 217 snapshot~;
#X floatatom 417 246 0 0 0 0 - - -;
#X obj 417 341 snapshot~;
#X floatatom 417 368 0 0 0 0 - - -;
#X obj 418 160 ftom~;
#X obj 417 294 mtof~;
#X obj 29 190 bang~;
#X obj 209 190 bang~;
#X obj 379 190 bang~;
#X obj 438 180 pddp/pddplink ftom~-help.pd -text ftom~-help;
#X obj 88 314 pddp/pddplink powtodb~-help.pd -text powtodb~-help;
#X obj 268 314 pddp/pddplink rmstodb~-help.pd -text rmstodb~-help;
#X obj 438 314 pddp/pddplink mtof~-help.pd -text mtof~-help;
#X obj 268 180 pddp/pddplink dbtorms~-help.pd -text dbtorms~-help;
#X obj 88 180 pddp/pddplink dbtopow~-help.pd -text dbtopow~-help;
#X text 98 452 float;
#X text 158 452 - an incoming float will be converted to a signal.
;
#X text 98 472 list;
#X text 158 472 - a list will be truncated to the first element.;
#X obj 98 569 pddp/pddplink all_about_acoustic_conversions.pd;
#X text 97 96 Click on the links under each object for more help:;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 455 51 pddp/dsp;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 21 0 22 0;
#X connect 29 0 34 0;
#X connect 30 0 31 0;
#X connect 31 0 35 0;
#X connect 32 0 33 0;
#X connect 34 0 30 0;
#X connect 35 0 32 0;
#X connect 36 0 41 0;
#X connect 37 0 38 0;
#X connect 38 0 42 0;
#X connect 39 0 40 0;
#X connect 41 0 37 0;
#X connect 42 0 39 0;
#X connect 43 0 18 0;
#X connect 43 0 21 0;
#X connect 44 0 30 0;
#X connect 44 0 32 0;
#X connect 45 0 37 0;
#X connect 45 0 39 0;
#N canvas 427 35 559 624 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 (adc~/dac~) 3 12
0 18 -204280 -1 0;
#N canvas 568 408 402 224 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 Dave Sabine \, May 5 \, 2003 . Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 25 KEYWORDS signal conversion;
#X text 12 5 NAME adc~ dac~;
#X text 12 145 RELEASE_DATE 1997;
#X text 12 65 DESCRIPTION audio input/output;
#X restore 501 597 pd META;
#X obj 0 508 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#N canvas 205 462 428 165 Related_objects 0;
#X obj 22 43 dac~;
#X obj 62 43 switch~;
#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 [adc~] Related Objects;
#X text 19 74 Externals;
#X obj 173 43 throw~;
#X obj 225 43 catch~;
#X obj 277 43 send~;
#X obj 321 43 receive~;
#X obj 19 94 pddp/helplink pdogg/oggcast~;
#X obj 19 114 pddp/helplink unauthorized/mp3cast~;
#X text 18 136 [shoutcast~] (What library is this in?);
#X obj 119 43 block~;
#X text 19 66;
#X text 115 43;
#X restore 102 597 pd Related_objects;
#X obj 469 10 adc~;
#X obj 5 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#N canvas 44 65 428 471 Multi-channel_audio 0;
#X text 19 38 All sound cards are capable of at least two channels
of audio. Pd supports these two channels by default and uses your system's
generic audio drivers to communicate with your hardware. However \,
for faster input/output and for more than two channels of audio \,
PD incorporates the use of "PortAudio" which uses ASIO drivers to communicate
with your hardware. So \, to instruct Pd to use more than two channels
of audio \, your command line should read like below:;
#X text 80 145 c:/pd/bin/pd.exe -pa -inchannels 8 -outchannels 8;
#X text 19 174 The "-pa" switch means "PortAudio". This switch is new
as of Pd version 0.37 TEST 4 and replaces the old "-asio" switch.;
#X text 19 234 The "-inchannels" and "-outchannels" switches can be
summarized by using "-channels 8" because currently PortAudio requires
that the number of incoming and outgoing channels must be equal. This
may change in the Pd's future...;
#X text 19 314 To further optimize Pd's usage of your audio hardware
\, you can explore the following:;
#X text 29 355 - audiobuf;
#X text 30 373 - blocksize;
#X text 29 389 - audioindev;
#X text 29 407 - audiooutdev;
#X text 25 433 With the right hardware \, Pd can manage audio input
and output with lower than 10 milliseconds of latency.;
#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 [dac~] Multi-channel Audio;
#X restore 102 542 pd Multi-channel_audio;
#N canvas 84 179 428 341 sample_rate 0;
#X text 19 37 [adc~] and [dac~] always operate at the sample rate that
is specified in Pd's command line. By default \, the sample rate is
44100 hz. But Pd operates any sample rate supported by standard audio
hardware. Sample rates cannot be changed at run-time in Pd \, but must
be stated in the command line when Pd is instantiated. As well \, two
or more instances of Pd running simoultaneously can each be using different
sample rates! Having said that \, Pd can easily upsample or downsample
by using the [block~] object. Here are some example of the common sample
rates:;
#X text 19 191 c:/pd/bin/pd.exe -r 11025;
#X text 19 221 c:/pd/bin/pd.exe -r 22050;
#X text 19 281 c:/pd/bin/pd.exe -r 88200;
#X text 19 176 c:/pd/bin/pd.exe -r 8000;
#X text 19 206 c:/pd/bin/pd.exe -r 16000;
#X text 19 236 c:/pd/bin/pd.exe -r 32000;
#X text 19 251 c:/pd/bin/pd.exe -r 44100 CD Quality;
#X text 19 266 c:/pd/bin/pd.exe -r 48000 DAT Quality;
#X text 19 311 c:/pd/bin/pd.exe -r 192000 DVD-Audio Quality;
#X text 19 296 c:/pd/bin/pd.exe -r 96000 DVD-Video/Audio Quality;
#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 [dac~] Sample Rate;
#X restore 102 517 pd sample_rate;
#N canvas 59 444 428 117 defeating_audio_computation 0;
#X text 19 37 There may be cases when you do not want Pd to send or
receive audio signal with your soundcard. You can manually disable
the [dac~] and [adc~] objects separately using the "-nodac" and "-noadc"
switch \, or disable both using the "-nosound" switch.;
#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 [dac~] -nodac and -noadc;
#X restore 102 567 pd defeating_audio_computation;
#X obj 509 10 adc~;
#X text 12 23 audio input/output;
#X obj 101 107 pddp/pddplink adc~-help.pd;
#X text 98 56 [adc~] and [dac~] provide real-time audio input and output
for Pd \, respectively \, whether analog or digital. Click below for
the individual help patches:;
#X obj 101 127 pddp/pddplink dac~-help.pd;
#N canvas 431 60 448 545 10;
#X obj 1 1 cnv 15 445 20 empty \$0-pddp.cnv.header expr_operators_and_functions
20 10 1 18 -261106 -33289 0;
#X obj 407 2 pddp/pddplink http://puredata.info/dev/pddp -text pddp
;
#X floatatom 140 881 5 0 0 0 - - -, f 5;
#X floatatom 188 880 5 0 0 0 - - -, f 5;
#X obj 140 901 v a;
#X obj 188 901 v b;
#X obj 36 794 expr max(a \, b);
#X obj 22 774 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 795 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 711 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 732 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 753 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X floatatom 36 880 0 0 0 0 - - -;
#X obj 22 990 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 1010 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1030 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1050 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1070 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1090 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1110 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1130 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1150 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 816 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 1171 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 837 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 858 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X floatatom 36 1200 0 0 0 0 - - -;
#X obj 36 773 expr min(a \, b);
#X obj 36 710 expr int(a);
#X obj 36 731 expr rint(a);
#X obj 36 752 expr float(a);
#X obj 36 1129 expr tanh(a);
#X obj 36 1149 expr fact(a);
#X obj 36 815 expr abs(a);
#X obj 36 857 expr modf(a);
#N canvas 0 0 450 300 (subpatch) 0;
#X array expr_array 11 float 3 black black;
#A 0 -0.707106 0 0.707106 1 0.707108 2.65359e-06 -0.707104 -1 -0.70711
-5.30718e-06 0.707103;
#X coords 0 1 11 -1 80 60 1;
#X restore 22 1757 graph;
#X obj 22 1844 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1864 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1884 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1904 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1924 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1944 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 36 1971 0 0 0 0 - - -;
#X text 185 1842 size of an array;
#X text 24 1620 * Bug: floor and ceiling must take two values to initialize
properly. You can just put a zero as the second value.;
#X text 9 1171 *;
#X text 9 837 *;
#X text 185 1861 sum of all elements in an array;
#X text 206 1903 average of all elements;
#X text 138 772 minimum;
#X text 138 793 maximum;
#X text 138 709 convert to integer;
#X text 138 730 round a float to a nearby integer;
#X text 138 751 convert to float;
#X text 4 753 **;
#X text 24 1646 ** Bug: float(a) converts a to an integer;
#X text 149 1127 hyperbolic tangent;
#X text 149 1147 factorial;
#X text 127 835 get signed integer value from floating point number
;
#X floatatom 120 504 5 0 0 0 - - -, f 5;
#X floatatom 168 503 5 0 0 0 - - -, f 5;
#X obj 120 524 v a;
#X obj 168 524 v b;
#X floatatom 36 503 0 0 0 0 - - -;
#X text 117 123 One's complement;
#X text 117 143 Multiply;
#X text 117 183 Modulo;
#X text 117 203 Add;
#X text 117 223 Subtract;
#X text 117 243 Shift Left;
#X text 117 263 Shift Right;
#X text 117 283 Less than (boolean);
#X text 117 303 Less than or equal (boolean);
#X text 117 323 Greater than (boolean);
#X text 117 343 Greater than or equal (boolean);
#X text 117 363 Equal (boolean);
#X text 117 383 Not equal (boolean);
#X text 117 403 Bitwise And;
#X text 117 423 Exclusive Or;
#X text 117 443 Bitwise Or;
#X text 117 463 Logical And (boolean);
#X text 117 483 Logical Or (boolean);
#X text 117 163 Divide (division by zero detected);
#X text 138 815 absolute value;
#X obj 22 613 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 36 612 expr if(a \, b \, c);
#X floatatom 238 880 5 0 0 0 - - -, f 5;
#X obj 238 901 v c;
#X text 147 637 (See expr-if subpatch for more details);
#X text 117 855 get signed fractional value from floating point number
;
#X floatatom 152 1201 5 0 0 0 - - -, f 5;
#X floatatom 200 1200 5 0 0 0 - - -, f 5;
#X obj 152 1221 v a;
#X obj 200 1221 v b;
#X obj 22 664 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 36 663 expr random(a \, b);
#X obj 36 989 expr pow(a \, b);
#X text 149 987 raise a to the power of b;
#X obj 36 1009 expr sqrt(a);
#X text 149 1007 square root;
#X obj 36 1029 expr exp(a);
#X text 149 1027 e raised to the power of a;
#X obj 36 1049 expr ln(a);
#X text 149 1047 natural log;
#X obj 36 1069 expr log(a);
#X text 149 1067 natural log (same as above);
#X obj 36 1089 expr log10(a);
#X text 149 1087 log base 10;
#X obj 36 1109 expr fact(a);
#X text 149 1107 factorial;
#X obj 36 1170 expr ldexp(a);
#X obj 22 1310 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1330 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1350 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1370 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1390 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1410 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1430 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1450 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1470 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1491 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 36 1575 0 0 0 0 - - -;
#X text 9 1511 *;
#X floatatom 152 1575 5 0 0 0 - - -, f 5;
#X floatatom 200 1574 5 0 0 0 - - -, f 5;
#X obj 152 1595 v a;
#X obj 200 1595 v b;
#X obj 36 1309 expr sin(a);
#X text 149 1307 sine;
#X obj 36 1329 expr cos(a);
#X text 149 1327 cosine;
#X obj 36 1349 expr tan(a);
#X text 149 1347 tangent;
#X obj 36 1369 expr asin(a);
#X text 149 1367 arc sine;
#X obj 36 1389 expr acos(a);
#X text 149 1387 arc cosine;
#X obj 36 1409 expr atan(a);
#X text 149 1407 arc tangent;
#X obj 36 1429 expr atan2(a \, b);
#X text 149 1427 arc tangent of 2 variables;
#X obj 36 1449 expr sinh(a);
#X text 149 1447 hyperbolic sine;
#X obj 36 1469 expr cosh(a);
#X text 149 1467 hyperbolic cosine;
#X obj 22 1512 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1532 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1552 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 36 1490 expr tanh(a);
#X text 149 1487 hyperbolic tangent;
#X obj 36 1511 expr floor(a \, 0);
#X text 149 1509 largest integral value not greater than argument;
#X obj 36 1531 expr ceil(a \, 0);
#X text 149 1529 smallest integral value not less than argument;
#X text 149 1549 floating-point remainder function;
#X obj 36 1551 expr fmod(a \, b);
#X text 9 1531 *;
#X obj 22 144 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 164 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 184 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 204 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 224 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 244 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 264 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 284 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 304 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 324 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 344 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 364 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 384 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 404 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 424 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 36 143 expr a * b;
#X obj 36 163 expr a / b;
#X obj 36 183 expr a % b;
#X obj 36 203 expr a + b;
#X obj 36 223 expr a - b;
#X obj 36 243 expr a << b;
#X obj 36 263 expr a >> b;
#X obj 36 283 expr a < b;
#X obj 36 303 expr a <= b;
#X obj 36 323 expr a > b;
#X obj 36 343 expr a >= b;
#X obj 36 363 expr a == b;
#X obj 36 383 expr a != b;
#X obj 36 403 expr a & b;
#X obj 36 423 expr a ^ b;
#X obj 22 444 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 36 443 expr a | b;
#X obj 22 464 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 36 463 expr a && b;
#X obj 22 484 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 36 483 expr a || b;
#X obj 22 124 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 36 123 expr a ~ b;
#X obj 36 836 expr imodf(a);
#X floatatom 131 1971 5 0 0 0 - - -, f 5;
#X floatatom 179 1970 5 0 0 0 - - -, f 5;
#X obj 131 1991 v a;
#X obj 179 1991 v b;
#X text 18 2277 cbrt(a);
#X text 18 2297 erf(a);
#X text 18 2317 erfc(a);
#X text 18 2357 loglp(a);
#X text 18 2377 isinf(a);
#X text 18 2397 finite(a);
#X text 18 2417 isnan(a);
#X text 18 2457 drem(a);
#X text 18 2477 asinh(a);
#X text 18 2497 acosh(a);
#X text 18 2517 atanh(a);
#X text 98 2277 cube root;
#X text 98 2297 error function;
#X text 98 2317 complementary error function;
#X text 18 2337 expm1(a);
#X text 98 2337 exponential minus 1;
#X text 98 2357 logarithm of 1 plus;
#X text 98 2377 is the value infinite;
#X text 98 2397 is the value finite;
#X text 98 2417 is the value not a number;
#X text 98 2437 copy the sign of a number;
#X text 98 2457 floating-point remainder function;
#X text 98 2477 inverse hyperbolic sine;
#X text 98 2497 inverse hyperbolic cosine;
#X text 98 2517 inverse hyperbolic tangent;
#X obj 36 1843 expr size("expr_array");
#X text 242 524 ***Scroll Down for more***;
#X obj 1 572 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12
0 14 -261106 -33289 0;
#X obj 1 949 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12
0 14 -261106 -33289 0;
#X obj 1 1269 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12
0 14 -261106 -33289 0;
#X text 7 1269 Trigonometric Functions;
#X text 7 949 Power Functions;
#X text 7 572 General Purpose Functions;
#X obj 1 1705 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12
0 14 -261106 -33289 0;
#X text 7 1705 Array/Table Functions;
#X obj 1 2241 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12
0 14 -261106 -33289 0;
#X text 7 2241 Functions Not Available in Windows;
#X text 148 612 conditional \; if (condition \, ifTrue-expr \, ifFalse-expr)
;
#X text 147 663 random number between a and b. The value will;
#X text 148 676 be less than the upper boundary and greater;
#X text 148 688 than or equal to the lower boundary.;
#X text 149 1180 power of 2;
#X text 149 1167 multiply floating-point number by integral;
#X text 217 1882 sum of an array within boundaries;
#X text 219 1922 average of elements within boundaries;
#X text 239 1942 store a value in an array;
#X text 239 1955 ("array_name" \, index \, value);
#X text 19 2032 Note: the quotation marks inside the parentheses are
also required when using a variable \, like "$s2". When using array/table
names like "array-name" or "\$0-table" \, use a variable-- otherwise
the dash and the \$0 will get interpreted as an operator and a value
\, respectively.;
#X obj 35 2131 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 35 2195 5 0 0 0 - - -, f 5;
#X obj 35 2150 symbol \$0-expr-array;
#X obj 35 2172 expr size("$s1");
#X obj 36 1863 expr sum("expr_array");
#X text 19 2096 For a table name like "\$0-array2" \, send the array
name as a message:;
#X text 239 1981 than the size of the table \,;
#X text 239 1968 If the index is greater;
#X text 240 1994 a modulo the size of the;
#X text 240 2007 table is made.;
#X text 109 1790 Note: The array name in [expr] must be in quotes;
#X text 146 1803 when using these functions.;
#X text 109 1816 (even when for a variable like "$s2");
#X obj 36 1883 expr Sum("expr_array" \, 6 \, 0);
#X obj 36 1903 expr avg("expr_array");
#X obj 36 1923 expr Avg("expr_array" \, 1 \, 3);
#X obj 36 1943 expr store("expr_array" \, 0 \, 3);
#X text 254 2439 ***;
#X text 17 2540 *** bug: copysign is spelled "copysig" in the source
;
#X text 18 2437 copysign(a);
#X obj 1 82 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12
0 14 -261106 -33289 0;
#X text 19 37 The following operators and functions are available as
arguments to the [expr] \, [expr~] \, and [fexpr~] objects.;
#X text 7 82 Operators (from highest to lowest precedence);
#X obj 1 2568 cnv 15 445 20 empty \$0-pddp.cnv.footer empty 20 12 0
14 -233017 -33289 0;
#N canvas 375 387 494 164 META 0;
#X text 12 105 HELP_PATCH_AUTHORS Dave Sabine \, May 5 \, 2003 . Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 85 LIBRARY PDDP;
#X text 12 45 DESCRIPTION complete list of functions and operators
for expr family objects;
#X text 12 25 KEYWORDS expr expr~ fexpr~ all_about_pd;
#X restore 392 2570 pd META;
#N canvas 218 414 428 140 Related_objects 0;
#X obj 0 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -261106 -33289 0;
#X text 6 1 [expr] Functions and Operators- Related Objects;
#X restore 103 2570 pd Related_objects;
#X obj 6 2570 pddp/pddplink all_about.pd -text All About Pd;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 6 0 12 0;
#X connect 7 0 27 0;
#X connect 8 0 6 0;
#X connect 9 0 28 0;
#X connect 10 0 29 0;
#X connect 11 0 30 0;
#X connect 13 0 96 0;
#X connect 14 0 98 0;
#X connect 15 0 100 0;
#X connect 16 0 102 0;
#X connect 17 0 104 0;
#X connect 18 0 106 0;
#X connect 19 0 108 0;
#X connect 20 0 31 0;
#X connect 21 0 32 0;
#X connect 22 0 33 0;
#X connect 23 0 110 0;
#X connect 24 0 195 0;
#X connect 25 0 34 0;
#X connect 27 0 12 0;
#X connect 28 0 12 0;
#X connect 29 0 12 0;
#X connect 30 0 12 0;
#X connect 31 0 26 0;
#X connect 32 0 26 0;
#X connect 33 0 12 0;
#X connect 34 0 12 0;
#X connect 36 0 225 0;
#X connect 37 0 252 0;
#X connect 38 0 261 0;
#X connect 39 0 262 0;
#X connect 40 0 263 0;
#X connect 41 0 264 0;
#X connect 59 0 61 0;
#X connect 60 0 62 0;
#X connect 84 0 85 0;
#X connect 85 0 12 0;
#X connect 86 0 87 0;
#X connect 90 0 92 0;
#X connect 91 0 93 0;
#X connect 94 0 95 0;
#X connect 96 0 26 0;
#X connect 98 0 26 0;
#X connect 100 0 26 0;
#X connect 102 0 26 0;
#X connect 104 0 26 0;
#X connect 106 0 26 0;
#X connect 108 0 26 0;
#X connect 110 0 26 0;
#X connect 111 0 127 0;
#X connect 112 0 129 0;
#X connect 113 0 131 0;
#X connect 114 0 133 0;
#X connect 115 0 135 0;
#X connect 116 0 137 0;
#X connect 117 0 139 0;
#X connect 118 0 141 0;
#X connect 119 0 143 0;
#X connect 120 0 148 0;
#X connect 123 0 125 0;
#X connect 124 0 126 0;
#X connect 127 0 121 0;
#X connect 129 0 121 0;
#X connect 131 0 121 0;
#X connect 133 0 121 0;
#X connect 135 0 121 0;
#X connect 137 0 121 0;
#X connect 139 0 121 0;
#X connect 141 0 121 0;
#X connect 143 0 121 0;
#X connect 145 0 150 0;
#X connect 146 0 152 0;
#X connect 147 0 155 0;
#X connect 148 0 121 0;
#X connect 150 0 121 0;
#X connect 152 0 121 0;
#X connect 155 0 121 0;
#X connect 157 0 172 0;
#X connect 158 0 173 0;
#X connect 159 0 174 0;
#X connect 160 0 175 0;
#X connect 161 0 176 0;
#X connect 162 0 177 0;
#X connect 163 0 178 0;
#X connect 164 0 179 0;
#X connect 165 0 180 0;
#X connect 166 0 181 0;
#X connect 167 0 182 0;
#X connect 168 0 183 0;
#X connect 169 0 184 0;
#X connect 170 0 185 0;
#X connect 171 0 186 0;
#X connect 172 0 63 0;
#X connect 173 0 63 0;
#X connect 174 0 63 0;
#X connect 175 0 63 0;
#X connect 176 0 63 0;
#X connect 177 0 63 0;
#X connect 178 0 63 0;
#X connect 179 0 63 0;
#X connect 180 0 63 0;
#X connect 181 0 63 0;
#X connect 182 0 63 0;
#X connect 183 0 63 0;
#X connect 184 0 63 0;
#X connect 185 0 63 0;
#X connect 186 0 63 0;
#X connect 187 0 188 0;
#X connect 188 0 63 0;
#X connect 189 0 190 0;
#X connect 190 0 63 0;
#X connect 191 0 192 0;
#X connect 192 0 63 0;
#X connect 193 0 194 0;
#X connect 194 0 63 0;
#X connect 195 0 12 0;
#X connect 196 0 198 0;
#X connect 197 0 199 0;
#X connect 225 0 42 0;
#X connect 248 0 250 0;
#X connect 250 0 251 0;
#X connect 251 0 249 0;
#X connect 252 0 42 0;
#X connect 261 0 42 0;
#X connect 262 0 42 0;
#X connect 263 0 42 0;
#X connect 264 0 42 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 append 3 12 0 18
-204280 -1 0;
#X obj 0 226 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 563 355 411 274 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.4. 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 105 INLET_R pointer;
#X text 12 125 OUTLET_0 pointer;
#X text 12 65 INLET_0 float list;
#X text 12 85 INLET_N float;
#X text 12 205 RELEASE_DATE 1997;
#X text 12 45 DESCRIPTION add a scalar to a canvas;
#X restore 500 597 pd META;
#X obj 0 392 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 436 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 527 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X obj 78 319 cnv 17 3 35 empty \$0-pddp.cnv.let.n n 5 9 0 16 -228856
-162280 0;
#X obj 78 235 cnv 17 3 78 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 319 float;
#N canvas 214 524 428 101 Related_objects 0;
#X obj 14 38 get;
#X obj 46 38 set;
#X obj 136 38 getsize;
#X obj 193 38 setsize;
#X obj 121 63 element;
#X obj 13 64 sublist;
#X obj 79 38 pointer;
#X obj 69 63 struct;
#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 [append] Related Objects;
#X restore 101 597 pd Related_objects;
#X obj 498 12 append;
#N canvas 116 162 428 109 help-append-template1 0;
#X obj 22 69 filledpolygon z z 0 0 0 20 0 20 30 0 30;
#X obj 22 42 struct help-append-template1 float x float y float z;
#X obj 0 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [append] Template for "help-append-template1";
#X restore 372 196 pd help-append-template1;
#N canvas 554 168 428 207 help-append-data 0;
#X obj 0 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [append] Data Window;
#X restore 372 174 pd help-append-data;
#X obj 281 104 pointer;
#X msg 281 80 traverse pd-help-append-data \, bang;
#X obj 80 152 append help-append-template1 x y z;
#X floatatom 80 95 5 26 400 0 - - -, f 5;
#X obj 80 115 t f f;
#X msg 372 138 \; pd-help-append-data clear;
#X text 98 234 float;
#X text 98 264 list;
#X obj 78 401 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 401 pointer;
#X obj 78 360 cnv 17 3 27 empty \$0-pddp.cnv.let.r r 5 9 0 16 -228856
-162280 0;
#X text 98 360 pointer;
#X text 98 531 You may append objects of different templates using
different [append] objects.;
#X text 168 360 - the final inlet takes a pointer to a scalar (or to
the head of a list).;
#X text 168 234 - a float to the left inlet initializes the field(s)
of a scalar and appends the scalar to a glist.;
#X text 168 264 - a list to the first inlet is distributed among the
inlets of [append]. In the example above \, you can use the message
box to assign the values "5" \, "6" \, and "7" to fields "x" \, "y"
\, and "z" \, respectively.;
#X text 168 319 - an additional inlet is created for each field specified
by the creation arguments. A float sent to one of these inlets will
be stored for later use.;
#X text 168 401 - after [append] receives a value at its left inlet
\, it outputs a pointer to the new scalar that has been created.;
#X text 15 74 2) ...then here;
#X text 224 174 3) result is in here ->;
#X text 279 56 1) go to (and output) "head" of the list;
#X text 168 482 - all subsequent arguments are names of fields to initialize.
At least one field must be specified in order to append a new scalar.
;
#X text 80 455 1) symbol atom;
#X text 80 482 n) symbol atom;
#X text 168 455 - a [struct] name that specifies the template of a
new scalar to append.;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 98 572 pddp/pddplink ../4.data.structures/04.append.pd -text
doc/4.data.structures/04.append.pd;
#X obj 98 557 pddp/pddplink all_about_z_order.pd;
#X obj 325 557 pddp/pddplink scalar-help.pd;
#X text 11 23 add a scalar to a canvas;
#X msg 18 95 10 75 2;
#X connect 14 0 16 3;
#X connect 15 0 14 0;
#X connect 17 0 18 0;
#X connect 18 0 16 0;
#X connect 18 1 16 1;
#X connect 18 1 16 2;
#X connect 44 0 16 0;
#N canvas 430 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 bag 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 562 360 414 263 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 Updated for Pd v0.41. Revised by
Jonathan Wilkes to conform to the PDDP template for Pd version 0.42.
;
#X text 12 45 DESCRIPTION collection of numbers;
#X text 12 85 INLET_1 float;
#X text 12 105 OUTLET_0 float;
#X text 12 65 INLET_0 float list flush clear;
#X text 12 5 KEYWORDS control storage list_op;
#X text 12 185 RELEASE_DATE 2009;
#X restore 500 597 pd META;
#X obj 0 495 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 538 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 text 98 542 (none);
#N canvas 225 510 428 109 Related_objects 0;
#X obj 62 43 makenote;
#X obj 22 43 poly;
#X obj 123 43 list;
#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 [bag] Related Objects;
#X restore 102 598 pd Related_objects;
#X obj 79 297 cnv 17 3 130 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 296 float;
#X text 98 353 list;
#X text 98 503 float;
#X obj 79 504 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 79 440 cnv 17 3 45 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 439 float;
#X text 98 383 flush;
#X text 98 413 clear;
#X text 168 383 - output all values one by one \, in the order they
were received \, and clear the collection.;
#X text 168 503 - upon sending the "flush" message to the left inlet
\, [bag] will output each value in the order it was received.;
#X text 99 570 You can use [bag] to mimic a sustain pedal \, for example.
;
#X msg 162 88 60 64;
#X msg 213 88 60 0;
#X msg 257 88 62 64;
#X msg 304 88 62 0;
#X obj 162 215 print;
#X text 207 216 Output is in the printout window.;
#X msg 304 134 clear;
#X msg 303 111 flush;
#X obj 162 185 bag;
#X text 168 353 - a (value \, flag) pair is distributed to the two
inlets. Lists with more than two elements will be truncated.;
#X text 11 23 collection of numbers;
#X obj 518 10 bag;
#X text 168 413 - clear the collection.;
#X text 167 439 - a float to the right inlet sets the "flag": if zero
\, values to the left inlet will not be added to the collection. If
nonzero \, values to the right inlet will be added to the collection.
;
#X text 168 296 - a float to the left inlet will be added to the collection
if the last value the right inlet received was nonzero. If the last
value the right inlet received was zero \, the float sent to the right
inlet will be removed from the collection.;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X connect 21 0 29 0;
#X connect 22 0 29 0;
#X connect 23 0 29 0;
#X connect 24 0 29 0;
#X connect 27 0 29 0;
#X connect 28 0 29 0;
#X connect 29 0 25 0;
#N canvas 428 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 bang 3 12 0 18 -204280
-1 0;
#X obj 0 329 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 570 331 408 299 META 0;
#X text 12 125 LIBRARY internal;
#X text 12 165 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 45 LICENSE SIBSD;
#X text 12 145 AUTHOR Miller Puckette;
#X text 12 205 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. Revised by Jonathan Wilkes to conform to the PDDP template for
Pd version 0.42.;
#X text 12 65 DESCRIPTION output a "bang" message whatever the input
;
#X text 12 85 INLET_0 anything;
#X text 12 105 OUTLET_0 bang;
#X text 12 5 ALIAS b;
#X text 12 25 KEYWORDS control bang_op;
#X text 12 185 RELEASE_DATE 2009;
#X restore 500 597 pd META;
#X obj 0 373 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 409 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 437 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X obj 78 338 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 413 (none);
#N canvas 215 518 428 108 Related_objects 0;
#X obj 21 42 trigger;
#X obj 191 43 loadbang;
#X msg 91 43;
#X obj 262 43 until;
#X obj 144 43 bang;
#X obj 312 43 metro;
#X obj 0 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [bang] Related Objects;
#X restore 101 598 pd Related_objects;
#X text 98 381 bang;
#X obj 78 381 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 468 11 bang;
#X obj 139 224 print;
#X msg 152 171 walk the cat;
#X msg 139 145 45;
#X obj 139 199 bang;
#X obj 288 199 print;
#X msg 288 147 walk the cat;
#X obj 288 175 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 310 173 <- gui "bng" object;
#X text 98 337 anything;
#N canvas 57 48 428 509 More_bang_objects 0;
#X obj 23 42 bang;
#X obj 66 42 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 43 116 bang;
#X text 20 115 1;
#X text 19 172 2;
#X obj 43 173 bng 15 250 50 0 empty empty empty 18 7 0 8 -262144 -1
-1;
#X text 178 42 - sending "bang" messages;
#X obj 140 42 t b;
#X msg 92 42 bang;
#X text 19 288 3;
#X msg 45 289 bang;
#X msg 98 342 bang \, bang;
#X obj 98 368 f;
#X obj 131 368 + 1;
#X floatatom 98 393 5 0 0 0 - - -, f 5;
#X msg 46 342 bang;
#X text 19 418 4;
#X obj 43 419 trigger bang;
#X text 151 419 Abbrevation:;
#X obj 253 419 t b;
#X obj 271 471 b;
#X text 43 138 This version uses minimal CPU but serves essentially
the same purpose as the GUI version below.;
#X text 42 309 The word "bang" in a message box (CTRL+2) makes a clickable
bang object. Use commas to send multiple messages:;
#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 [bang] Common Objects for Sending bang Messages;
#X text 20 65 The [bang] object is one of the basic building blocks
of PD and is normally used to activate events. The four basic ways
to send a "bang" message are:;
#X text 42 441 When given a single argument of "bang" \, the trigger
object is essentially the same as #1 above \, so in this case it's
preferable (and less typing) to use:;
#X text 67 174 a.k.a. [bng];
#X text 42 191 This version uses a little more CPU than its cousin
because it lights up when it receives a message or is clicked on and
can be coloured \, resized \, or renamed. It is sometimes 'friendlier'
as well because it can act as its own send and receive object (see
properties...). This object can be put in a Pd patch either by keyboard
shortcut: ALT+SHIFT+B or by creating an object (CTRL+1) and naming
it "bng".;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 12 0 14 0;
#X connect 13 0 12 1;
#X connect 15 0 12 0;
#X restore 100 473 pd More_bang_objects;
#X text 98 441 Many objects in Pd output a "bang" message. Click the
subpatch below to read about the most common ones:;
#X obj 100 569 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 98 498 It is important to note that "bang" is not boolean.
It's neither a zero or a one \; it's not true or false \; it's just
"bang". For a boolean object \, you should check out [toggle]:;
#X text 11 23 output a "bang" message whatever the input;
#X text 122 567 <- Right click and choose "Help" for [toggle] helpfile.
;
#X text 168 381 - the [bang] object always outputs a bang message.
;
#X text 168 337 - [bang] takes any message supplied to its inlet and
outputs a bang message in response.;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 520 11 b;
#X text 500 11 or;
#X connect 14 0 16 0;
#X connect 15 0 16 0;
#X connect 16 0 13 0;
#X connect 18 0 19 0;
#X connect 19 0 17 0;
#N canvas 426 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 bang~ 3 12 0 18
-204280 -1 0;
#X obj 0 445 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 585 389 387 241 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.33. Revised
by Jonathan Wilkes to conform to the PDDP template for Pd version 0.42.
;
#X text 12 45 DESCRIPTION output a "bang" message after each DSP cycle
;
#X text 12 65 INLET_0;
#X text 12 85 OUTLET_0 bang;
#X text 12 5 KEYWORDS signal conversion bang_op;
#X text 12 165 RELEASE_DATE 2009;
#X restore 500 597 pd META;
#X obj 0 482 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 537 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 565 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X obj 78 454 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 541 (none);
#N canvas 214 518 428 114 Related_objects 0;
#X obj 15 34 print~;
#X obj 72 34 bang;
#X obj 0 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 6 1 [bang~] Related Objects;
#X restore 102 597 pd Related_objects;
#X text 98 491 bang;
#X obj 78 491 cnv 17 3 35 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 505 12 bang~;
#X obj 116 213 bang~;
#X obj 116 281 print;
#X text 228 169 click to test;
#X obj 116 249 spigot;
#X msg 190 253 dsp \$1;
#X obj 190 280 s pd;
#X msg 190 171 bang;
#X obj 190 219 1;
#X obj 226 219 0;
#X obj 226 195 delay 10;
#X obj 340 170 loadbang;
#X msg 340 196 dsp 0;
#X obj 340 221 s pd;
#X text 11 23 output a "bang" message after each DSP cycle;
#X text 168 453 - the inlet of [bang~] is not used.;
#X text 168 491 - [bang~] outputs a bang after each DSP cycle (at the
same logical time as the DSP cycle). This is primarily useful for sampling
the outputs of analysis algorithms.;
#X text 98 453 (inactive);
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X connect 13 0 16 0;
#X connect 16 0 14 0;
#X connect 17 0 18 0;
#X connect 19 0 20 0;
#X connect 19 0 22 0;
#X connect 20 0 16 1;
#X connect 20 0 17 0;
#X connect 21 0 16 1;
#X connect 21 0 17 0;
#X connect 22 0 21 0;
#X connect 23 0 24 0;
#X connect 24 0 25 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 bendin 3 12 0 18
-204280 -1 0;
#X obj 0 395 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 477 282 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 by Michal Seta as part of a project called pddp proposed
by Krzysztof Czaja \, managed and edited by Dave Sabine \, 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 MIDI;
#X text 12 45 DESCRIPTION read incoming pitch bend values;
#X text 12 65 OUTLET_0 float;
#X text 12 85 OUTLET_1 float;
#X text 12 165 RELEASE_DATE 1997;
#X restore 500 597 pd META;
#X obj 0 430 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 495 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;
#X text 98 439 float;
#N canvas 213 167 428 456 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 7 1 [bendin] Related Objects;
#X obj 75 89 ctlin;
#X obj 25 116 pgmin;
#X obj 25 89 bendin;
#X obj 205 116 touchin;
#X obj 69 116 polytouchin;
#X obj 119 89 midiin;
#X obj 149 116 sysexin;
#X obj 131 176 noteout;
#X obj 25 176 ctlout;
#X obj 25 36 bendout;
#X obj 161 203 touchout;
#X obj 75 203 polytouchout;
#X obj 75 176 midiout;
#X obj 25 203 pgmout;
#X obj 25 258 makenote;
#X text 22 235 MIDI note construction:;
#X text 22 149 MIDI output:;
#X text 22 66 MIDI input:;
#X obj 185 258 stripnote;
#X text 22 305 Additional useful objects for MIDI processing (Maxlib
by Olaf Matthes);
#X text 21 384 Also \, from cyclone (alpha) by Krzysztof Czaja:;
#X obj 169 89 notein;
#X text 182 235 MIDI note deconstruction:;
#X text 22 286 Externals;
#X obj 22 335 pddp/helplink maxlib/pitch;
#X obj 22 350 pddp/helplink maxlib/score;
#X obj 22 365 pddp/helplink maxlib/chord;
#X obj 22 400 pddp/helplink cyclone/midiformat;
#X obj 22 415 pddp/helplink cyclone/midiparse;
#X obj 22 430 pddp/helplink cyclone/midiflush;
#X obj 185 344 pitch;
#X obj 186 365 chord;
#X restore 101 597 pd Related_objects;
#X obj 497 10 bendin;
#X text 98 405 (none);
#X obj 78 439 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 78 467 cnv 17 3 17 empty \$0-pddp.cnv.let.0 1 5 9 0 16 -228856
-162280 0;
#X text 98 467 float;
#X floatatom 148 171 5 0 0 0 - - -, f 5;
#X floatatom 191 171 5 0 0 0 - - -, f 5;
#X obj 148 144 bendin;
#X text 85 221 The [bendin] object reads incoming pitch bend values
and reports them. If started with no arguments it reports the channel
number through the right outlet.;
#X obj 260 144 bendin 2;
#X floatatom 260 171 5 0 0 0 - - -, f 5;
#X text 311 171 <-- pitch bend values on channel 2;
#X obj 99 564 pddp/pddplink all_about_midi_flags.pd -text all_about_midi_flags
;
#X text 11 23 read incoming pitch bend values;
#X text 167 514 - (optional) a single MIDI channel number from which
to read. If the argument is present \, the [bendin] object does not
show the second (right) outlet.;
#X text 168 405 - [bendin] reads directly from the MIDI port.;
#X text 168 439 - pitchbend value (a 14-bit integer).;
#X text 168 467 - MIDI channel number (available unless argument is
given).;
#X text 80 514 1) float;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X connect 16 0 14 0;
#X connect 16 1 15 0;
#X connect 18 0 19 0;
#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 242 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 block~ 3 12 0 18
-204280 -1 0;
#X obj 0 251 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 260 cnv 17 3 70 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 260 set;
#X text 98 341 (none);
#X floatatom 78 223 0 0 0 0 - - -;
#X text 165 224 <- 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 242 555 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 200 <- 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 50 50 0 \$0-nowhere \$0-bng-rcv empty 17 7 0 10
-262144 -1 -1;
#X obj 64 319 bng 10 50 50 0 \$0-nowhere \$0-bng-rcv empty 17 7 0 10
-262144 -1 -1;
#X obj 79 319 bng 10 50 50 0 \$0-nowhere \$0-bng-rcv empty 17 7 0 10
-262144 -1 -1;
#X obj 94 319 bng 10 50 50 0 \$0-nowhere \$0-bng-rcv empty 17 7 0 10
-262144 -1 -1;
#X obj 109 319 bng 10 50 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 50 50 0 \$0-nowhere \$0-bng-rcv empty 17 7 0
10 -262144 -1 -1;
#X obj 139 319 bng 10 50 50 0 \$0-nowhere \$0-bng-rcv empty 17 7 0
10 -262144 -1 -1;
#X obj 154 319 bng 10 50 50 0 \$0-nowhere \$0-bng-rcv empty 17 7 0
10 -262144 -1 -1;
#X obj 169 319 bng 10 50 50 0 \$0-nowhere \$0-bng-rcv empty 17 7 0
10 -262144 -1 -1;
#X obj 184 319 bng 10 50 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 185 pd visualize;
#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 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 574 554 <-- weird 'bang' feature lets you single-step DSP;
#X text 385 10 [block~] or [switch~];
#X text 90 161 Note: [block~] is in the subpatch (below) for this example:
;
#X text 168 260 - "set" followed by one to three floats determines
the block size \, overlap \, and resampling for the window (see example
above).;
#X text 98 310 bang;
#X text 168 310 - calculate a single block inside a subpatch (see below)
;
#N canvas 0 22 581 315 bang_message 0;
#X text 32 11 You can use the switch~ object to single-step dsp in
a subpatch. This might be useful for block operations that don't want
to be synced to the sample clock: loading a wondiw function in a table
\, or copying one table to another:;
#X obj 136 193 noise~;
#X obj 136 225 tabwrite~ zzzz;
#X obj 33 154 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#N canvas 0 22 450 300 (subpatch) 0;
#X array zzzz 256 float 2 black black;
#X coords 0 1 256 -1 256 140 1;
#X restore 300 116 graph;
#X obj 33 228 switch~ 256;
#X text 25 111 turn DSP on and click to;
#X text 26 127 randomize the table at right:;
#X connect 1 0 2 0;
#X connect 3 0 2 0;
#X connect 3 0 5 0;
#X restore 420 554 pd bang_message;
#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 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;