#N canvas 1 25 489 938 10; #X text 30 100 The "reference" section of the documentation should contain; #X text 30 130 a patch demonstrating how to use each of Pd's classes. As; #X text 30 250 straight off the "add" menu.; #X obj 30 310 bang; #X text 130 310 - output a bang message; #X obj 30 340 float; #X text 130 340 - store and recall a number; #X obj 30 370 symbol; #X text 130 370 - store and recall a symbol; #X obj 30 400 int; #X text 130 400 - store and recall an integer; #X obj 30 430 send; #X text 130 430 - send a message to a named object; #X obj 30 460 receive; #X text 130 460 - catch "sent" messages; #X obj 30 490 select; #X text 130 490 - test for matching numbers or symbols; #X obj 30 520 route; #X text 130 520 - route messages according to first element; #X obj 30 550 pack; #X text 130 550 - make compound messages; #X obj 30 580 unpack; #X text 130 580 - get elements of compound messages; #X obj 30 610 trigger; #X text 130 610 - sequence and convert messagess; #X obj 30 640 spigot; #X text 130 640 - interruptible message connection; #X obj 30 670 moses; #X text 130 670 - part a numeric stream; #X obj 30 700 until; #X text 130 700 - looping mechanism; #X obj 30 730 print; #X text 130 730 - print out messages; #X obj 30 760 makefilename; #X text 130 760 - format a symbol with a variable field; #X obj 30 790 change; #X text 130 790 - remove repeated numbers from a stream; #X obj 30 820 swap; #X text 130 820 - swap two numbers; #X obj 30 850 value; #X text 130 850 - shared numeric value; #X obj 30 910 delay; #X text 130 910 - send a message after a time delay; #X obj 30 940 metro; #X text 130 940 - send a message periodically; #X obj 30 970 line; #X text 130 970 - send a series of linearly stepped numbers; #X obj 30 1000 timer; #X text 130 1000 - measure time intervals; #X obj 30 1030 cputime; #X text 130 1030 - measure CPU time; #X obj 30 1060 realtime; #X text 130 1060 - measure real time; #X obj 30 1090 pipe; #X text 130 1090 - dynamically growable delay line for numbers; #X text 200 1150 - arithmetic; #X text 200 1180 - relational tests; #X text 200 1210 - bit twiddling; #X obj 30 1240 mtof; #X obj 64 1240 ftom; #X obj 98 1240 powtodb; #X obj 153 1240 rmstodb; #X obj 208 1240 dbtopow; #X obj 263 1240 dbtorms; #X text 326 1240 - convert acoustical units; #X obj 30 1270 mod; #X obj 57 1270 div; #X obj 84 1270 sin; #X obj 111 1270 cos; #X obj 138 1270 tan; #X obj 165 1270 atan; #X obj 199 1270 atan2; #X obj 240 1270 sqrt; #X obj 274 1270 log; #X obj 301 1270 exp; #X obj 328 1270 abs; #X text 356 1270 - higher math; #X obj 30 1300 random; #X text 130 1300 - lower math; #X obj 30 1330 max; #X obj 57 1330 min; #X text 130 1330 - greater or lesser of 2 numbers; #X obj 30 1360 clip; #X text 130 1360 - force a number into a range; #X obj 30 1420 notein; #X obj 78 1420 ctlin; #X obj 119 1420 pgmin; #X obj 160 1420 bendin; #X obj 208 1420 touchin; #X obj 263 1420 polytouchin; #X obj 346 1420 midiin; #X obj 394 1420 sysexin; #X text 452 1420 - MIDI input; #X obj 30 1450 noteout; #X obj 85 1450 ctlout; #X obj 133 1450 pgmout; #X obj 181 1450 bendout; #X obj 236 1450 touchout; #X obj 298 1450 polytouchout; #X obj 388 1450 midiout; #X text 452 1450 - MIDI output; #X obj 30 1480 makenote; #X text 130 1480 - schedule a delayed "note off" message corresponding to a note-on; #X obj 30 1510 stripnote; #X text 130 1510 - strip "note off" messages; #X obj 30 1570 tabread; #X text 130 1570 - read a number from a table; #X obj 30 1600 tabread4; #X text 130 1600 - read a number from a table; #X obj 30 1630 tabwrite; #X text 130 1630 - write a number to a table; #X obj 30 1660 soundfiler; #X text 130 1660 - read and write tables to soundfiles; #X obj 30 1720 loadbang; #X text 130 1720 - bang on load; #X obj 30 1750 serial; #X text 130 1750 - serial device control for NT only; #X obj 30 1780 netsend; #X text 130 1780 - send messages over the internet; #X obj 30 1810 netreceive; #X text 130 1810 - receive them; #X obj 30 1840 qlist; #X text 130 1840 - message sequencer; #X obj 30 1870 textfile; #X text 130 1870 - file to message converter; #X obj 30 1900 openpanel; #X text 130 1900 - "Open" dialog; #X obj 30 1930 savepanel; #X text 130 1930 - "Save as" dialog; #X obj 30 1960 bag; #X text 130 1960 - set of numbers; #X obj 30 1990 poly; #X text 130 1990 - polyphonic voice allocation; #X obj 30 2020 key; #X obj 57 2020 keyup; #X text 130 2020 - numeric key values from keyboard; #X obj 30 2050 keyname; #X text 130 2050 - symbolic key name; #X text 146 2110 - arithmetic on audio signals; #X text 130 2142 - maximum or minimum of 2 inputs; #X obj 30 2172 clip~; #X text 130 2172 - constrict signal to lie between two bounds; #X obj 30 2202 q8_rsqrt~; #X text 130 2202 - cheap reciprocal square root (beware -- 8 bits!) ; #X obj 30 2232 q8_sqrt~; #X text 130 2232 - cheap square root (beware -- 8 bits!); #X obj 30 2262 wrap~; #X text 130 2262 - wraparound (fractional part; #X obj 30 2292 fft~; #X text 130 2292 - complex forward discrete Fourier transform; #X obj 30 2322 ifft~; #X text 130 2322 - complex inverse discrete Fourier transform; #X obj 30 2352 rfft~; #X text 130 2352 - real forward discrete Fourier transform; #X obj 30 2382 rifft~; #X text 130 2382 - real inverse discrete Fourier transform; #X obj 30 2412 framp~; #X text 130 2412 - output a ramp for each block; #X obj 30 2442 mtof~; #X obj 71 2442 ftom~; #X obj 112 2442 rmstodb~; #X obj 174 2442 dbtorms~; #X obj 236 2442 rmstopow~; #X obj 305 2442 powtorms~; #X text 377 2441 - acoustic conversions; #X obj 30 2502 dac~; #X text 130 2502 - audio output; #X obj 30 2532 adc~; #X text 130 2532 - audio input; #X obj 30 2562 sig~; #X text 130 2562 - convert numbers to audio signals; #X obj 30 2592 line~; #X text 130 2592 - generate audio ramps; #X obj 30 2622 vline~; #X text 130 2622 - deluxe line~; #X obj 30 2682 snapshot~; #X text 130 2682 - sample a signal (convert it back to a number); #X obj 30 2712 vsnapshot~; #X text 130 2712 - deluxe snapshot~; #X obj 30 2742 bang~; #X text 130 2742 - send a bang message after each DSP block; #X obj 30 2772 samplerate~; #X text 130 2772 - get the sample rate; #X obj 30 2802 send~; #X text 130 2802 - nonlocal signal connection with fanout; #X obj 30 2832 receive~; #X text 130 2832 - get signal from send~; #X obj 30 2862 throw~; #X text 130 2862 - add to a summing bus; #X obj 30 2892 catch~; #X text 130 2892 - define and read a summing bus; #X obj 30 2922 block~; #X text 130 2922 - specify block size and overlap; #X obj 30 2952 switch~; #X text 130 2952 - switch DSP computation on and off; #X obj 30 2982 readsf~; #X text 130 2982 - soundfile playback from disk; #X obj 30 3012 writesf~; #X text 130 3012 - record sound to disk; #X obj 30 3072 phasor~; #X text 130 3072 - sawtooth oscillator; #X obj 30 3102 cos~; #X text 130 3102 - cosine; #X obj 30 3132 osc~; #X text 130 3132 - cosine oscillator; #X obj 30 3162 tabwrite~; #X text 130 3162 - write to a table; #X obj 30 3192 tabplay~; #X text 130 3192 - play back from a table (non-transposing); #X obj 30 3222 tabread~; #X text 130 3222 - non-interpolating table read; #X obj 30 3252 tabread4~; #X text 130 3252 - four-point interpolating table read; #X obj 30 3282 tabosc4~; #X text 130 3282 - wavetable oscillator; #X obj 30 3312 tabsend~; #X text 130 3312 - write one block continuously to a table; #X obj 30 3342 tabreceive~; #X text 130 3342 - read one block continuously from a table; #X text 30 3372 -------------------- AUDIO FILTERS ------------------------ ; #X obj 30 3402 vcf~; #X text 130 3402 - voltage controlled filter; #X obj 30 3432 noise~; #X text 130 3432 - white noise generator; #X obj 30 3462 env~; #X text 130 3462 - envelope follower; #X obj 30 3492 hip~; #X text 130 3492 - high pass filter; #X obj 30 3522 lop~; #X text 130 3522 - low pass filter; #X obj 30 3552 bp~; #X text 130 3552 - band pass filter; #X obj 30 3582 biquad~; #X text 130 3582 - raw filter; #X obj 30 3612 samphold~; #X text 130 3612 - sample and hold unit; #X obj 30 3642 print~; #X text 130 3642 - print out one or more "blocks"; #X obj 30 3672 rpole~; #X text 130 3672 - raw real-valued one-pole filter; #X obj 30 3702 rzero~; #X text 130 3702 - raw real-valued one-zero filter; #X obj 30 3732 rzero_rev~; #X obj 106 3732 rzero~; #X text 159 3732 - time-reversed; #X obj 30 3762 cpole~; #X obj 78 3762 czero~; #X text 204 3762 - corresponding complex-valued filters; #X text 30 3792 -------------------- AUDIO DELAY ------------------------ ; #X obj 30 3822 delwrite~; #X text 130 3822 - write to a delay line; #X obj 30 3852 delread~; #X text 130 3852 - read from a delay line; #X obj 30 3882 vd~; #X text 130 3882 - read from a delay line at a variable delay time ; #N canvas 0 0 450 300 /SUBPATCH/ 0; #X restore 30 3942 pd; #X text 130 3942 - define a subwindow; #X obj 30 3972 table; #X text 130 3972 - array of numbers in a subwindow; #X obj 30 4002 inlet; #X text 130 4002 - add an inlet to a pd; #X obj 30 4032 outlet; #X text 130 4032 - add an outlet to a pd; #X obj 30 4062 inlet~; #X obj 78 4062 outlet~; #X text 133 4061 - signal versions of inlet; #X obj 30 4122 struct; #X text 130 4122 - define a data structure; #X obj 30 4152 drawcurve; #X obj 101 4152 filledcurve; #X text 214 4152 - draw a curve; #X obj 30 4182 drawpolygon; #X obj 114 4182 filledpolygon; #X text 214 4182 - draw a polygon; #X obj 30 4212 plot; #X text 130 4212 - plot an array field; #X obj 30 4242 drawnumber; #X text 130 4242 - print a numeric value; #X obj 30 4302 pointer; #X text 130 4302 - point to an object belonging to a template; #X obj 30 4332 get; #X text 130 4332 - get numeric fields; #X obj 30 4362 set; #X text 130 4362 - change numeric fields; #X obj 30 4392 element; #X text 130 4392 - get an array element; #X obj 30 4422 getsize; #X text 130 4422 - get the size of an array; #X obj 30 4452 setsize; #X text 130 4452 - change the size of an array; #X obj 30 4482 append; #X text 130 4482 - add an element to a list; #X obj 30 4512 sublist; #X text 130 4512 - get a pointer into a list which is an element of another scalar; #X obj 30 4542 scalar; #X text 130 4542 - draw a scalar on parent; #X obj 30 4602 scope~; #X text 130 4602 (use tabwrite~ now); #X obj 30 4632 namecanvas; #X obj 30 4662 template; #X text 130 4662 (use struct now); #X obj 126 3762 czero_rev~; #X text 30 2471 ------------- AUDIO GLUE ---------------------------- ; #X obj 30 2652 threshold~; #X text 130 2652 - detect signal thresholds; #X text 30 2080 ---------------------- AUDIO MATH ----------------------- ; #X text 30 1540 --------------------- TABLES ------------------------- ; #X text 30 1690 --------------------- MISC ----------------------; #X text 31 1120 ------------------------- MATH -----------------; #X text 30 880 ------------------------- TIME -------------------------- ; #X text 30 1390 ------------------------ MIDI ------------------------- ; #X text 30 280 --------------- GLUE ----------------; #X text 30 3912 ------------------------ SUBWINDOWS ------------------------ ; #X text 30 4092 ---------------------- DATA TEMPLATES ---------------------- ; #X text 30 4272 ---------------------- ACCESSING DATA ---------------------- ; #X text 30 3042 ------------ AUDIO OSCILLATORS AND TABLES ------------- ; #X obj 65 2142 min~; #X obj 30 2142 max~; #X obj 30 1180 ==; #X obj 58 1180 !=; #X obj 85 1181 >; #X obj 113 1181 <; #X obj 140 1181 >=; #X obj 167 1181 <=; #X text 30 4572 ------------------------ OBSOLETE -------------------------- ; #X obj 57 1150 -; #X obj 85 1150 *; #X obj 112 1151 /; #X obj 140 1151 pow; #X obj 30 1150 +; #X obj 30 1210 &; #X obj 58 1210 &&; #X obj 85 1211 |; #X obj 113 1211 ||; #X obj 140 1211 %; #X obj 30 2110 +~; #X obj 58 2110 -~; #X obj 85 2110 *~; #X obj 113 2110 /~; #X text 30 160 of version 0.29 \, a complete list of "object" classes ; #X text 30 190 follows. Not included in this list are messages \, atoms \,; #X text 30 220 graphs \, etc. which aren't typed into object boxes but come;