#N canvas 409 36 591 628 12;
#X declare;
#X obj 46 2475 delay;
#X obj 46 2522 metro;
#X obj 46 2546 line;
#X obj 46 2570 timer;
#X obj 46 2594 cputime;
#X obj 46 2618 realtime;
#X text 178 2623 - measure real time;
#X obj 46 2499 pipe;
#X obj 48 3017 random;
#X obj 176 3048 max;
#X obj 208 3048 min;
#X obj 48 2986 clip;
#X obj 48 3538 notein;
#X obj 98 3538 ctlin;
#X obj 140 3538 pgmin;
#X obj 183 3538 bendin;
#X obj 231 3538 touchin;
#X obj 48 3562 polytouchin;
#X obj 298 3551 midiin;
#X obj 133 3562 sysexin;
#X text 357 3552 - MIDI input;
#X obj 47 3594 noteout;
#X obj 104 3594 ctlout;
#X obj 153 3594 pgmout;
#X obj 204 3594 bendout;
#X obj 47 3616 touchout;
#X obj 114 3616 polytouchout;
#X obj 208 3616 midiout;
#X text 273 3604 - MIDI output;
#X obj 47 3646 makenote;
#X obj 47 3671 stripnote;
#X text 178 3670 - strip "note off" messages;
#X obj 55 1117 tabread;
#X obj 55 1140 tabread4;
#X obj 55 1163 tabwrite;
#X obj 55 1187 soundfiler;
#X obj 42 6190 loadbang;
#X obj 56 1544 qlist;
#X obj 47 3696 poly;
#X obj 46 5006 clip~;
#X obj 46 4969 wrap~;
#X obj 50 7429 framp~;
#X obj 49 4301 dac~;
#X text 174 4301 - audio output;
#X obj 49 4275 adc~;
#X text 174 4275 - audio input;
#X obj 49 4326 sig~;
#X text 174 4326 - convert numbers to audio signals;
#X obj 49 4350 line~;
#X obj 49 4374 vline~;
#X obj 49 4447 snapshot~;
#X obj 49 4471 vsnapshot~;
#X obj 49 4521 bang~;
#X obj 49 4545 samplerate~;
#X obj 49 4570 send~;
#X obj 92 4570 receive~;
#X obj 49 4597 throw~;
#X obj 100 4597 catch~;
#X obj 43 6448 block~;
#X obj 49 4624 readsf~;
#X text 174 4624 - soundfile playback from disk;
#X obj 49 4648 writesf~;
#X obj 43 5376 phasor~;
#X obj 43 5400 cos~;
#X obj 43 5424 osc~;
#X obj 43 5496 tabwrite~;
#X obj 43 5472 tabplay~;
#X text 173 5472 - play back from a table (non-transposing);
#X obj 43 5520 tabread~;
#X obj 43 5544 tabread4~;
#X obj 43 5448 tabosc4~;
#X obj 43 5568 tabsend~;
#X text 173 5568 - write one block continuously to a table;
#X obj 43 5592 tabreceive~;
#X text 173 5592 - read one block continuously from a table;
#X obj 42 5699 vcf~;
#X obj 43 5351 noise~;
#X obj 49 4424 env~;
#X text 174 4423 - envelope follower;
#X obj 42 5726 hip~;
#X obj 42 5750 lop~;
#X obj 42 5800 bp~;
#X obj 42 5824 biquad~;
#X obj 49 4497 samphold~;
#X text 174 4496 - sample and hold unit;
#X obj 49 4673 print~;
#X text 174 4673 - print out one or more "blocks";
#X obj 42 5850 rpole~;
#X text 173 5849 - raw real-valued one-pole filter;
#X obj 42 5874 rzero~;
#X text 173 5873 - raw real-valued one-zero filter;
#X obj 42 5898 rzero_rev~;
#X obj 42 5923 cpole~;
#X obj 99 5923 czero~;
#X obj 42 6029 delwrite~;
#X obj 42 6053 delread~;
#N canvas 52 50 450 300 (subpatch) 0;
#X restore 42 6318 pd;
#X obj 55 1216 table;
#X obj 42 6344 inlet;
#X obj 42 6370 outlet;
#X obj 42 6396 inlet~;
#X obj 96 6396 outlet~;
#X obj 44 6564 struct;
#X obj 44 6612 drawcurve;
#X obj 121 6612 filledcurve;
#X obj 44 6588 drawpolygon;
#X obj 136 6588 filledpolygon;
#X obj 44 6663 plot;
#X obj 44 6637 drawnumber;
#X obj 45 6719 pointer;
#X obj 45 6743 get;
#X obj 45 6767 set;
#X obj 45 6791 element;
#X obj 45 6815 getsize;
#X obj 45 6839 setsize;
#X obj 45 6863 append;
#X obj 45 6690 scalar;
#X obj 155 5923 czero_rev~;
#X obj 49 4398 threshold~;
#X obj 83 4907 min~;
#X obj 46 4907 max~;
#X obj 81 3048 -;
#X obj 114 3048 *;
#X obj 146 3048 /;
#X obj 49 3048 +;
#X obj 46 4883 +~;
#X obj 76 4883 -~;
#X obj 105 4883 *~;
#X obj 135 4883 /~;
#X obj 42 6215 declare;
#X text 174 6395 - signal versions, f 48;
#X obj 158 4907 pow~;
#X obj 121 4907 log~;
#X obj 89 4969 exp~;
#X obj 46 4943 abs~;
#X text 178 3645 - schedule delayed "note off" message for a note-on;
#X obj 55 1589 textfile;
#X obj 83 4943 sqrt~;
#X obj 47 3722 oscparse;
#X obj 47 3746 oscformat;
#X obj 45 6986 sigmund~;
#X obj 45 7011 bonk~;
#X obj 45 7036 choice;
#X obj 45 7061 hilbert~;
#X obj 45 7089 complex-mod~;
#X obj 45 7117 loop~;
#X obj 45 7144 lrshift~;
#X obj 46 7170 pd~;
#X obj 46 7227 rev1~;
#X obj 91 7227 rev2~, f 7;
#X obj 149 7227 rev3~, f 7;
#X text 207 7227 - reverberators;
#X obj 46 7197 stdout;
#X obj 46 7254 bob~;
#X obj 42 6265 clone;
#X obj 190 3562 midirealtimein;
#X obj 42 6079 delread4~;
#X obj 126 4943 rsqrt~;
#X obj 50 7521 q8_sqrt~;
#X obj 50 7548 q8_rsqrt~;
#X obj 46 4851 expr~;
#X obj 47 2954 expr;
#X obj 93 4851 fexpr~;
#X text 178 2955 - C-style expressions;
#X obj 126 6637 drawsymbol;
#X obj 207 6637 drawtext;
#X obj 42 6239 savestate;
#X obj 42 5775 slop~, f 7;
#X obj 42 6291 pdcontrol;
#X obj 51 7459 fiddle~;
#X obj 112 7459 pique;
#X text 200 255 click and open for all Graphical User Interface (GUI) objects in Pd, f 48;
#X text 173 5376 - phase ramp generator;
#X text 175 6689 - create a single scalar (experimental);
#X obj 42 6422 namecanvas;
#X text 175 6421 - attach a name to a pd window, f 48;
#X text 173 5400 - cosine wavetable;
#X obj 46 7285 output~;
#X text 178 2480 - send a bang message after a time delay;
#X text 178 2527 - send a bang message periodically (a la metronome);
#X obj 54 256 all_guis;
#X text 175 6564 - define a data structure template;
#X text 274 6636 - draw number/symbol/text fields;
#X text 175 6743 - get field values (floats/symbols) from a scalar;
#X text 175 6767 - set field values (floats/symbols) of a scalar;
#X text 175 6863 - add a scalar to a Data Structure list;
#X obj 55 831 list append;
#X obj 55 856 list prepend;
#X obj 55 930 list trim;
#X obj 55 905 list split;
#X text 185 830 - append the second list to the first;
#X text 186 857 - prepend the second list to the first;
#X text 186 906 - split a list in two;
#X text 186 930 - trim the "list" selector off;
#X text 186 954 - output number of items in list;
#X obj 55 955 list length;
#X obj 55 980 list fromsymbol;
#X obj 55 1005 list tosymbol;
#X text 185 882 - build up or break down a list;
#X obj 55 881 list store;
#X text 187 979 - convert symbols to numeric characters;
#X text 187 1006 - convert numeric characters to symbols;
#X obj 56 1275 array size;
#X obj 56 1253 array define;
#X obj 56 1297 array sum;
#X obj 56 1363 array quantile;
#X obj 56 1319 array get;
#X obj 56 1341 array set;
#X obj 56 1385 array random;
#X obj 56 1407 array max;
#X obj 56 1430 array min;
#X text 186 1385 - array as weighted probabilities;
#X text 187 1253 - create \, store \, and/or edit an array;
#X text 187 1275 - get or change array size;
#X text 187 1297 - sum all or a range of array's elements;
#X text 186 1319 - get array contents as a list;
#X text 186 1341 - set array contents from a list;
#X text 186 1363 - get array quantile;
#X text 186 1407 - find highest value in array;
#X text 186 1430 - find lowest value in array;
#X obj 48 3177 sin;
#X obj 81 3177 cos;
#X obj 113 3177 tan;
#X obj 145 3177 atan;
#X obj 183 3177 atan2;
#X obj 76 3141 sqrt;
#X obj 238 3048 log;
#X obj 148 3141 exp;
#X obj 48 3141 abs;
#X obj 113 3141 wrap;
#X obj 266 3048 pow;
#X obj 48 3081 >;
#X obj 76 3081 >=;
#X obj 132 3081 <=;
#X obj 104 3081 <;
#X obj 161 3081 ==;
#X obj 189 3081 !=;
#X obj 217 3081 div;
#X obj 217 3105 mod;
#X obj 48 3105 &&;
#X obj 76 3105 ||;
#X obj 104 3105 &;
#X obj 132 3105 |;
#X obj 160 3105 <<;
#X obj 189 3105 >>;
#X text 177 3017 - pseudo random integers;
#X msg 95 6448 switch~;
#X text 175 6444 - set block size \, overlap and up/downsampling (also switch subpatches if invoked as [switch~]), f 48;
#X obj 55 1636 text define;
#X obj 55 1659 text get;
#X obj 55 1757 text size;
#X obj 55 1683 text set;
#X obj 55 1781 text tolist;
#X obj 55 1805 text fromlist;
#X obj 55 1828 text search;
#X obj 55 1851 text sequence;
#X obj 55 1732 text delete;
#X obj 55 1707 text insert;
#X text 188 1635 - create \, store \, and/or edit a text;
#X text 188 1658 - get a line from a text;
#X text 188 1682 - replace or add a line to a text;
#X text 188 1706 - insert a line to a text;
#X text 188 1731 - delete a line or clear text;
#X text 188 1756 - get number of lines in a text;
#X text 188 1780 - convert a text into list;
#X text 188 1804 - convert from a list to a text;
#X text 188 1827 - search for a line in a text;
#X text 188 1850 - text based sequencer/message-sender;
#X text 188 1584 - read/write text files (rather deprecated \, check the ones below instead), f 43;
#X obj 55 1969 file handle;
#X obj 55 2164 file stat;
#X text 188 1968 - read/write binary files;
#X text 185 2107 - find a file in Pd's search-path;
#X text 185 2136 - list files in directories;
#X obj 55 2136 file glob;
#X obj 55 2106 file which;
#X obj 55 2023 file mkdir;
#X text 189 2024 - create a directory;
#X obj 56 2270 file delete;
#X text 194 2271 - delete files and directories;
#X obj 56 2215 file copy;
#X text 194 2216 - copy files;
#X obj 56 2242 file move;
#X text 194 2243 - move files;
#X obj 56 2305 file split;
#X obj 56 2330 file join;
#X obj 137 2305 file splitext;
#X obj 130 2330 file splitname;
#X text 255 2331 - filename operations;
#X obj 56 2189 file isfile;
#X obj 127 2164 file isdirectory;
#X obj 146 2189 file size;
#X text 256 2167 - get information on existing files, f 18;
#X obj 55 1996 file define \$0.f;
#X text 188 1995 - shared file handles;
#X obj 48 4221 snake~ in;
#X obj 48 4248 snake~ out;
#X text 174 4220 - combine mono signals into multichannel signals;
#X text 174 4247 - split multichannel signals into mono signals;
#X text 240 5922 - complex-valued variants;
#X text 22 218 ----------------------------------- GUIs -----------------------------------, f 76;
#X text 15 1087 ------------------------------ ARRAYS/TABLES -------------------------------, f 77;
#X text 3 4187 --------------------------- GENERAL AUDIO TOOLS ----------------------------, f 77;
#X text 3 5317 ----------------------- AUDIO GENERATORS AND TABLES ------------------------, f 77;
#X text 9 6005 ---------------------------- AUDIO DELAY -----------------------------------, f 76;
#X text 8 5673 ---------------------------- AUDIO FILTERS ---------------------------------, f 76;
#X text 1 6164 ---------------------------- PATCH/SUBPATCH ---------------------------------, f 77;
#X text -2 6534 ------------------------------ DATA STRUCTURES -------------------------------, f 79;
#X text 3 6948 ----------------- "EXTRA" (patches and externs in pd/extra) ------------------, f 78;
#X text 7 7665 ------------------------------------------------------------------------------, f 78;
#X text 15 26 ------------------------------------------------------------------------------, f 78;
#X text 16 1512 ------------------------------ TEXT MANAGEMENT ------------------------------, f 78;
#X text 13 1933 ----------------------------- FILE MANAGEMENT ------------------------------, f 78;
#X text 19 745 ----------------------------- LIST MANAGEMENT -------------------------------, f 78;
#X obj 54 373 bang;
#X obj 55 502 float;
#X text 185 502 - store and recall a number;
#X obj 55 579 symbol;
#X text 185 579 - store and recall a symbol;
#X obj 55 528 int;
#X text 185 528 - store and recall an integer;
#X obj 55 635 send;
#X obj 55 659 receive;
#X obj 54 424 route;
#X text 185 425 - route messages according to first element;
#X obj 54 775 pack;
#X obj 54 800 unpack;
#X obj 54 398 trigger;
#X obj 54 475 print;
#X text 185 476 - print out messages;
#X obj 55 606 makefilename;
#X obj 54 449 swap;
#X text 186 450 - swap two numbers;
#X obj 55 553 value;
#X text 185 553 - shared numeric value;
#X obj 48 3932 netsend;
#X obj 48 3958 netreceive;
#X text 177 3931 - send messages over a network connection;
#X text 177 3957 - receive messages over a network connection;
#X text 186 373 - convert to a bang message;
#X text 185 607 - format a symbol name with a variable field;
#X text 185 635 - send messages without patch cords;
#X text 185 659 - receive messages without patch cords;
#X obj 46 2733 select;
#X obj 46 2791 spigot;
#X obj 46 2818 moses;
#X text 178 2817 - part a numeric stream;
#X obj 46 2846 until;
#X obj 46 2763 change;
#X text 178 2762 - eliminate repeated numbers;
#X text 178 2790 - pass or block messages;
#X text 178 2845 - bang loop mechanism;
#X obj 48 4065 trace;
#X text 178 4064 - message tracing for debugging;
#X obj 48 3855 openpanel;
#X obj 48 3878 savepanel;
#X obj 48 4039 bag;
#X obj 48 3904 key;
#X obj 76 3904 keyup;
#X obj 118 3904 keyname;
#X text 178 4038 - collection of numbers;
#X obj 48 3986 fudiparse;
#X obj 48 4012 fudiformat;
#X text 178 3985 - convert FUDI messages to Pd messages;
#X text 178 4011 - convert Pd messages to FUDI message;
#X text 13 3828 ----------------------------------- MISC -----------------------------------, f 76;
#X text 178 3745 - convert lists to OSC packets;
#X text 178 3721 - parse OSC packets into Pd messages;
#X text 175 7491 (use [struct] now);
#X text 174 4374 - deluxe [line~];
#X text 174 4471 - deluxe [snapshot~];
#X text 124 255 <--------;
#X text 3 7397 ------------------------ OBSOLETE / DEPRECATED -------------------------------, f 78;
#X text 176 7522 (fast \, cheap 8 bits versions of square root functions \, use [srqt~]/[rsqrt~] instead), f 43;
#X text 3 5083 ---------------------- SIGNAL ACOUSTIC CONVERSIONS --------------------------, f 77;
#X obj 46 5114 mtof~;
#X obj 46 5139 ftom~;
#X obj 46 5163 dbtorms~;
#X obj 46 5186 rmstodb~;
#X obj 46 5210 dbtopow~;
#X obj 47 5234 powtodb~;
#X text 177 3297 - MIDI pitch to Frequency in hertz;
#X text 177 3347 - dB to linear "RMS";
#X text 177 3371 - linear "RMS" to dB;
#X text 177 3395 - dB to power unit (square of "RMS");
#X text 177 3418 - power unit (square of "RMS") to dB;
#X text 177 3323 - frequency in hertz to MIDI pitch;
#X text 10 3266 -------------------------- ACOUSTIC CONVERSIONS -----------------------------, f 77;
#X obj 53 3297 mtof;
#X obj 53 3322 ftom;
#X obj 53 3346 dbtorms;
#X obj 53 3369 rmstodb;
#X obj 53 3393 dbtopow;
#X obj 54 3417 powtodb;
#X text 185 399 - sequence messages in right-to-left order;
#X text 185 776 - combine atoms into a list;
#X text 185 801 - split lists into atoms;
#X text 187 1117 - non-interpolating table lookup;
#X text 187 1140 - 4-point-interpolating table lookup;
#X text 187 1163 - write numbers to a table;
#X text 187 1187 - import/export soundfiles to/from arrays;
#X text 178 2551 - timed ramp generator;
#X text 178 2575 - measure logical time;
#X text 178 2599 - measure CPU time/usage;
#X text 178 2504 - message "delay line";
#X text 178 2732 - compare numbers or symbols;
#X text 177 2987 - bound a number between two limits;
#X text 178 3695 - MIDI-style polyphonic voice allocator;
#X text 178 3855 - query for files or directories;
#X text 178 3878 - query you for the name of a file to create;
#X text 177 3903 - grab keyboard input;
#X text 174 4350 - audio ramp generator;
#X text 174 4398 - detect signal thresholds (schmitt trigger);
#X text 174 4447 - convert a signal to a number on demand;
#X text 174 4521 - output a bang after each DSP block;
#X text 174 4545 - get sample rate;
#X text 174 4569 - one-to-many nonlocal signal(s) connection;
#X text 174 4596 - summing signal bus and non-local connection;
#X text 174 4648 - record audio signals to a soundfile;
#X obj 46 4826 fft~;
#X obj 96 4827 ifft~;
#X text 175 4825 - forward and inverse complex FFT;
#X obj 46 4802 rfft~;
#X obj 96 4803 rifft~;
#X text 175 4801 - forward and inverse real FFT;
#X text 93 5006 - bound a signal between two limits;
#X text 174 5114 - MIDI pitch to Frequency in hertz for signals;
#X text 174 5140 - frequency in hertz to MIDI pitch for signals;
#X text 174 5164 - dB to linear "RMS" for signals;
#X text 174 5188 - linear "RMS" to dB for signals;
#X text 174 5212 - dB to power unit (square of "RMS") for signals;
#X text 174 5235 - power unit (square of "RMS") to dB for signals;
#X text 174 5351 - uniformly distributed white noise;
#X text 173 5424 - cosine wave oscillator;
#X text 173 5448 - 4-point interpolating wavetable oscillator;
#X text 173 5496 - write a signal in an array;
#X text 173 5520 - non-interpolating table lookup for signals;
#X text 173 5544 - 4-point-interpolating table lookup for signals;
#X text 173 5699 - voltage-controlled band/low-pass filter;
#X text 173 5725 - one-pole high pass filter;
#X text 173 5749 - one-pole low pass filter;
#X text 173 5774 - slew-limiting / low pass filter;
#X text 173 5799 - 2-pole band-pass filter;
#X text 173 5823 - raw biquad 2nd order filter;
#X text 173 5897 - real one-zero "reverse" filter;
#X text 173 6029 - writes a signal in a delay line;
#X text 173 6053 - read a signal from a delay line (no interpolation);
#X text 172 6079 - read from a delay line with 4-point interpolation;
#X text 172 6215 - set search path and/or libraries for the patch;
#X text 172 6190 - send a "bang" when loading the patch, f 48;
#X text 172 6239 - mechanism for saving the state of an abstraction;
#X text 173 6291 - get patch/window information;
#X text 175 6266 - make multiple copies of an abstraction;
#X text 188 1209 - create a subwindow with an array (rather deprecated \, check [array define] instead), f 42;
#X text 186 1542 - text-based sequencer (rather deprecated \, check [text sequence] instead), f 42;
#X text 173 6317 - create a subpatch;
#X text 174 6346 - add an inlet to a subpatch/abstraction, f 48;
#X text 174 6370 - add an outlet to a pd subpatch/abstraction, f 48;
#X text 175 6663 - draw array in a scalar;
#X text 238 6588 - draw polygon shapes in a scalar;
#X text 209 6612 - draw shapes with bezier curve in a scalar;
#X text 175 6719 - store the location of a scalar in a list;
#X text 175 6791 - get pointer to a Data Structure's array element;
#X text 175 6815 - get the size of a Data Structure's array;
#X text 175 6839 - change the size of a Data Structure's array;
#X text 175 7011 - attack detection and spectral envelope measurement;
#X text 175 6986 - signal analyzer (pitch/amplitude and more);
#X text 175 7036 - search for a best match to an incoming list;
#X text 175 7060 - hilbert transform;
#X text 175 7089 - complex amplitude modulator (frequency shifter);
#X text 175 7118 - phase generator for looping samplers;
#X text 175 7144 - shift block elements left or right;
#X text 175 7168 - run a Pd sub-proccess (for multiprocessing);
#X text 175 7195 - standard output for sub-process;
#X text 175 7256 - Moog analog lowpass resonant filter simulation;
#X text 175 7293 - simple stereo output GUI abstraction;
#X text 223 7314 (used in the documentation);
#X text 175 7429 - FFT frequency estimate (use [sigmund~] now);
#X text 173 7459 - pitch/peaks estimate (use [sigmund~] now);
#X obj 49 7578 %;
#X text 177 7576 (use [mod] instead);
#X text 20 2453 ----------------------------- TIME -----------------------------------------, f 76;
#X text 20 2703 ------------------------------ LOGIC ---------------------------------------, f 76;
#X text 14 2928 ------------------------------- MATH ----------------------------------------, f 77;
#X text 13 3502 ------------------------------ MIDI/OSC -------------------------------------, f 77;
#X obj 50 7490 template;
#X text 14 338 ------------------------- GENERAL DATA MANAGEMENT ----------------------------, f 78;
#X text 251 3093 - other binary operators;
#X obj 384 139 pd-messages;
#X text 104 61 This file contains 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 54;
#X text 104 113 But first \, we here present a help file with messages you can send to Pd or canvas windows., f 54;
#X text 230 3176 - trigonometric functions;
#X text 300 3047 - binary (two-input) operators;
#X text 182 3140 - unary (one-input) operators;
#X text 202 4952 - unary (one-input) signal operators;
#X text 202 4891 - binary (two-input) signal operators;
#X obj 163 2356 file isabsolute;
#X obj 56 2356 file normalize;
#X obj 55 2049 file cwd;
#X text 185 2048 - get/set the current working directory;
#X obj 55 2075 file patchpath;
#X text 185 2074 - get path relative to the patch;
#X text -3 4771 ------------------------------- SIGNAL MATH ---------------------------------, f 77;
#X text 175 4849 - C-style expressions / filter expressions;
