#N canvas 14 5 569 440 12;
#X declare;
#X obj 24 150 bang;
#X text 124 150 - output a bang message;
#X obj 24 180 float;
#X text 124 180 - store and recall a number;
#X obj 24 210 symbol;
#X text 124 210 - store and recall a symbol;
#X obj 24 240 int;
#X text 124 240 - store and recall an integer;
#X obj 24 270 send;
#X text 124 270 - send a message to a named object;
#X obj 24 300 receive;
#X text 124 300 - catch "sent" messages;
#X obj 24 330 select;
#X text 124 330 - test for matching numbers or symbols;
#X obj 24 360 route;
#X text 124 360 - route messages according to first element;
#X obj 24 390 pack;
#X text 124 390 - make compound messages;
#X obj 24 420 unpack;
#X text 124 420 - get elements of compound messages;
#X obj 24 450 trigger;
#X text 124 450 - sequence and convert messagess;
#X obj 24 480 spigot;
#X text 124 480 - interruptible message connection;
#X obj 24 510 moses;
#X text 124 510 - part a numeric stream;
#X obj 24 540 until;
#X text 124 540 - looping mechanism;
#X obj 24 570 print;
#X text 124 570 - print out messages;
#X obj 24 600 makefilename;
#X text 145 601 - format a symbol with a variable field;
#X obj 24 630 change;
#X text 124 630 - remove repeated numbers from a stream;
#X obj 24 660 swap;
#X text 124 660 - swap two numbers;
#X obj 24 690 value;
#X text 124 690 - shared numeric value;
#X obj 19 751 delay;
#X text 119 751 - send a message after a time delay;
#X obj 19 781 metro;
#X text 119 781 - send a message periodically;
#X obj 19 811 line;
#X text 119 811 - send a series of linearly stepped numbers;
#X obj 19 841 timer;
#X text 119 841 - measure time intervals;
#X obj 19 871 cputime;
#X text 119 871 - measure CPU time;
#X obj 19 901 realtime;
#X text 119 901 - measure real time;
#X obj 19 931 pipe;
#X text 119 931 - dynamically growable delay line for numbers;
#X text 209 990 - arithmetic;
#X text 210 1013 - relational tests;
#X text 189 1037 - bit twiddling;
#X obj 20 1066 mtof;
#X obj 20 1088 ftom;
#X obj 61 1066 powtodb;
#X obj 129 1065 rmstodb;
#X obj 61 1087 dbtopow;
#X obj 129 1087 dbtorms;
#X text 211 1079 - convert acoustical units;
#X obj 19 1111 mod;
#X obj 50 1111 div;
#X obj 81 1111 sin;
#X obj 112 1111 cos;
#X obj 143 1111 tan;
#X obj 19 1132 atan;
#X obj 59 1132 atan2;
#X obj 108 1132 sqrt;
#X obj 148 1132 log;
#X obj 179 1132 exp;
#X obj 210 1132 abs;
#X text 250 1123 - higher math;
#X obj 19 1155 random;
#X text 119 1155 - lower math;
#X obj 19 1178 max;
#X obj 51 1178 min;
#X text 119 1178 - greater or lesser of 2 numbers;
#X obj 19 1201 clip;
#X text 119 1201 - force a number into a range;
#X obj 16 1251 notein;
#X obj 75 1251 ctlin;
#X obj 126 1251 pgmin;
#X obj 176 1251 bendin;
#X obj 235 1251 touchin;
#X obj 16 1274 polytouchin;
#X obj 120 1274 midiin;
#X obj 179 1274 sysexin;
#X text 318 1263 - MIDI input;
#X obj 19 1317 noteout;
#X obj 87 1317 ctlout;
#X obj 147 1317 pgmout;
#X obj 206 1317 bendout;
#X obj 19 1338 touchout;
#X obj 97 1338 polytouchout;
#X obj 210 1338 midiout;
#X text 318 1327 - MIDI output;
#X obj 20 1370 makenote;
#X text 109 1368 - schedule a delayed "note off" message corresponding
to a note-on;
#X obj 19 1402 stripnote;
#X text 112 1403 - strip "note off" messages;
#X obj 17 1441 tabread;
#X text 117 1441 - read a number from a table;
#X obj 17 1463 tabread4;
#X text 117 1463 - read a number from a table;
#X obj 17 1485 tabwrite;
#X text 117 1485 - write a number to a table;
#X obj 17 1508 soundfiler;
#X text 117 1508 - read and write tables to soundfiles;
#X obj 19 1558 loadbang;
#X text 119 1558 - bang on load;
#X obj 19 1584 serial;
#X text 119 1584 - serial device control for NT only;
#X obj 19 1612 netsend;
#X text 119 1612 - send messages over the internet;
#X obj 19 1633 netreceive;
#X text 119 1633 - receive them;
#X obj 19 1663 qlist;
#X text 119 1663 - message sequencer;
#X obj 19 1693 textfile;
#X text 119 1693 - file to message converter;
#X obj 19 1723 openpanel;
#X text 119 1723 - "Open" dialog;
#X obj 19 1746 savepanel;
#X text 119 1746 - "Save as" dialog;
#X obj 19 1783 bag;
#X text 119 1783 - set of numbers;
#X obj 19 1813 poly;
#X text 119 1813 - polyphonic voice allocation;
#X obj 19 1843 key;
#X obj 53 1843 keyup;
#X text 119 1843 - numeric key values from keyboard;
#X obj 19 1866 keyname;
#X text 119 1866 - symbolic key name;
#X text 144 1960 - arithmetic on audio signals;
#X text 116 1992 - maximum or minimum of 2 inputs;
#X obj 16 2022 clip~;
#X text 116 2022 - constrict signal to lie between two bounds;
#X obj 16 2052 q8_rsqrt~;
#X text 116 2052 - cheap reciprocal square root (beware -- 8 bits!)
;
#X obj 16 2082 q8_sqrt~;
#X text 116 2082 - cheap square root (beware -- 8 bits!);
#X obj 16 2112 wrap~;
#X text 116 2112 - wraparound (fractional part;
#X obj 16 2142 fft~;
#X text 116 2142 - complex forward discrete Fourier transform;
#X obj 16 2172 ifft~;
#X text 116 2172 - complex inverse discrete Fourier transform;
#X obj 16 2202 rfft~;
#X text 116 2202 - real forward discrete Fourier transform;
#X obj 16 2232 rifft~;
#X text 116 2232 - real inverse discrete Fourier transform;
#X obj 16 2262 framp~;
#X text 116 2262 - estimate frequency and amplitude of FFT components;
#X obj 16 2292 mtof~;
#X obj 67 2292 ftom~;
#X obj 117 2292 rmstodb~;
#X obj 195 2292 dbtorms~;
#X obj 273 2292 rmstopow~;
#X obj 359 2292 powtorms~;
#X text 448 2293 - acoustic conversions;
#X obj 20 2355 dac~;
#X text 120 2355 - audio output;
#X obj 20 2385 adc~;
#X text 120 2385 - audio input;
#X obj 20 2415 sig~;
#X text 120 2415 - convert numbers to audio signals;
#X obj 20 2445 line~;
#X text 120 2445 - generate audio ramps;
#X obj 20 2475 vline~;
#X text 120 2475 - deluxe line~;
#X obj 20 2535 snapshot~;
#X text 120 2535 - sample a signal (convert it back to a number);
#X obj 20 2565 vsnapshot~;
#X text 120 2565 - deluxe snapshot~;
#X obj 20 2595 bang~;
#X text 120 2595 - send a bang message after each DSP block;
#X obj 20 2625 samplerate~;
#X text 120 2625 - get the sample rate;
#X obj 20 2655 send~;
#X text 120 2655 - nonlocal signal connection with fanout;
#X obj 20 2685 receive~;
#X text 120 2685 - get signal from send~;
#X obj 20 2715 throw~;
#X text 120 2715 - add to a summing bus;
#X obj 20 2745 catch~;
#X text 120 2745 - define and read a summing bus;
#X obj 20 2775 block~;
#X text 120 2775 - specify block size and overlap;
#X obj 20 2805 switch~;
#X text 120 2805 - switch DSP computation on and off;
#X obj 20 2835 readsf~;
#X text 120 2835 - soundfile playback from disk;
#X obj 20 2865 writesf~;
#X text 120 2865 - record sound to disk;
#X obj 17 2927 phasor~;
#X text 117 2927 - sawtooth oscillator;
#X obj 17 2957 cos~;
#X text 117 2957 - cosine;
#X obj 17 2987 osc~;
#X text 117 2987 - cosine oscillator;
#X obj 17 3017 tabwrite~;
#X text 117 3017 - write to a table;
#X obj 17 3047 tabplay~;
#X text 117 3047 - play back from a table (non-transposing);
#X obj 17 3077 tabread~;
#X text 117 3077 - non-interpolating table read;
#X obj 17 3107 tabread4~;
#X text 117 3107 - four-point interpolating table read;
#X obj 17 3137 tabosc4~;
#X text 117 3137 - wavetable oscillator;
#X obj 17 3167 tabsend~;
#X text 117 3167 - write one block continuously to a table;
#X obj 17 3197 tabreceive~;
#X text 117 3197 - read one block continuously from a table;
#X text 18 3228 -------------------- AUDIO FILTERS ------------------------
;
#X obj 18 3258 vcf~;
#X text 118 3258 - voltage controlled filter;
#X obj 18 3288 noise~;
#X text 118 3288 - white noise generator;
#X obj 18 3318 env~;
#X text 118 3318 - envelope follower;
#X obj 18 3348 hip~;
#X text 118 3348 - high pass filter;
#X obj 18 3378 lop~;
#X text 118 3378 - low pass filter;
#X obj 18 3408 bp~;
#X text 118 3408 - band pass filter;
#X obj 18 3438 biquad~;
#X text 118 3438 - raw filter;
#X obj 18 3468 samphold~;
#X text 118 3468 - sample and hold unit;
#X obj 18 3498 print~;
#X text 118 3498 - print out one or more "blocks";
#X obj 18 3528 rpole~;
#X text 118 3528 - raw real-valued one-pole filter;
#X obj 18 3558 rzero~;
#X text 118 3558 - raw real-valued one-zero filter;
#X obj 18 3588 rzero_rev~;
#X text 121 3588 - time-reversed;
#X obj 18 3618 cpole~;
#X obj 77 3618 czero~;
#X text 214 3618 - corresponding complex-valued filters;
#X text 18 3648 -------------------- AUDIO DELAY ------------------------
;
#X obj 18 3678 delwrite~;
#X text 118 3678 - write to a delay line;
#X obj 18 3708 delread~;
#X text 118 3708 - read from a delay line;
#X obj 18 3738 vd~;
#X text 118 3738 - read from a delay line at a variable delay time
;
#N canvas 0 0 450 300 (subpatch) 0;
#X restore 18 3798 pd;
#X text 118 3798 - define a subwindow;
#X obj 18 3828 table;
#X text 118 3828 - array of numbers in a subwindow;
#X obj 18 3858 inlet;
#X text 118 3858 - add an inlet to a pd;
#X obj 18 3888 outlet;
#X text 118 3888 - add an outlet to a pd;
#X obj 18 3918 inlet~;
#X obj 78 3918 outlet~;
#X obj 18 3978 struct;
#X text 118 3978 - define a data structure;
#X obj 18 4008 drawcurve;
#X obj 106 4008 filledcurve;
#X text 219 4008 - draw a curve;
#X obj 18 4038 drawpolygon;
#X obj 123 4038 filledpolygon;
#X text 253 4038 - draw a polygon;
#X obj 18 4068 plot;
#X text 118 4068 - plot an array field;
#X obj 18 4098 drawnumber;
#X text 118 4098 - print a numeric value;
#X obj 18 4158 pointer;
#X text 118 4158 - point to an object belonging to a template;
#X obj 18 4188 get;
#X text 118 4188 - get numeric fields;
#X obj 18 4218 set;
#X text 118 4218 - change numeric fields;
#X obj 18 4248 element;
#X text 118 4248 - get an array element;
#X obj 18 4278 getsize;
#X text 118 4278 - get the size of an array;
#X obj 18 4308 setsize;
#X text 118 4308 - change the size of an array;
#X obj 18 4338 append;
#X text 118 4338 - add an element to a list;
#X obj 18 4368 sublist;
#X obj 14 4449 scalar;
#X text 104 4448 - draw a scalar on parent;
#X obj 15 4479 scope~;
#X text 115 4479 (use tabwrite~ now);
#X obj 15 4509 namecanvas;
#X obj 15 4539 template;
#X text 115 4539 (use struct now);
#X obj 136 3618 czero_rev~;
#X text 20 2324 ------------- AUDIO GLUE ----------------------------
;
#X obj 20 2505 threshold~;
#X text 120 2505 - detect signal thresholds;
#X text 16 1930 ---------------------- AUDIO MATH -----------------------
;
#X text 17 1419 --------------------- TABLES -------------------------
;
#X text 18 1539 --------------------- MISC ----------------------;
#X text 20 961 ------------------------- MATH -----------------;
#X text 19 721 ------------------------- TIME --------------------------
;
#X text 17 1232 ------------------------ MIDI -------------------------
;
#X text 24 120 --------------- GLUE ----------------;
#X text 18 3768 ------------------------ SUBWINDOWS ------------------------
;
#X text 18 3948 ---------------------- DATA TEMPLATES ----------------------
;
#X text 18 4128 ---------------------- ACCESSING DATA ----------------------
;
#X text 17 2897 ------------ AUDIO OSCILLATORS AND TABLES -------------
;
#X obj 57 1992 min~;
#X obj 16 1992 max~;
#X obj 19 1014 ==;
#X obj 51 1014 !=;
#X obj 83 1014 >;
#X obj 115 1014 <;
#X obj 146 1014 >=;
#X obj 177 1014 <=;
#X text 18 4410 ------------------------ OBSOLETE --------------------------
;
#X obj 51 991 -;
#X obj 84 991 *;
#X obj 116 991 /;
#X obj 149 991 pow;
#X obj 19 991 +;
#X obj 19 1037 &;
#X obj 47 1037 &&;
#X obj 74 1038 |;
#X obj 102 1038 ||;
#X obj 129 1038 %;
#X obj 16 1960 +~;
#X obj 48 1960 -~;
#X obj 79 1960 *~;
#X obj 111 1960 /~;
#X obj 19 1895 declare;
#X text 119 1895 - set search path and/or load libraries;
#X text 156 3919 - signal versions;
#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 double-click on a Macintosh) on any object to get its
"help window".;
#X text 118 4368 - get a pointer into a list within a scalar;
