#N canvas 677 23 576 704 12;
#X declare;
#X obj 29 116 bang;
#X text 129 116 - output a bang message;
#X obj 29 140 float;
#X text 129 140 - store and recall a number;
#X obj 29 164 symbol;
#X text 129 164 - store and recall a symbol;
#X obj 29 188 int;
#X text 129 188 - store and recall an integer;
#X obj 29 212 send;
#X text 129 212 - send a message to a named object;
#X obj 29 236 receive;
#X text 129 236 - catch "sent" messages;
#X obj 29 260 select;
#X text 129 260 - test for matching numbers or symbols;
#X obj 29 284 route;
#X text 129 284 - route messages according to first element;
#X obj 29 308 pack;
#X text 129 308 - make compound messages;
#X obj 29 332 unpack;
#X text 129 332 - get elements of compound messages;
#X obj 29 356 trigger;
#X text 129 356 - sequence and convert messages;
#X obj 29 380 spigot;
#X text 129 380 - interruptible message connection;
#X obj 29 404 moses;
#X text 129 404 - part a numeric stream;
#X obj 29 428 until;
#X text 129 428 - looping mechanism;
#X obj 29 452 print;
#X text 129 452 - print out messages;
#X obj 29 506 makefilename;
#X text 128 506 - format a symbol with a variable field;
#X obj 29 530 change;
#X text 129 530 - remove repeated numbers from a stream;
#X obj 29 555 swap;
#X text 129 555 - swap two numbers;
#X obj 29 579 value;
#X text 129 579 - shared numeric value;
#X obj 27 748 delay;
#X obj 27 772 metro;
#X obj 27 796 line;
#X text 127 796 - send a series of linearly stepped numbers;
#X obj 27 820 timer;
#X text 127 820 - measure time intervals;
#X obj 27 844 cputime;
#X text 127 844 - measure CPU time;
#X obj 27 868 realtime;
#X text 127 868 - measure real time;
#X obj 27 892 pipe;
#X text 127 892 - dynamically growable delay line for numbers;
#X text 217 973 - arithmetic;
#X text 218 996 - relational tests;
#X text 260 1021 - bit twiddling;
#X obj 28 1049 mtof;
#X obj 28 1071 ftom;
#X obj 69 1049 powtodb;
#X obj 137 1048 rmstodb;
#X obj 69 1070 dbtopow;
#X obj 137 1070 dbtorms;
#X text 219 1062 - convert acoustical units;
#X obj 27 1094 mod;
#X obj 58 1094 div;
#X obj 89 1094 sin;
#X obj 120 1094 cos;
#X obj 151 1094 tan;
#X obj 27 1116 atan;
#X obj 67 1116 atan2;
#X obj 116 1116 sqrt;
#X obj 156 1116 log;
#X obj 187 1116 exp;
#X obj 218 1116 abs;
#X text 258 1106 - higher math;
#X obj 27 1138 random;
#X text 127 1138 - lower math;
#X obj 27 1161 max;
#X obj 59 1161 min;
#X text 127 1161 - greater or lesser of 2 numbers;
#X obj 27 1184 clip;
#X text 127 1184 - force a number into a range;
#X obj 28 1267 notein;
#X obj 87 1267 ctlin;
#X obj 138 1267 pgmin;
#X obj 188 1267 bendin;
#X obj 247 1267 touchin;
#X obj 28 1291 polytouchin;
#X obj 316 1266 midiin;
#X obj 127 1291 sysexin;
#X text 375 1283 - MIDI input;
#X obj 27 1323 noteout;
#X obj 95 1323 ctlout;
#X obj 155 1323 pgmout;
#X obj 214 1323 bendout;
#X obj 27 1345 touchout;
#X obj 105 1345 polytouchout;
#X obj 218 1345 midiout;
#X text 296 1333 - MIDI output;
#X obj 27 1376 makenote;
#X obj 27 1400 stripnote;
#X text 117 1400 - strip "note off" messages;
#X obj 26 1533 tabread;
#X text 126 1533 - read a number from a table;
#X obj 26 1556 tabread4;
#X text 126 1556 - read a number from a table;
#X obj 26 1579 tabwrite;
#X text 126 1579 - write a number to a table;
#X obj 26 1603 soundfiler;
#X text 126 1603 - read and write tables to soundfiles;
#X obj 26 1703 loadbang;
#X text 126 1703 - bang on load;
#X obj 25 1803 netsend;
#X text 125 1803 - send messages over the internet;
#X obj 25 1826 netreceive;
#X text 125 1826 - receive them;
#X obj 25 1858 qlist;
#X text 125 1858 - message sequencer;
#X text 125 1882 - file to message converter;
#X obj 25 1967 openpanel;
#X text 125 1967 - "Open" dialog;
#X obj 25 1990 savepanel;
#X text 125 1990 - "Save as" dialog;
#X obj 26 2018 bag;
#X obj 27 1425 poly;
#X text 118 1425 - polyphonic voice allocation;
#X obj 26 2046 key;
#X obj 60 2046 keyup;
#X text 126 2046 - numeric key values from keyboard;
#X obj 26 2069 keyname;
#X text 126 2069 - symbolic key name;
#X text 159 2163 - arithmetic on audio signals;
#X text 131 2193 - maximum or minimum of 2 inputs;
#X obj 31 2221 clip~;
#X text 131 2221 - constrict signal to lie between two bounds;
#X obj 31 2324 wrap~;
#X obj 31 2352 fft~;
#X text 131 2352 - complex forward discrete Fourier transform;
#X obj 31 2374 ifft~;
#X text 131 2374 - complex inverse discrete Fourier transform;
#X obj 31 2404 rfft~;
#X text 131 2404 - real forward discrete Fourier transform;
#X obj 31 2426 rifft~;
#X text 131 2426 - real inverse discrete Fourier transform;
#X obj 31 2480 framp~;
#X text 131 2480 - estimate frequency and amplitude of FFT components
;
#X obj 31 2510 mtof~;
#X obj 82 2510 ftom~;
#X obj 132 2510 rmstodb~;
#X obj 210 2510 dbtorms~;
#X text 289 2510 - acoustic conversions;
#X obj 31 2571 dac~;
#X text 131 2571 - audio output;
#X obj 31 2595 adc~;
#X text 131 2595 - audio input;
#X obj 31 2619 sig~;
#X text 131 2619 - convert numbers to audio signals;
#X obj 31 2643 line~;
#X text 131 2643 - generate audio ramps;
#X obj 31 2667 vline~;
#X text 131 2667 - deluxe line~;
#X obj 31 2715 snapshot~;
#X text 131 2715 - sample a signal (convert it back to a number);
#X obj 31 2739 vsnapshot~;
#X text 131 2739 - deluxe snapshot~;
#X obj 31 2763 bang~;
#X text 131 2763 - send a bang message after each DSP block;
#X obj 31 2787 samplerate~;
#X text 131 2787 - get the sample rate;
#X obj 31 2811 send~;
#X text 131 2811 - nonlocal signal connection with fanout;
#X obj 31 2835 receive~;
#X text 131 2835 - get signal from send~;
#X obj 31 2859 throw~;
#X text 131 2859 - add to a summing bus;
#X obj 31 2883 catch~;
#X text 131 2883 - define and read a summing bus;
#X obj 29 3888 block~;
#X obj 31 2907 readsf~;
#X text 131 2907 - soundfile playback from disk;
#X obj 31 2931 writesf~;
#X text 131 2931 - record sound to disk;
#X obj 28 3036 phasor~;
#X obj 28 3060 cos~;
#X obj 28 3084 osc~;
#X text 128 3084 - cosine oscillator;
#X obj 28 3108 tabwrite~;
#X text 128 3108 - write to a table;
#X obj 28 3132 tabplay~;
#X text 128 3132 - play back from a table (non-transposing);
#X obj 28 3156 tabread~;
#X text 128 3156 - non-interpolating table read;
#X obj 28 3180 tabread4~;
#X text 128 3180 - four-point interpolating table read;
#X obj 28 3204 tabosc4~;
#X text 128 3204 - wavetable oscillator;
#X obj 28 3228 tabsend~;
#X text 128 3228 - write one block continuously to a table;
#X obj 28 3252 tabreceive~;
#X text 128 3252 - read one block continuously from a table;
#X text 23 3286 -------------------- AUDIO FILTERS ------------------------
;
#X obj 27 3308 vcf~;
#X text 128 3308 - voltage controlled filter;
#X obj 28 3011 noise~;
#X text 129 3011 - white noise generator;
#X obj 27 3334 env~;
#X text 128 3334 - envelope follower;
#X obj 27 3358 hip~;
#X text 128 3358 - high pass filter;
#X obj 27 3382 lop~;
#X text 128 3382 - low pass filter;
#X obj 27 3431 bp~;
#X text 127 3431 - band pass filter;
#X obj 27 3455 biquad~;
#X obj 27 3479 samphold~;
#X text 127 3479 - sample and hold unit;
#X obj 31 2956 print~;
#X text 131 2956 - print out one or more "blocks";
#X obj 27 3504 rpole~;
#X text 127 3504 - raw real-valued one-pole filter;
#X obj 27 3528 rzero~;
#X text 127 3528 - raw real-valued one-zero filter;
#X obj 27 3552 rzero_rev~;
#X obj 27 3576 cpole~;
#X obj 86 3576 czero~;
#X text 227 3576 - corresponding complex-valued filters;
#X text 23 3606 -------------------- AUDIO DELAY ------------------------
;
#X obj 29 3630 delwrite~;
#X text 129 3630 - write to a delay line;
#X obj 29 3654 delread~;
#X text 129 3654 - read from a delay line;
#N canvas 0 50 450 300 (subpatch) 0;
#X restore 28 3752 pd;
#X text 128 3752 - define a subwindow;
#X obj 26 1627 table;
#X obj 28 3776 inlet;
#X obj 28 3800 outlet;
#X obj 28 3825 inlet~;
#X obj 82 3825 outlet~;
#X obj 29 3960 struct;
#X obj 29 4008 drawcurve;
#X obj 106 4008 filledcurve;
#X obj 29 3984 drawpolygon;
#X obj 121 3984 filledpolygon;
#X obj 29 4059 plot;
#X text 69 4059 - plot an array field;
#X obj 29 4033 drawnumber;
#X obj 30 4120 pointer;
#X text 130 4120 - point to an object belonging to a template;
#X obj 30 4144 get;
#X obj 30 4168 set;
#X obj 30 4192 element;
#X obj 30 4216 getsize;
#X text 130 4216 - get the size of an array;
#X obj 30 4240 setsize;
#X text 130 4240 - change the size of an array;
#X obj 30 4264 append;
#X obj 30 4288 scalar;
#X text 150 4704 (use tabwrite~ now);
#X obj 144 3576 czero_rev~;
#X obj 31 2691 threshold~;
#X text 131 2691 - detect signal thresholds;
#X text 26 2095 ---------------------- AUDIO MATH -----------------------
;
#X text 23 1681 --------------------- MISC ----------------------;
#X text 25 919 ------------------------- MATH -----------------;
#X text 25 718 ------------------------- TIME --------------------------
;
#X obj 72 2193 min~;
#X obj 31 2193 max~;
#X obj 27 997 ==;
#X obj 59 997 !=;
#X obj 91 997 >;
#X obj 123 997 <;
#X obj 154 997 >=;
#X obj 185 997 <=;
#X text 27 4648 ------------------------ OBSOLETE --------------------------
;
#X obj 59 974 -;
#X obj 92 974 *;
#X obj 124 974 /;
#X obj 157 974 pow;
#X obj 27 974 +;
#X obj 27 1020 &;
#X obj 59 1020 &&;
#X obj 91 1020 |;
#X obj 123 1020 ||;
#X obj 154 1020 %;
#X obj 31 2163 +~;
#X obj 63 2163 -~;
#X obj 94 2163 *~;
#X obj 126 2163 /~;
#X obj 26 1727 declare;
#X text 126 1727 - set search path and/or load libraries;
#X text 151 3824 - signal versions;
#X obj 27 1207 wrap;
#X text 126 1207 - wrap a number to range [0 \, 1);
#X text 131 2322 - wraparound (fractional part);
#X obj 30 2454 pow~;
#X obj 74 2454 log~;
#X obj 118 2454 exp~;
#X text 212 2456 - math;
#X obj 164 2455 abs~;
#X obj 29 603 list;
#X text 129 603 - manipulate lists;
#X text 117 1374 - schedule delayed "note off" message for a note-on
;
#X obj 26 1651 array;
#X text 128 1626 - create a named table;
#X text 125 1906 - general text handling;
#X text 129 1653 - general array creation and manipulation;
#X text 22 1506 ----------------- ARRAYS/TABLES -------------------
;
#X msg 35 4702 scope~;
#X msg 35 4731 template;
#X text 150 4731 (use struct now);
#X obj 25 1882 textfile;
#X obj 25 1906 text;
#X obj 185 1020 <<;
#X obj 216 1020 >>;
#X obj 31 2246 sqrt~;
#X obj 27 1452 oscparse;
#X obj 101 1452 oscformat;
#X text 23 4319 -------- "EXTRA" (patches and externs in pd/extra)
---------;
#X obj 31 4348 sigmund~;
#X text 131 4348 - pitch tracker;
#X obj 31 4373 bonk~;
#X text 131 4373 - attack detector;
#X obj 31 4398 choice;
#X text 131 4398 - best match of list to templates;
#X obj 31 4423 hilbert~;
#X obj 104 4423 complex-mod~;
#X text 201 4423 - phase quadrature / frequency shifting;
#X obj 31 4451 loop~;
#X text 127 4454 - phasor~ with S/H on its frequency input;
#X obj 31 4476 lrshift~;
#X text 127 4479 - left and right shift (useful with FFT objects);
#X obj 32 4502 pd~;
#X text 129 4500 - run another copy of Pd (for multiprocessing);
#X obj 32 4529 rev1~;
#X obj 82 4529 rev2~;
#X obj 131 4529 rev3~;
#X text 181 4529 - reverberators;
#X obj 65 4502 stdout;
#X obj 32 4556 bob~;
#X text 128 4558 - Moog resonant filter model;
#X obj 28 3726 clone;
#X obj 199 1292 midirealtimein;
#X obj 29 3680 delread4~;
#X text 128 3680 - read with a time-varying delay time;
#X obj 31 2271 rsqrt~;
#X text 120 2245 - approximate (16-bit) square root;
#X text 130 2273 - reciprocal square root;
#X obj 30 2295 q8_sqrt~;
#X obj 98 2295 q8_rsqrt~;
#X text 176 2295 - fast \, cheap 8 bits versions;
#X obj 31 2122 expr~;
#X obj 28 944 expr;
#X obj 84 2122 fexpr~;
#X text 150 2123 - C-style expressions;
#X text 128 942 - C-style expressions;
#X text 31 1237 ---------I/O via MIDI \, OSC \, and FUDI --------------------
;
#X text 185 1452 - OSC messages to and from Pd lists;
#X obj 26 1478 fudiparse;
#X obj 105 1478 fudiformat;
#X text 201 1480 - FUDI messages to and from Pd lists;
#X msg 81 3888 switch;
#X text 146 3887 - specify block size and overlap \, or \, if invoked
as "switch" \, also switch subpatches on and off;
#X obj 111 4033 drawsymbol;
#X obj 192 4033 drawtext;
#X obj 26 1750 savestate;
#X text 126 1750 - mechanism for saving state of an abstraction;
#X obj 27 3406 slop~;
#X text 127 3406 - slew-limiting (nonlinear) low pass filter;
#X obj 26 1773 pdcontrol;
#X text 126 1773 - communicate with canvas (for example \, to get directory)
;
#X text 129 3726 - multiple copies of a patch;
#X obj 29 479 trace;
#X text 129 478 - message tracing for debugging;
#X obj 26 1936 file;
#X text 125 1935 - low-level file operations;
#X obj 36 4673 fiddle~;
#X obj 97 4673 pique;
#X text 29 86 --------------------- GENERAL --------------------------
;
#X text 112 678 <==;
#X text 142 671 click and open for all Graphical User Interface (GUI)
objects in Pd, f 34;
#X text 24 636 -------------------------- GUIs -------------------------
;
#X text 128 3036 - phase ramp generator;
#X text 56 24 The following is a list of built-in objects in Pd. Right-click
(or control-click on a Macintosh) on any object to get its "help window".
, f 50;
#X text 23 3930 --------------- DATA STRUCTURE TEMPLATES ------------------
;
#X text 23 4090 -------------- ACCESSING DATA STRUCTURES -------------------
;
#X text 130 4287 - create a single scalar (experimental);
#X text 126 2018 - collection of numbers;
#X obj 28 3854 namecanvas;
#X text 129 3855 - attach a name to a pd window;
#X text 128 3776 - add an inlet to a pd window;
#X text 128 3800 - add an outlet to a pd window;
#X text 20 3705 -------------------- PATCH/SUBPATCH ------------------------
;
#X text 130 3552 - time-reversed one-zero filter;
#X text 127 3455 - raw biquad filter;
#X text 128 3060 - cosine wavetable;
#X text 22 2983 ------------ AUDIO GENERATORS AND TABLES -------------
;
#X text 31 2540 ------------- GENERAL AUDIO TOOLS --------------;
#X text 150 4675 (from 'extra': use sigmund~ now);
#X obj 33 4587 output~;
#X text 128 4595 - simple stereo output (used in the documentation)
;
#X text 127 748 - send a bang message after a time delay;
#X text 127 772 - send a bang message periodically (a la metronome)
;
#X obj 41 678 all_guis;
#X text 130 4192 - get pointer to an array element;
#X text 223 3984 - draw polygon shapes;
#X text 101 3960 - define a data structure template;
#X text 224 4008 - draw shapes with bezier curve;
#X text 259 4032 - draw number/symbol/text fields;
#X text 130 4144 - get field values (floats/symbols) from a scalar
;
#X text 130 4168 - set field values (floats/symbols) of a scalar;
#X text 130 4264 - add a scalar to a Data Structure list;
