#N canvas 518 52 579 803 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 310 1179 polytouchin;
#X obj 24 1203 midiin;
#X obj 85 1203 sysexin;
#X text 412 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 321 1245 - MIDI output;
#X obj 22 1288 makenote;
#X obj 22 1312 stripnote;
#X text 114 1314 - strip "note off" messages;
#X obj 25 1419 tabread;
#X text 125 1419 - read a number from a table;
#X obj 25 1442 tabread4;
#X text 125 1442 - read a number from a table;
#X obj 25 1465 tabwrite;
#X text 125 1465 - write a number to a table;
#X obj 25 1489 soundfiler;
#X text 125 1489 - read and write tables to soundfiles;
#X obj 25 1602 loadbang;
#X text 125 1602 - bang on load;
#X obj 25 1635 netsend;
#X text 125 1635 - send messages over the internet;
#X obj 25 1658 netreceive;
#X text 125 1658 - receive them;
#X obj 25 1689 qlist;
#X text 125 1689 - message sequencer;
#X text 125 1713 - file to message converter;
#X obj 25 1771 openpanel;
#X text 125 1771 - "Open" dialog;
#X obj 25 1794 savepanel;
#X text 125 1794 - "Save as" dialog;
#X obj 25 1831 bag;
#X text 125 1831 - set of numbers;
#X obj 25 1861 poly;
#X text 125 1861 - polyphonic voice allocation;
#X obj 25 1891 key;
#X obj 59 1891 keyup;
#X text 125 1891 - numeric key values from keyboard;
#X obj 25 1914 keyname;
#X text 125 1914 - 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 - output a ramp for each block;
#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 26 2784 block~;
#X text 126 2784 - specify block size and overlap;
#X obj 26 2808 switch~;
#X text 126 2808 - switch DSP computation on and off;
#X obj 26 2832 readsf~;
#X text 126 2832 - soundfile playback from disk;
#X obj 26 2856 writesf~;
#X text 126 2856 - record sound to disk;
#X obj 23 2918 phasor~;
#X text 123 2918 - sawtooth oscillator;
#X obj 23 2942 cos~;
#X text 123 2942 - cosine;
#X obj 23 2966 osc~;
#X text 123 2966 - cosine oscillator;
#X obj 23 2990 tabwrite~;
#X text 123 2990 - write to a table;
#X obj 23 3014 tabplay~;
#X text 123 3014 - play back from a table (non-transposing);
#X obj 23 3038 tabread~;
#X text 123 3038 - non-interpolating table read;
#X obj 23 3062 tabread4~;
#X text 123 3062 - four-point interpolating table read;
#X obj 23 3086 tabosc4~;
#X text 123 3086 - wavetable oscillator;
#X obj 23 3110 tabsend~;
#X text 123 3110 - write one block continuously to a table;
#X obj 23 3134 tabreceive~;
#X text 123 3134 - read one block continuously from a table;
#X text 18 3169 -------------------- AUDIO FILTERS ------------------------
;
#X obj 24 3199 vcf~;
#X text 124 3199 - voltage controlled filter;
#X obj 24 3223 noise~;
#X text 124 3223 - white noise generator;
#X obj 24 3247 env~;
#X text 124 3247 - envelope follower;
#X obj 24 3271 hip~;
#X text 124 3271 - high pass filter;
#X obj 24 3295 lop~;
#X text 124 3295 - low pass filter;
#X obj 24 3319 bp~;
#X text 124 3319 - band pass filter;
#X obj 24 3343 biquad~;
#X text 124 3343 - raw filter;
#X obj 24 3367 samphold~;
#X text 124 3367 - sample and hold unit;
#X obj 24 3391 print~;
#X text 124 3391 - print out one or more "blocks";
#X obj 24 3415 rpole~;
#X text 124 3415 - raw real-valued one-pole filter;
#X obj 24 3439 rzero~;
#X text 124 3439 - raw real-valued one-zero filter;
#X obj 24 3463 rzero_rev~;
#X text 127 3463 - time-reversed;
#X obj 24 3487 cpole~;
#X obj 83 3487 czero~;
#X text 220 3487 - corresponding complex-valued filters;
#X text 18 3525 -------------------- AUDIO DELAY ------------------------
;
#X obj 24 3549 delwrite~;
#X text 124 3549 - write to a delay line;
#X obj 24 3573 delread~;
#X text 124 3573 - read from a delay line;
#N canvas 0 50 450 300 (subpatch) 0;
#X restore 25 3647 pd;
#X text 125 3647 - define a subwindow;
#X obj 25 1513 table;
#X obj 25 3671 inlet;
#X text 125 3671 - add an inlet to a pd;
#X obj 25 3695 outlet;
#X text 125 3695 - add an outlet to a pd;
#X obj 25 3719 inlet~;
#X obj 85 3719 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 225 3822 - draw a curve;
#X obj 24 3846 drawpolygon;
#X obj 129 3846 filledpolygon;
#X text 259 3846 - draw a polygon;
#X obj 24 3870 plot;
#X text 124 3870 - plot an array field;
#X obj 24 3894 drawnumber;
#X text 124 3894 - print a numeric value;
#X obj 25 3958 pointer;
#X text 125 3958 - point to an object belonging to a template;
#X obj 25 3982 get;
#X text 125 3982 - get numeric fields;
#X obj 25 4006 set;
#X text 125 4006 - change numeric fields;
#X obj 25 4030 element;
#X text 125 4030 - get an array element;
#X obj 25 4054 getsize;
#X text 125 4054 - get the size of an array;
#X obj 25 4078 setsize;
#X text 125 4078 - change the size of an array;
#X obj 25 4102 append;
#X text 125 4102 - add an element to a list;
#X obj 25 4126 scalar;
#X text 130 4448 (use tabwrite~ now);
#X obj 30 4473 namecanvas;
#X obj 142 3487 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 17 3623 ------------------------ SUBWINDOWS ------------------------
;
#X text 18 3768 ---------------------- DATA TEMPLATES ----------------------
;
#X text 18 3928 ---------------------- ACCESSING DATA ----------------------
;
#X text 17 2888 ------------ 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 26 4423 ------------------------ 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 25 1943 declare;
#X text 125 1943 - set search path and/or load libraries;
#X text 163 3720 - 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 25 1537 array;
#X text 127 1512 - create a named table;
#X text 26 2417 ------------- GENERAL AUDIO MANIPULATION --------------
;
#X text 125 1737 - general text handling;
#X text 128 1539 - general array creation and manipulation;
#X text 17 1393 ----------------- ARRAYS/TABLES -------------------
;
#X text 125 4125 - create a single scalar;
#X text 129 4474 (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 4446 scope~;
#X msg 30 4498 template;
#X text 129 4499 (use struct now);
#X obj 25 1713 textfile;
#X obj 25 1737 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 4157 -------- "EXTRA" (patches and externs in pd/extra)
---------;
#X obj 26 4186 sigmund~;
#X text 126 4186 - pitch tracker;
#X obj 26 4211 bonk~;
#X text 126 4211 - attack detector;
#X obj 26 4236 choice;
#X text 126 4236 - best match of list to templates;
#X obj 26 4260 hilbert~;
#X obj 104 4260 complex-mod~;
#X text 218 4261 - phase quadrature / frequency shifting;
#X obj 26 4289 loop~;
#X text 122 4292 - phasor~ with S/H on its frequency input;
#X obj 26 4314 lrshift~;
#X text 122 4317 - left and right shift (useful with FFT objects);
#X obj 27 4340 pd~;
#X text 124 4338 - run another copy of Pd (for multiprocessing);
#X obj 27 4367 rev1~;
#X obj 79 4367 rev2~;
#X obj 128 4367 rev3~;
#X text 188 4367 - reverberators;
#X obj 60 4340 stdout;
#X obj 27 4394 bob~;
#X text 123 4396 - Moog resonant filter model;
#X text 118 3746 - make copies of a subpatch;
#X obj 26 3746 clone;
#X obj 157 1204 midirealtimein;
#X obj 301 1206 midiclkin;
#X obj 24 3599 delread4~;
#X text 154 3600 - read with a time-varying delay time;
#X obj 118 3600 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;
