#N canvas 317 78 594 833 12;
#X declare;
#X obj 24 150 bang;
#X text 124 150 - output a bang message;
#X obj 24 174 float;
#X text 124 174 - store and recall a number;
#X obj 24 198 symbol;
#X text 124 198 - store and recall a symbol;
#X obj 24 222 int;
#X text 124 222 - store and recall an integer;
#X obj 24 246 send;
#X text 124 246 - send a message to a named object;
#X obj 24 270 receive;
#X text 124 270 - catch "sent" messages;
#X obj 24 294 select;
#X text 124 294 - test for matching numbers or symbols;
#X obj 24 318 route;
#X text 124 318 - route messages according to first element;
#X obj 24 342 pack;
#X text 124 342 - make compound messages;
#X obj 24 366 unpack;
#X text 124 366 - get elements of compound messages;
#X obj 24 390 trigger;
#X text 124 390 - sequence and convert messages;
#X obj 24 414 spigot;
#X text 124 414 - interruptible message connection;
#X obj 24 438 moses;
#X text 124 438 - part a numeric stream;
#X obj 24 462 until;
#X text 124 462 - looping mechanism;
#X obj 24 486 print;
#X text 124 486 - print out messages;
#X obj 24 510 makefilename;
#X text 145 511 - format a symbol with a variable field;
#X obj 24 534 change;
#X text 124 534 - remove repeated numbers from a stream;
#X obj 24 559 swap;
#X text 124 559 - swap two numbers;
#X obj 24 583 value;
#X text 124 583 - shared numeric value;
#X obj 22 660 delay;
#X text 122 660 - send a message after a time delay;
#X obj 22 684 metro;
#X text 122 684 - send a message periodically;
#X obj 22 708 line;
#X text 122 708 - send a series of linearly stepped numbers;
#X obj 22 732 timer;
#X text 122 732 - measure time intervals;
#X obj 22 756 cputime;
#X text 122 756 - measure CPU time;
#X obj 22 780 realtime;
#X text 122 780 - measure real time;
#X obj 22 804 pipe;
#X text 122 804 - dynamically growable delay line for numbers;
#X text 212 885 - arithmetic;
#X text 213 908 - relational tests;
#X text 255 933 - bit twiddling;
#X obj 23 961 mtof;
#X obj 23 983 ftom;
#X obj 64 961 powtodb;
#X obj 132 960 rmstodb;
#X obj 64 982 dbtopow;
#X obj 132 982 dbtorms;
#X text 214 974 - convert acoustical units;
#X obj 22 1006 mod;
#X obj 53 1006 div;
#X obj 84 1006 sin;
#X obj 115 1006 cos;
#X obj 146 1006 tan;
#X obj 22 1028 atan;
#X obj 62 1028 atan2;
#X obj 111 1028 sqrt;
#X obj 151 1028 log;
#X obj 182 1028 exp;
#X obj 213 1028 abs;
#X text 253 1018 - higher math;
#X obj 22 1050 random;
#X text 122 1050 - lower math;
#X obj 22 1073 max;
#X obj 54 1073 min;
#X text 122 1073 - greater or lesser of 2 numbers;
#X obj 22 1096 clip;
#X text 122 1096 - force a number into a range;
#X obj 23 1179 notein;
#X obj 82 1179 ctlin;
#X obj 133 1179 pgmin;
#X obj 183 1179 bendin;
#X obj 242 1179 touchin;
#X obj 23 1203 polytouchin;
#X obj 311 1178 midiin;
#X obj 122 1203 sysexin;
#X text 370 1195 - MIDI input;
#X obj 22 1235 noteout;
#X obj 90 1235 ctlout;
#X obj 150 1235 pgmout;
#X obj 209 1235 bendout;
#X obj 22 1257 touchout;
#X obj 100 1257 polytouchout;
#X obj 213 1257 midiout;
#X text 291 1245 - MIDI output;
#X obj 22 1288 makenote;
#X obj 22 1312 stripnote;
#X text 114 1314 - strip "note off" messages;
#X obj 21 1419 tabread;
#X text 121 1419 - read a number from a table;
#X obj 21 1442 tabread4;
#X text 121 1442 - read a number from a table;
#X obj 21 1465 tabwrite;
#X text 121 1465 - write a number to a table;
#X obj 21 1489 soundfiler;
#X text 121 1489 - read and write tables to soundfiles;
#X obj 21 1590 loadbang;
#X text 121 1590 - bang on load;
#X obj 20 1690 netsend;
#X text 120 1690 - send messages over the internet;
#X obj 20 1713 netreceive;
#X text 120 1713 - receive them;
#X obj 20 1745 qlist;
#X text 120 1745 - message sequencer;
#X text 120 1769 - file to message converter;
#X obj 20 1822 openpanel;
#X text 120 1822 - "Open" dialog;
#X obj 20 1845 savepanel;
#X text 120 1845 - "Save as" dialog;
#X obj 21 1873 bag;
#X text 121 1873 - set of numbers;
#X obj 21 1897 poly;
#X text 121 1897 - polyphonic voice allocation;
#X obj 21 1926 key;
#X obj 55 1926 keyup;
#X text 121 1926 - numeric key values from keyboard;
#X obj 21 1949 keyname;
#X text 121 1949 - symbolic key name;
#X text 154 2043 - arithmetic on audio signals;
#X text 126 2073 - maximum or minimum of 2 inputs;
#X obj 26 2101 clip~;
#X text 126 2101 - constrict signal to lie between two bounds;
#X obj 26 2204 wrap~;
#X obj 26 2232 fft~;
#X text 126 2232 - complex forward discrete Fourier transform;
#X obj 26 2254 ifft~;
#X text 126 2254 - complex inverse discrete Fourier transform;
#X obj 26 2284 rfft~;
#X text 126 2284 - real forward discrete Fourier transform;
#X obj 26 2306 rifft~;
#X text 126 2306 - real inverse discrete Fourier transform;
#X obj 26 2360 framp~;
#X text 126 2360 - estimate frequency and amplitude of FFT components;
#X obj 26 2390 mtof~;
#X obj 77 2390 ftom~;
#X obj 127 2390 rmstodb~;
#X obj 205 2390 dbtorms~;
#X text 284 2390 - acoustic conversions;
#X obj 26 2448 dac~;
#X text 126 2448 - audio output;
#X obj 26 2472 adc~;
#X text 126 2472 - audio input;
#X obj 26 2496 sig~;
#X text 126 2496 - convert numbers to audio signals;
#X obj 26 2520 line~;
#X text 126 2520 - generate audio ramps;
#X obj 26 2544 vline~;
#X text 126 2544 - deluxe line~;
#X obj 26 2592 snapshot~;
#X text 126 2592 - sample a signal (convert it back to a number);
#X obj 26 2616 vsnapshot~;
#X text 126 2616 - deluxe snapshot~;
#X obj 26 2640 bang~;
#X text 126 2640 - send a bang message after each DSP block;
#X obj 26 2664 samplerate~;
#X text 126 2664 - get the sample rate;
#X obj 26 2688 send~;
#X text 126 2688 - nonlocal signal connection with fanout;
#X obj 26 2712 receive~;
#X text 126 2712 - get signal from send~;
#X obj 26 2736 throw~;
#X text 126 2736 - add to a summing bus;
#X obj 26 2760 catch~;
#X text 126 2760 - define and read a summing bus;
#X obj 24 3722 block~;
#X text 296 3650 - switch DSP computation on and off;
#X obj 26 2784 readsf~;
#X text 126 2784 - soundfile playback from disk;
#X obj 26 2808 writesf~;
#X text 126 2808 - record sound to disk;
#X obj 23 2870 phasor~;
#X text 123 2870 - sawtooth oscillator;
#X obj 23 2894 cos~;
#X text 123 2894 - cosine;
#X obj 23 2918 osc~;
#X text 123 2918 - cosine oscillator;
#X obj 23 2942 tabwrite~;
#X text 123 2942 - write to a table;
#X obj 23 2966 tabplay~;
#X text 123 2966 - play back from a table (non-transposing);
#X obj 23 2990 tabread~;
#X text 123 2990 - non-interpolating table read;
#X obj 23 3014 tabread4~;
#X text 123 3014 - four-point interpolating table read;
#X obj 23 3038 tabosc4~;
#X text 123 3038 - wavetable oscillator;
#X obj 23 3062 tabsend~;
#X text 123 3062 - write one block continuously to a table;
#X obj 23 3086 tabreceive~;
#X text 123 3086 - read one block continuously from a table;
#X text 18 3121 -------------------- AUDIO FILTERS ------------------------
;
#X obj 23 3143 vcf~;
#X text 123 3143 - voltage controlled filter;
#X obj 23 3167 noise~;
#X text 123 3167 - white noise generator;
#X obj 23 3191 env~;
#X text 123 3191 - envelope follower;
#X obj 23 3215 hip~;
#X text 123 3215 - high pass filter;
#X obj 23 3239 lop~;
#X text 123 3239 - low pass filter;
#X obj 22 3288 bp~;
#X text 122 3288 - band pass filter;
#X obj 22 3312 biquad~;
#X text 122 3312 - raw filter;
#X obj 22 3336 samphold~;
#X text 122 3336 - sample and hold unit;
#X obj 22 3360 print~;
#X text 122 3360 - print out one or more "blocks";
#X obj 22 3384 rpole~;
#X text 122 3384 - raw real-valued one-pole filter;
#X obj 22 3408 rzero~;
#X text 122 3408 - raw real-valued one-zero filter;
#X obj 22 3432 rzero_rev~;
#X text 125 3432 - time-reversed;
#X obj 22 3456 cpole~;
#X obj 81 3456 czero~;
#X text 218 3456 - corresponding complex-valued filters;
#X text 18 3477 -------------------- AUDIO DELAY ------------------------
;
#X obj 24 3501 delwrite~;
#X text 124 3501 - write to a delay line;
#X obj 24 3525 delread~;
#X text 124 3525 - read from a delay line;
#N canvas 0 50 450 300 (subpatch) 0;
#X restore 23 3597 pd;
#X text 123 3597 - define a subwindow;
#X obj 21 1513 table;
#X obj 23 3621 inlet;
#X text 123 3621 - add an inlet to a pd;
#X obj 23 3645 outlet;
#X text 123 3645 - add an outlet to a pd;
#X obj 23 3670 inlet~;
#X obj 77 3671 outlet~;
#X obj 24 3798 struct;
#X text 124 3798 - define a data structure;
#X obj 24 3822 drawcurve;
#X obj 112 3822 filledcurve;
#X text 215 3822 - draw a curve;
#X obj 24 3846 drawpolygon;
#X obj 129 3846 filledpolygon;
#X text 239 3846 - draw a polygon;
#X obj 24 3897 plot;
#X text 124 3897 - plot an array field;
#X obj 24 3921 drawnumber;
#X text 124 3921 - print a numeric value;
#X obj 25 3985 pointer;
#X text 125 3985 - point to an object belonging to a template;
#X obj 25 4009 get;
#X text 125 4009 - get numeric fields;
#X obj 25 4033 set;
#X text 125 4033 - change numeric fields;
#X obj 25 4057 element;
#X text 125 4057 - get an array element;
#X obj 25 4081 getsize;
#X text 125 4081 - get the size of an array;
#X obj 25 4105 setsize;
#X text 125 4105 - change the size of an array;
#X obj 25 4129 append;
#X text 125 4129 - add an element to a list;
#X obj 25 4153 scalar;
#X text 130 4475 (use tabwrite~ now);
#X obj 30 4500 namecanvas;
#X obj 140 3456 czero_rev~;
#X obj 26 2568 threshold~;
#X text 126 2568 - detect signal thresholds;
#X text 21 1970 ---------------------- AUDIO MATH -----------------------
;
#X text 18 1570 --------------------- MISC ----------------------;
#X text 20 831 ------------------------- MATH -----------------;
#X text 20 630 ------------------------- TIME --------------------------
;
#X text 15 3573 ------------------------ SUBWINDOWS ------------------------
;
#X text 18 3768 ---------------------- DATA TEMPLATES ----------------------
;
#X text 18 3955 ---------------------- ACCESSING DATA ----------------------
;
#X text 17 2840 ------------ AUDIO OSCILLATORS AND TABLES -------------
;
#X obj 67 2073 min~;
#X obj 26 2073 max~;
#X obj 22 909 ==;
#X obj 54 909 !=;
#X obj 86 909 >;
#X obj 118 909 <;
#X obj 149 909 >=;
#X obj 180 909 <=;
#X text 22 4448 ------------------------ OBSOLETE --------------------------
;
#X obj 54 886 -;
#X obj 87 886 *;
#X obj 119 886 /;
#X obj 152 886 pow;
#X obj 22 886 +;
#X obj 22 932 &;
#X obj 54 932 &&;
#X obj 86 932 |;
#X obj 118 932 ||;
#X obj 149 932 %;
#X obj 26 2043 +~;
#X obj 58 2043 -~;
#X obj 89 2043 *~;
#X obj 121 2043 /~;
#X obj 21 1614 declare;
#X text 121 1614 - set search path and/or load libraries;
#X text 146 3669 - signal versions;
#X obj 22 1119 wrap;
#X text 121 1119 - wrap a number to range [0 \, 1);
#X text 126 2202 - wraparound (fractional part);
#X obj 25 2334 pow~;
#X obj 69 2334 log~;
#X obj 113 2334 exp~;
#X text 207 2336 - math;
#X obj 159 2335 abs~;
#X text 24 120 --------------- GENERAL ----------------;
#X obj 24 607 list;
#X text 124 607 - manipulate lists;
#X text 112 1286 - schedule delayed "note off" message for a note-on
;
#X obj 21 1537 array;
#X text 123 1512 - create a named table;
#X text 26 2417 ------------- GENERAL AUDIO MANIPULATION --------------
;
#X text 120 1793 - general text handling;
#X text 124 1539 - general array creation and manipulation;
#X text 17 1393 ----------------- ARRAYS/TABLES -------------------
;
#X text 125 4152 - create a single scalar;
#X text 129 4501 (potentially dangerous but no substitute exists yet)
;
#X text 23 22 The following is a list of built-in objects in Pd. (Not
included in this list are messages \, atoms \, graphs \, etc. which
aren't typed into object boxes but come straight off the "add" menu.)
Right-click (or control-click on a Macintosh) on any object to get
its "help window".;
#X msg 30 4473 scope~;
#X msg 30 4525 template;
#X text 128 4525 (use struct now);
#X obj 20 1769 textfile;
#X obj 20 1793 text;
#X obj 180 932 <<;
#X obj 211 932 >>;
#X obj 26 2126 sqrt~;
#X obj 22 1339 oscparse;
#X obj 96 1339 oscformat;
#X text 18 4184 -------- "EXTRA" (patches and externs in pd/extra)
---------;
#X obj 26 4213 sigmund~;
#X text 126 4213 - pitch tracker;
#X obj 26 4238 bonk~;
#X text 126 4238 - attack detector;
#X obj 26 4263 choice;
#X text 126 4263 - best match of list to templates;
#X obj 26 4287 hilbert~;
#X obj 104 4287 complex-mod~;
#X text 218 4288 - phase quadrature / frequency shifting;
#X obj 26 4316 loop~;
#X text 122 4319 - phasor~ with S/H on its frequency input;
#X obj 26 4341 lrshift~;
#X text 122 4344 - left and right shift (useful with FFT objects);
#X obj 27 4367 pd~;
#X text 124 4365 - run another copy of Pd (for multiprocessing);
#X obj 27 4394 rev1~;
#X obj 79 4394 rev2~;
#X obj 128 4394 rev3~;
#X text 188 4394 - reverberators;
#X obj 60 4367 stdout;
#X obj 27 4421 bob~;
#X text 123 4423 - Moog resonant filter model;
#X obj 24 3697 clone;
#X obj 194 1204 midirealtimein;
#X obj 24 3551 delread4~;
#X text 154 3552 - read with a time-varying delay time;
#X obj 118 3552 vd~;
#X obj 26 2151 rsqrt~;
#X text 115 2125 - approximate (16-bit) square root;
#X text 125 2153 - reciprocal square root;
#X obj 25 2175 q8_sqrt~;
#X obj 110 2176 q8_rsqrt~;
#X text 218 2176 - fast \, cheap 8 bits versions;
#X obj 26 2002 expr~;
#X obj 23 856 expr;
#X obj 79 2002 fexpr~;
#X text 145 2003 - C-style expressions;
#X text 123 854 - C-style expressions;
#X text 26 1149 ---------I/O via MIDI \, OSC \, and FUDI --------------------
;
#X text 180 1339 - OSC messages to and from Pd lists;
#X obj 21 1365 fudiparse;
#X obj 100 1365 fudiformat;
#X text 196 1367 - FUDI messages to and from Pd lists;
#X msg 76 3722 switch;
#X text 141 3721 - specify block size and overlap \, or \, if invoked
as "switch" \, also switch subpatches on and off;
#X obj 129 3871 drawsymbol;
#X obj 24 3871 drawtext;
#X text 224 3870 - draw text;
#X obj 21 1637 savestate;
#X text 121 1637 - mechanism for saving state of an abstraction;
#X obj 23 3263 slop~;
#X text 122 3263 - slew-limiting (nonlinear) low pass filter;
#X obj 21 1660 pdcontrol;
#X text 121 1660 - communicate with canvas (for example \, to get directory)
;
#X text 116 3697 - multiple copies of a patch;
