#N canvas 519 52 579 980 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 messagess;
#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 860 - arithmetic;
#X text 213 883 - relational tests;
#X text 255 908 - bit twiddling;
#X obj 23 936 mtof;
#X obj 23 958 ftom;
#X obj 64 936 powtodb;
#X obj 132 935 rmstodb;
#X obj 64 957 dbtopow;
#X obj 132 957 dbtorms;
#X text 214 949 - convert acoustical units;
#X obj 22 981 mod;
#X obj 53 981 div;
#X obj 84 981 sin;
#X obj 115 981 cos;
#X obj 146 981 tan;
#X obj 22 1003 atan;
#X obj 62 1003 atan2;
#X obj 111 1003 sqrt;
#X obj 151 1003 log;
#X obj 182 1003 exp;
#X obj 213 1003 abs;
#X text 253 993 - higher math;
#X obj 22 1025 random;
#X text 122 1025 - lower math;
#X obj 22 1048 max;
#X obj 54 1048 min;
#X text 122 1048 - greater or lesser of 2 numbers;
#X obj 22 1071 clip;
#X text 122 1071 - force a number into a range;
#X obj 23 1142 notein;
#X obj 82 1142 ctlin;
#X obj 133 1142 pgmin;
#X obj 183 1142 bendin;
#X obj 242 1142 touchin;
#X obj 310 1142 polytouchin;
#X obj 24 1166 midiin;
#X obj 85 1166 sysexin;
#X text 412 1158 - MIDI input;
#X obj 22 1198 noteout;
#X obj 90 1198 ctlout;
#X obj 150 1198 pgmout;
#X obj 209 1198 bendout;
#X obj 22 1220 touchout;
#X obj 100 1220 polytouchout;
#X obj 213 1220 midiout;
#X text 321 1208 - MIDI output;
#X obj 22 1251 makenote;
#X obj 22 1275 stripnote;
#X text 114 1277 - strip "note off" messages;
#X obj 25 1369 tabread;
#X text 125 1369 - read a number from a table;
#X obj 25 1392 tabread4;
#X text 125 1392 - read a number from a table;
#X obj 25 1415 tabwrite;
#X text 125 1415 - write a number to a table;
#X obj 25 1439 soundfiler;
#X text 125 1439 - read and write tables to soundfiles;
#X obj 25 1552 loadbang;
#X text 125 1552 - bang on load;
#X obj 25 1585 netsend;
#X text 125 1585 - send messages over the internet;
#X obj 25 1608 netreceive;
#X text 125 1608 - receive them;
#X obj 25 1639 qlist;
#X text 125 1639 - message sequencer;
#X text 125 1663 - file to message converter;
#X obj 25 1721 openpanel;
#X text 125 1721 - "Open" dialog;
#X obj 25 1744 savepanel;
#X text 125 1744 - "Save as" dialog;
#X obj 25 1781 bag;
#X text 125 1781 - set of numbers;
#X obj 25 1811 poly;
#X text 125 1811 - polyphonic voice allocation;
#X obj 25 1841 key;
#X obj 59 1841 keyup;
#X text 125 1841 - numeric key values from keyboard;
#X obj 25 1864 keyname;
#X text 125 1864 - symbolic key name;
#X text 154 1973 - arithmetic on audio signals;
#X text 126 2003 - maximum or minimum of 2 inputs;
#X obj 26 2031 clip~;
#X text 126 2031 - constrict signal to lie between two bounds;
#X obj 26 2134 wrap~;
#X obj 26 2162 fft~;
#X text 126 2162 - complex forward discrete Fourier transform;
#X obj 26 2184 ifft~;
#X text 126 2184 - complex inverse discrete Fourier transform;
#X obj 26 2214 rfft~;
#X text 126 2214 - real forward discrete Fourier transform;
#X obj 26 2236 rifft~;
#X text 126 2236 - real inverse discrete Fourier transform;
#X obj 26 2290 framp~;
#X text 126 2290 - output a ramp for each block;
#X obj 26 2320 mtof~;
#X obj 77 2320 ftom~;
#X obj 127 2320 rmstodb~;
#X obj 205 2320 dbtorms~;
#X text 284 2320 - acoustic conversions;
#X obj 26 2378 dac~;
#X text 126 2378 - audio output;
#X obj 26 2402 adc~;
#X text 126 2402 - audio input;
#X obj 26 2426 sig~;
#X text 126 2426 - convert numbers to audio signals;
#X obj 26 2450 line~;
#X text 126 2450 - generate audio ramps;
#X obj 26 2474 vline~;
#X text 126 2474 - deluxe line~;
#X obj 26 2522 snapshot~;
#X text 126 2522 - sample a signal (convert it back to a number);
#X obj 26 2546 vsnapshot~;
#X text 126 2546 - deluxe snapshot~;
#X obj 26 2570 bang~;
#X text 126 2570 - send a bang message after each DSP block;
#X obj 26 2594 samplerate~;
#X text 126 2594 - get the sample rate;
#X obj 26 2618 send~;
#X text 126 2618 - nonlocal signal connection with fanout;
#X obj 26 2642 receive~;
#X text 126 2642 - get signal from send~;
#X obj 26 2666 throw~;
#X text 126 2666 - add to a summing bus;
#X obj 26 2690 catch~;
#X text 126 2690 - define and read a summing bus;
#X obj 26 2714 block~;
#X text 126 2714 - specify block size and overlap;
#X obj 26 2738 switch~;
#X text 126 2738 - switch DSP computation on and off;
#X obj 26 2762 readsf~;
#X text 126 2762 - soundfile playback from disk;
#X obj 26 2786 writesf~;
#X text 126 2786 - record sound to disk;
#X obj 23 2848 phasor~;
#X text 123 2848 - sawtooth oscillator;
#X obj 23 2872 cos~;
#X text 123 2872 - cosine;
#X obj 23 2896 osc~;
#X text 123 2896 - cosine oscillator;
#X obj 23 2920 tabwrite~;
#X text 123 2920 - write to a table;
#X obj 23 2944 tabplay~;
#X text 123 2944 - play back from a table (non-transposing);
#X obj 23 2968 tabread~;
#X text 123 2968 - non-interpolating table read;
#X obj 23 2992 tabread4~;
#X text 123 2992 - four-point interpolating table read;
#X obj 23 3016 tabosc4~;
#X text 123 3016 - wavetable oscillator;
#X obj 23 3040 tabsend~;
#X text 123 3040 - write one block continuously to a table;
#X obj 23 3064 tabreceive~;
#X text 123 3064 - read one block continuously from a table;
#X text 18 3099 -------------------- AUDIO FILTERS ------------------------
;
#X obj 24 3129 vcf~;
#X text 124 3129 - voltage controlled filter;
#X obj 24 3153 noise~;
#X text 124 3153 - white noise generator;
#X obj 24 3177 env~;
#X text 124 3177 - envelope follower;
#X obj 24 3201 hip~;
#X text 124 3201 - high pass filter;
#X obj 24 3225 lop~;
#X text 124 3225 - low pass filter;
#X obj 24 3249 bp~;
#X text 124 3249 - band pass filter;
#X obj 24 3273 biquad~;
#X text 124 3273 - raw filter;
#X obj 24 3297 samphold~;
#X text 124 3297 - sample and hold unit;
#X obj 24 3321 print~;
#X text 124 3321 - print out one or more "blocks";
#X obj 24 3345 rpole~;
#X text 124 3345 - raw real-valued one-pole filter;
#X obj 24 3369 rzero~;
#X text 124 3369 - raw real-valued one-zero filter;
#X obj 24 3393 rzero_rev~;
#X text 127 3393 - time-reversed;
#X obj 24 3417 cpole~;
#X obj 83 3417 czero~;
#X text 220 3417 - corresponding complex-valued filters;
#X text 18 3455 -------------------- AUDIO DELAY ------------------------
;
#X obj 24 3479 delwrite~;
#X text 124 3479 - write to a delay line;
#X obj 24 3503 delread~;
#X text 124 3503 - read from a delay line;
#N canvas 0 50 450 300 (subpatch) 0;
#X restore 25 3577 pd;
#X text 125 3577 - define a subwindow;
#X obj 25 1463 table;
#X obj 25 3601 inlet;
#X text 125 3601 - add an inlet to a pd;
#X obj 25 3625 outlet;
#X text 125 3625 - add an outlet to a pd;
#X obj 25 3649 inlet~;
#X obj 85 3649 outlet~;
#X obj 24 3728 struct;
#X text 124 3728 - define a data structure;
#X obj 24 3752 drawcurve;
#X obj 112 3752 filledcurve;
#X text 225 3752 - draw a curve;
#X obj 24 3776 drawpolygon;
#X obj 129 3776 filledpolygon;
#X text 259 3776 - draw a polygon;
#X obj 24 3800 plot;
#X text 124 3800 - plot an array field;
#X obj 24 3824 drawnumber;
#X text 124 3824 - print a numeric value;
#X obj 25 3888 pointer;
#X text 125 3888 - point to an object belonging to a template;
#X obj 25 3912 get;
#X text 125 3912 - get numeric fields;
#X obj 25 3936 set;
#X text 125 3936 - change numeric fields;
#X obj 25 3960 element;
#X text 125 3960 - get an array element;
#X obj 25 3984 getsize;
#X text 125 3984 - get the size of an array;
#X obj 25 4008 setsize;
#X text 125 4008 - change the size of an array;
#X obj 25 4032 append;
#X text 125 4032 - add an element to a list;
#X obj 25 4056 scalar;
#X text 130 4401 (use tabwrite~ now);
#X obj 30 4426 namecanvas;
#X obj 142 3417 czero_rev~;
#X obj 26 2498 threshold~;
#X text 126 2498 - detect signal thresholds;
#X text 21 1943 ---------------------- AUDIO MATH -----------------------
;
#X text 18 1520 --------------------- MISC ----------------------;
#X text 20 831 ------------------------- MATH -----------------;
#X text 20 630 ------------------------- TIME --------------------------
;
#X text 17 3553 ------------------------ SUBWINDOWS ------------------------
;
#X text 18 3698 ---------------------- DATA TEMPLATES ----------------------
;
#X text 18 3858 ---------------------- ACCESSING DATA ----------------------
;
#X text 17 2818 ------------ AUDIO OSCILLATORS AND TABLES -------------
;
#X obj 67 2003 min~;
#X obj 26 2003 max~;
#X obj 22 884 ==;
#X obj 54 884 !=;
#X obj 86 884 >;
#X obj 118 884 <;
#X obj 149 884 >=;
#X obj 180 884 <=;
#X text 26 4376 ------------------------ OBSOLETE --------------------------
;
#X obj 54 861 -;
#X obj 87 861 *;
#X obj 119 861 /;
#X obj 152 861 pow;
#X obj 22 861 +;
#X obj 22 907 &;
#X obj 54 907 &&;
#X obj 86 907 |;
#X obj 118 907 ||;
#X obj 149 907 %;
#X obj 26 1973 +~;
#X obj 58 1973 -~;
#X obj 89 1973 *~;
#X obj 121 1973 /~;
#X obj 25 1893 declare;
#X text 125 1893 - set search path and/or load libraries;
#X text 163 3650 - signal versions;
#X obj 22 1094 wrap;
#X text 121 1094 - wrap a number to range [0 \, 1);
#X text 126 2132 - wraparound (fractional part);
#X obj 25 2264 pow~;
#X obj 69 2264 log~;
#X obj 113 2264 exp~;
#X text 207 2266 - math;
#X obj 159 2265 abs~;
#X text 24 120 --------------- GENERAL ----------------;
#X obj 24 607 list;
#X text 124 607 - manipulate lists;
#X text 112 1249 - schedule delayed "note off" message for a note-on
;
#X obj 25 1487 array;
#X text 127 1462 - create a named table;
#X text 26 2347 ------------- GENERAL AUDIO MANIPULATION --------------
;
#X text 125 1687 - general text handling;
#X text 128 1489 - general array creation and manipulation;
#X text 17 1343 ----------------- ARRAYS/TABLES -------------------
;
#X text 125 4055 - create a single scalar;
#X text 129 4427 (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 4399 scope~;
#X msg 30 4451 template;
#X text 129 4452 (use struct now);
#X obj 25 1663 textfile;
#X obj 25 1687 text;
#X obj 180 907 <<;
#X obj 211 907 >>;
#X obj 26 2056 sqrt~;
#X text 17 1115 ------------------- MIDI and OSC------------------------
;
#X obj 22 1302 oscparse;
#X obj 21 1326 oscformat;
#X text 113 1303 - OSC messages to Pd lists;
#X text 113 1326 - Pd lists to OSC messages;
#X text 18 4087 -------- "EXTRA" (patches and externs in pd/extra)
---------;
#X obj 26 4116 sigmund~;
#X text 126 4116 - pitch tracker;
#X obj 26 4141 bonk~;
#X text 126 4141 - attack detector;
#X obj 26 4166 choice;
#X text 126 4166 - best match of list to templates;
#X obj 26 4190 hilbert~;
#X obj 104 4190 complex-mod~;
#X text 218 4191 - phase quadrature / frequency shifting;
#X text 195 4217 - C-style expressions (control and signal);
#X obj 76 4216 expr~;
#X obj 26 4215 expr;
#X obj 129 4216 fexpr~;
#X obj 26 4242 loop~;
#X text 122 4245 - phasor~ with S/H on its frequency input;
#X obj 26 4267 lrshift~;
#X text 122 4270 - left and right shift (useful with FFT objects);
#X obj 27 4293 pd~;
#X text 124 4291 - run another copy of Pd (for multiprocessing);
#X obj 27 4320 rev1~;
#X obj 79 4320 rev2~;
#X obj 128 4320 rev3~;
#X text 188 4320 - reverberators;
#X obj 60 4293 stdout;
#X obj 27 4347 bob~;
#X text 123 4349 - Moog resonant filter model;
#X text 118 3676 - make copies of a subpatch;
#X obj 26 3676 clone;
#X obj 157 1167 midirealtimein;
#X obj 301 1169 midiclkin;
#X obj 24 3529 delread4~;
#X text 154 3530 - read with a time-varying delay time;
#X obj 118 3530 vd~;
#X obj 26 2081 rsqrt~;
#X text 115 2055 - approximate (16-bit) square root;
#X text 125 2083 - reciprocal square root;
#X obj 25 2105 q8_sqrt~;
#X obj 110 2106 q8_rsqrt~;
#X text 218 2106 - fast \, cheap 8 bits versions;
