aboutsummaryrefslogtreecommitdiff
path: root/pd/doc
diff options
context:
space:
mode:
Diffstat (limited to 'pd/doc')
-rw-r--r--pd/doc/1.manual/1.introduction.txt6
-rw-r--r--pd/doc/1.manual/x1.htm2
-rw-r--r--pd/doc/1.manual/x2.htm2
-rw-r--r--pd/doc/1.manual/x3.htm54
-rw-r--r--pd/doc/1.manual/x5.htm43
-rw-r--r--pd/doc/2.control.examples/03.connections.pd46
-rw-r--r--pd/doc/5.reference/cpole~-help.pd119
-rw-r--r--pd/doc/5.reference/czero_rev~-help.pd142
-rw-r--r--pd/doc/5.reference/czero~-help.pd124
-rw-r--r--pd/doc/5.reference/line-help.pd17
-rw-r--r--pd/doc/5.reference/lop~-help.pd48
-rw-r--r--pd/doc/5.reference/rpole~-help.pd79
-rw-r--r--pd/doc/5.reference/rzero_rev~-help.pd81
-rw-r--r--pd/doc/5.reference/rzero~-help.pd79
-rw-r--r--pd/doc/7.stuff/tools/testtone.pd477
15 files changed, 1007 insertions, 312 deletions
diff --git a/pd/doc/1.manual/1.introduction.txt b/pd/doc/1.manual/1.introduction.txt
index c8fa88a8..f9209702 100644
--- a/pd/doc/1.manual/1.introduction.txt
+++ b/pd/doc/1.manual/1.introduction.txt
@@ -8,12 +8,16 @@ Pd is copyrighted, but is free for you to use for any reasonable purpose.
See the file:
PD_BASEDIR/LICENSE.txt
-HTML documentation for Pd lives in:
+Reference documentation for Pd lives in:
file:PD_BASEDIR/doc/1.manual/index.htm
or:
http://www.crca.ucsd.edu/~msp/Pd_documentation/index.htm
+Much more documentation and other resources live on:
+ http://puredata.org
+
The Pd mailing list archive lives in:
http://iem.kug.ac.at/mailinglists/pd-list/
+
Many more useful links are listed in the HTML documentation, section 1.2.
diff --git a/pd/doc/1.manual/x1.htm b/pd/doc/1.manual/x1.htm
index e46098cd..c115a510 100644
--- a/pd/doc/1.manual/x1.htm
+++ b/pd/doc/1.manual/x1.htm
@@ -71,7 +71,7 @@ To get started writing your own C extensions, refer to chapter 4 of this manual.
<H3> <A name=s2> 1.2. other resources </A> </H3>
<P> There is a new Pd community web site,
-<a href="http://www.pure-data.org/"> pure-data.org</a>, which aims to be the
+<a href="http://www.pure-data.info/"> pure-data.info</a>, which aims to be the
central resource for Pd, from documentation and
downloads; to forums, member pages, a patch exchange.
diff --git a/pd/doc/1.manual/x2.htm b/pd/doc/1.manual/x2.htm
index 8d656a64..f68dfe0a 100644
--- a/pd/doc/1.manual/x2.htm
+++ b/pd/doc/1.manual/x2.htm
@@ -393,7 +393,7 @@ scheduler will wake the delay back up later.
2.3.3. hot and cold inlets and right to left outlet order </A> </H3>
<P> With few exceptions (notably "timer"), objects treat their leftmost
-inlet as "hot" in the sense that messages to right inlets can result in output
+inlet as "hot" in the sense that messages to left inlets can result in output
messages. So the following is a legal (and reasonable) loop construct:
<CENTER><P>
diff --git a/pd/doc/1.manual/x3.htm b/pd/doc/1.manual/x3.htm
index d432a2a9..f23e09a6 100644
--- a/pd/doc/1.manual/x3.htm
+++ b/pd/doc/1.manual/x3.htm
@@ -246,7 +246,7 @@ to file such as "pd-linux-033.tar.gz". Open a "shell"
window, cd to
the directory containing the file, and type the command,
<PRE>
- zcat pd-linux-033.tar.gz | tar xf -
+ tar xzf pd-linux-033.tar.gz
</PRE>
<P>which creates a directory named "pd". I do this from my home directory.
Next, compile it. "CD" to pd and read the INSTALL.txt, or else just cd
@@ -262,11 +262,13 @@ to "pd/src" and type
<PRE>
To enable debugging (and losing code optimization) add "--enable-debug".
- To enable ALSA 0.9x or up, add "--enable-alsa".
To use Portaudio version 19 (experimental), add "--enable-portaudio".
To put Pd in /usr/bin instead of /usr/local/bin, add "--prefix=/bin".
</PRE>
+Alsa and Jack support should auto-configure, but "--enable-alsa" od
+"--enable-jack" will force their inclusion.
+
<P> After "make", just type "~/pd/bin/pd" to run pd.
<P> Alternatively, as superuser, you can run "make install" after "make depend"
@@ -427,17 +429,14 @@ I/O ports and one SPDIF. There is a "baby hammerfall" also, which I think is
the "9632." DO NOT CONFUSE THE 9652/9632 WITH OTHER RME BOARDS WHICH MIGHT
NOT WORK WITH PD.
-<P> Hammerfalls now have an ALSA driver; aapparently, it works well to install
-this and then run Pd using OSS emulation. (Unfortunately, this will only give
-you 16 bit resolution. Maybe the also "plug" device will work better; I
-haven't tried this.)
+<P> Word on the Pd mailing list is that the only way at present (7/04) to use
+Hammerfall boards in Pd is via ALSA and jack.
<H6> MIDIMAN </H6>
<P>Midiman sells PCI devices (delta 44, 66, 1010, and 1010LT)
with between 4 and 10 channels in and out, for
-which there are ALSA drivers.
-I'm running mine in Alsa 0.9 beta 10. The driver name is "ice1712".
+which there are ALSA drivers. The driver name is "ice1712".
<P> Alsa provides an "envy24control" program (in "utils". You should run
this and check that your ice1712's sync source is internal if you have no
@@ -452,16 +451,16 @@ ALSA.
<H3> <A name="s1.3"> 3.3. Installing Pd in Macintosh OSX </A> </H3>
-<P>Pd version 0.35 and up support Macintosh OSX. You need the Jaguar
-distribution (10.2) of OSX.
+<P>Pd version 0.35 and up support Macintosh OSX. You need the OSX Jaguar
+distribution (10.2) or later.
<P> To install Pd you can always just download
the sources and compile them yourself, or (easier)
find a MacOSX-style "package". The first package was put together by Adam
Lindsay; the most current one seems to be the one by Hans
on
-<A href="http://www.pure-data.org/Members/hans/">
-http://www.pure-data.org/Members/hans/</A>.
+<A href="http://www.pure-data.info/Members/hans/">
+http://www.pure-data.info/Members/hans/</A>.
The package simply installs itself
and you needn't follow the directions below.
</P>
@@ -474,9 +473,9 @@ http://www.crca.ucsd.edu/~msp/software.html</A>
take more steps to install but are more "official". To install them:
<P> If you haven't already, first download and install Tcl/Tk; there are pointers on
-Hans's page, or try:
-<A href="http://prdownloads.sourceforge.net/tcltkaqua/">
-http://prdownloads.sourceforge.net/tcltkaqua/</A>. Double click on what you
+Hans's page, or try: http://tcltkaqua.sourceforge.net/
+<A href="http://tcltkaqua.sourceforge.net/">
+http://tcltkaqua.sourceforge.net/</A>. Double click on what you
get (a disk image opens) and then double click on the "package" icon, and the
installer should tell you how to proceed from there.
@@ -498,31 +497,10 @@ specifically in
/Applications/Wish Shell.app
and /Library/Frameworks/Tk.framework and /Library/Frameworks/Tcl.framework.
-<P> First download and install TK for OSX
-(http://sourceforge.net/projects/tcl/). Get a recent one compiled for
-OSX, by chasing through "latest file releases", and finding a "download"
-link for TCL. Then download "TclTkAqua-8.4.1-Jaguar.dmg" (the version
-number may change). Click on this file and a "folder" will open. Click
-on the "package" icon in that folder and an auto-installer will put Tcl/Tk
-on your system.
-
-<P> For old versions of Tcl/Tk you also had to get the "h" files from XFree86
-and put them in
-/usr/X11R6/include. You can download just the H files from:
-
-<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-<CODE>
-<A HREF="http://www.crca.ucsd.edu/~msp/x.tgz">http://www.crca.ucsd.edu/~msp/x.tgz</A>
-</CODE>
-
-<P>
-(the individual files seem to have adequate copyright notices so that
-I can just redistribute them.) ((I hope this is no longer necessary but I
-notice people keep downloading these files anyway, so I'll leave them there
-a while longer until I'm sure they're not needed.))
+<P> First download and install TK for OSX as described above.
<P> Then, just as for linux, just unload pd-whatever.tar.gz into a directory
-such as ~/pd-0.35-test17 , cd to pd-0.36-0/src, type "./configure"
+such as ~/pd-0.36-0, cd to pd-0.36-0/src, type "./configure"
and "make". Then type ~/pd-0.36-0/bin/pd to a shell and enjoy!
<P> If you wish you can put a line such as,
diff --git a/pd/doc/1.manual/x5.htm b/pd/doc/1.manual/x5.htm
index ac7b6e5a..1a1b2e2f 100644
--- a/pd/doc/1.manual/x5.htm
+++ b/pd/doc/1.manual/x5.htm
@@ -20,6 +20,49 @@
<H3> <A name="s2"> 5.1. release notes </A> </H3>
+<P> ------------------ 0.37.3 --------------------------
+
+<P> Oops- added __i386__ macro to windows makefile so it would test for
+underflows correctly. This affects only Microsoft Windows; the other
+two platformas are fine as 0.37.2. Thanks to Thomas Musil...
+
+<P> ------------------ 0.37.2 --------------------------
+
+<P> fixed a bug in soundfile reading (soundfiles now default to wav better.)
+
+<P> fixed gfx update problem in hradio and vradio
+
+<P> minor changes to built-in Max import feature (but you should
+still use cyclone's instead.)
+
+<P> colors for scalars fixed (probably never worked before!)
+
+<P> added a "set" message to the line object
+
+<P> aliased spaces to underscores in GUI labels so that at least they won't
+destroy the object.
+
+<P> ------------------ 0.37.1 --------------------------
+
+<P> fixed the apple key on OSX so it does key accelerators
+
+<P> fixed bug in -inchannels/-outchannels arg parsing
+
+<P> major editions to the IEM GUIs to fix bugs in how "$" variables are handled.
+The code still isn't pretty but hopefully at least works now.
+
+<P> bug fix in vd~ for very small delays
+
+<P> fixed MSW version not to make windows grow by 2 pixels on save/restore
+
+<P> added an "nrt" flag for OSX to defeat real-time priritization
+(useful when runnig Gem.)
+
+<P> on some platforms, audio open failures are handled more gracefully.
+
+<P> added a "changelog" file in the source directory to document source-level
+changes.
+
<P> ------------------ 0.37 --------------------------
<P> Pd is finally fixed so that it can open and close audio and MIDI devices
diff --git a/pd/doc/2.control.examples/03.connections.pd b/pd/doc/2.control.examples/03.connections.pd
index 3cde81fa..97d32f82 100644
--- a/pd/doc/2.control.examples/03.connections.pd
+++ b/pd/doc/2.control.examples/03.connections.pd
@@ -1,19 +1,15 @@
#N canvas 185 28 660 552 12;
-#X floatatom 76 400 0 0 0;
-#X floatatom 189 401 0 0 0;
-#X floatatom 76 307 0 0 0;
-#X floatatom 553 161 0 0 0;
-#X floatatom 599 162 0 0 0;
+#X floatatom 76 400 0 0 0 0 - - -;
+#X floatatom 189 401 0 0 0 0 - - -;
+#X floatatom 76 307 0 0 0 0 - - -;
+#X floatatom 553 161 0 0 0 0 - - -;
+#X floatatom 599 162 0 0 0 0 - - -;
#X obj 553 135 +;
-#X floatatom 553 105 0 0 0;
+#X floatatom 553 105 0 0 0 0 - - -;
#X obj 599 136 +;
-#X text 114 16 In Pd \, most objects carry out their functions when
-they get messages in their rightmost inlets \, and their other inlets
-are for storing values that can modify the next action. Here \, the
-"+" object does its thing only when the left-hand input changes.;
-#X floatatom 26 109 0 0 0;
-#X floatatom 26 17 0 0 0;
-#X floatatom 48 41 0 0 0;
+#X floatatom 26 109 0 0 0 0 - - -;
+#X floatatom 26 17 0 0 0 0 - - -;
+#X floatatom 48 41 0 0 0 0 - - -;
#X obj 26 85 +;
#X text 3 64 hot;
#X text 53 66 cold;
@@ -40,19 +36,23 @@ when all the data are good. The "bad adder" happens to receive its
inputs in the wrong order and is perpetually doing its addition before
all the data are in. There's an object that exists solely to allow
you to control message order explicitly:;
-#X connect 2 0 22 0;
+#X text 114 16 In Pd \, most objects carry out their functions when
+they get messages in their leftmost inlets \, and their other inlets
+are for storing values that can modify the next action. Here \, the
+"+" object does its thing only when the left-hand input changes.;
+#X connect 2 0 21 0;
#X connect 5 0 3 0;
#X connect 6 0 7 0;
#X connect 6 0 7 1;
#X connect 6 0 5 1;
#X connect 6 0 5 0;
#X connect 7 0 4 0;
-#X connect 10 0 12 0;
-#X connect 11 0 12 1;
-#X connect 12 0 9 0;
-#X connect 18 0 0 0;
-#X connect 19 0 1 0;
-#X connect 22 0 18 0;
-#X connect 22 0 19 1;
-#X connect 22 1 18 1;
-#X connect 22 1 19 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 1;
+#X connect 11 0 8 0;
+#X connect 17 0 0 0;
+#X connect 18 0 1 0;
+#X connect 21 0 17 0;
+#X connect 21 0 18 1;
+#X connect 21 1 17 1;
+#X connect 21 1 18 0;
diff --git a/pd/doc/5.reference/cpole~-help.pd b/pd/doc/5.reference/cpole~-help.pd
new file mode 100644
index 00000000..e0df0339
--- /dev/null
+++ b/pd/doc/5.reference/cpole~-help.pd
@@ -0,0 +1,119 @@
+#N canvas 281 13 533 567 12;
+#X obj 54 90 osc~ 100;
+#X msg 62 117 clear;
+#X obj 79 547 lop~;
+#X text 10 550 see also:;
+#X text 333 549 updated for Pd version-0.38;
+#X obj 86 497 rzero~;
+#X obj 37 517 cpole~;
+#X obj 37 497 rpole~;
+#X obj 135 497 rzero_rev~;
+#X obj 86 517 czero~;
+#X obj 135 517 czero_rev~;
+#X text 213 497 real;
+#X text 212 518 complex;
+#X text 34 481 1-pole;
+#X text 83 481 1-zero;
+#X text 133 481 1-zero \, reversed;
+#X text 59 466 summary of raw filters:;
+#X text 73 300 y[n] = y[n-1] + a[n] * x[n];
+#X text 12 369 The transfer function is H(Z) = 1/(1 - aZ^-1).;
+#X text 106 116 <-- clear internal state to zero;
+#N canvas 168 90 498 357 test 0;
+#X obj 76 78 osc~;
+#X floatatom 76 55 5 0 0 0 - - -;
+#X obj 18 287 env~ 16384;
+#X floatatom 18 311 5 0 0 0 - - -;
+#X obj 104 107 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 76 105 *~;
+#X msg 85 132 set 1;
+#X floatatom 350 112 4 -1000 1000 0 - - -;
+#X obj 215 315 dac~;
+#X obj 215 279 *~;
+#X text 80 18 Stuff to test it:;
+#X obj 241 106 cos~;
+#X obj 77 227 cpole~;
+#X obj 261 65 phasor~;
+#X floatatom 261 44 5 0 0 0 - - -;
+#X floatatom 132 55 5 0 0 0 - - -;
+#X obj 160 107 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 132 105 *~;
+#X obj 132 78 phasor~;
+#X floatatom 324 42 5 0 0 0 - - -;
+#X obj 324 65 / 1000;
+#X obj 274 107 -~ 0.25;
+#X obj 274 129 cos~;
+#X obj 350 131 / 1000;
+#X obj 240 157 *~;
+#X obj 274 157 *~;
+#X obj 94 287 env~ 16384;
+#X floatatom 94 311 5 0 0 0 - - -;
+#X obj 247 275 dbtorms;
+#X floatatom 248 255 5 0 0 0 - - -;
+#X connect 0 0 5 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 4 0 5 1;
+#X connect 5 0 12 0;
+#X connect 6 0 12 0;
+#X connect 7 0 23 0;
+#X connect 9 0 8 0;
+#X connect 9 0 8 1;
+#X connect 11 0 24 0;
+#X connect 12 0 2 0;
+#X connect 12 0 9 0;
+#X connect 12 1 26 0;
+#X connect 13 0 21 0;
+#X connect 13 0 11 0;
+#X connect 14 0 13 0;
+#X connect 15 0 18 0;
+#X connect 16 0 17 1;
+#X connect 17 0 12 0;
+#X connect 18 0 17 0;
+#X connect 19 0 20 0;
+#X connect 20 0 13 1;
+#X connect 21 0 22 0;
+#X connect 22 0 25 0;
+#X connect 23 0 25 1;
+#X connect 23 0 24 1;
+#X connect 24 0 12 2;
+#X connect 25 0 12 3;
+#X connect 26 0 27 0;
+#X connect 28 0 9 1;
+#X connect 29 0 28 0;
+#X restore 459 483 pd test;
+#X text 113 550 etc.: user-friendly filters;
+#X text 10 387 (Pd also provides a suite of user-friendly filters.
+This and other raw filters are provided for situations which the user-friendly
+ones can't handle. See Chapter 8 of http://crca.ucsd.edu/~msp/techniques
+for an introduction to the necessary theory.);
+#X obj 52 7 cpole~;
+#X text 114 7 complex one-pole (recursive) filter \, raw;
+#X text 118 91 <-- signal to filter (real part);
+#X text 117 173 <-- signal to filter (imaginary part);
+#X obj 84 172 sig~;
+#X obj 115 197 sig~;
+#X text 149 199 <-- filter coefficient (real part);
+#X obj 145 219 sig~;
+#X obj 53 244 cpole~ 0.9 0.4;
+#X text 159 246 <-- creation arguments initialize filter;
+#X text 187 262 coefficient (real and imaginary part);
+#X text 14 278 The action of cpole~ is:;
+#X text 11 320 where y[n] is the output \, x[n] the input \, and a[n]
+the filter coefficient (all complex numbers). The filter is unstable
+if/when |a[n]|>1.;
+#X text 8 31 Cpole~ filters a complex audio signal (first two inlets)
+via a one-pole filter \, whose coefficients are controlled by creation
+arguments or by another complex audio signal (remaining two inlets).
+;
+#X text 150 144 <-- set internal state (real&imaginary parts);
+#X msg 64 143 set 0.6 0.8;
+#X text 179 221 <-- filter coefficient (imaginary part);
+#X connect 0 0 31 0;
+#X connect 1 0 31 0;
+#X connect 27 0 31 1;
+#X connect 28 0 31 2;
+#X connect 30 0 31 3;
+#X connect 38 0 31 0;
diff --git a/pd/doc/5.reference/czero_rev~-help.pd b/pd/doc/5.reference/czero_rev~-help.pd
new file mode 100644
index 00000000..77b5cee6
--- /dev/null
+++ b/pd/doc/5.reference/czero_rev~-help.pd
@@ -0,0 +1,142 @@
+#N canvas 118 9 534 590 12;
+#X obj 57 106 osc~ 100;
+#X msg 65 133 clear;
+#X obj 82 563 lop~;
+#X text 13 566 see also:;
+#X text 336 565 updated for Pd version-0.38;
+#X obj 89 513 rzero~;
+#X obj 40 533 cpole~;
+#X obj 40 513 rpole~;
+#X obj 138 513 rzero_rev~;
+#X obj 89 533 czero~;
+#X obj 138 533 czero_rev~;
+#X text 216 513 real;
+#X text 215 534 complex;
+#X text 37 497 1-pole;
+#X text 86 497 1-zero;
+#X text 136 497 1-zero \, reversed;
+#X text 62 482 summary of raw filters:;
+#X text 109 132 <-- clear internal state to zero;
+#N canvas 255 257 585 372 test 0;
+#X obj 152 296 env~ 16384;
+#X floatatom 152 320 5 0 0 0 - - -;
+#X floatatom 499 76 4 -1000 1000 0 - - -;
+#X obj 349 324 dac~;
+#X obj 349 288 *~;
+#X obj 390 70 cos~;
+#X floatatom 298 8 5 0 0 0 - - -;
+#X obj 298 31 phasor~;
+#X floatatom 398 14 5 0 0 0 - - -;
+#X obj 397 39 / 1000;
+#X obj 423 71 -~ 0.25;
+#X obj 423 93 cos~;
+#X obj 499 95 / 1000;
+#X obj 389 121 *~;
+#X obj 423 121 *~;
+#X obj 228 296 env~ 16384;
+#X floatatom 228 320 5 0 0 0 - - -;
+#X obj 381 284 dbtorms;
+#X floatatom 382 264 5 0 0 0 - - -;
+#X obj 117 89 phasor~;
+#X floatatom 115 60 5 0 0 0 - - -;
+#X text 77 13 Stuff to test it:;
+#X obj 131 149 cpole~;
+#X obj 241 262 *~ -1;
+#X obj 21 261 env~ 16384;
+#X floatatom 21 285 5 0 0 0 - - -;
+#X obj 50 312 env~ 16384;
+#X floatatom 50 336 5 0 0 0 - - -;
+#X obj 138 181 cpole~;
+#X obj 146 216 czero_rev~;
+#X obj 154 264 czero_rev~;
+#X msg 204 103 clear;
+#X obj 262 50 cos~;
+#X obj 261 83 *~ 0.02;
+#X obj 193 50 sig~ 1.1;
+#X obj 448 296 *~;
+#X connect 0 0 1 0;
+#X connect 2 0 12 0;
+#X connect 4 0 3 0;
+#X connect 5 0 13 0;
+#X connect 6 0 7 0;
+#X connect 7 0 32 0;
+#X connect 8 0 9 0;
+#X connect 9 0 7 1;
+#X connect 10 0 11 0;
+#X connect 11 0 14 0;
+#X connect 12 0 14 1;
+#X connect 12 0 13 1;
+#X connect 13 0 22 2;
+#X connect 13 0 28 2;
+#X connect 13 0 29 2;
+#X connect 13 0 30 2;
+#X connect 14 0 22 3;
+#X connect 14 0 23 0;
+#X connect 14 0 29 3;
+#X connect 15 0 16 0;
+#X connect 17 0 4 1;
+#X connect 17 0 35 1;
+#X connect 18 0 17 0;
+#X connect 19 0 22 0;
+#X connect 19 0 24 0;
+#X connect 19 0 35 0;
+#X connect 20 0 19 0;
+#X connect 22 0 28 0;
+#X connect 22 1 28 1;
+#X connect 23 0 28 3;
+#X connect 23 0 30 3;
+#X connect 24 0 25 0;
+#X connect 26 0 27 0;
+#X connect 28 0 26 0;
+#X connect 28 0 29 0;
+#X connect 28 1 29 1;
+#X connect 29 0 30 0;
+#X connect 29 1 30 1;
+#X connect 30 0 0 0;
+#X connect 30 0 4 0;
+#X connect 30 1 15 0;
+#X connect 31 0 22 0;
+#X connect 31 0 28 0;
+#X connect 32 0 33 0;
+#X connect 33 0 5 0;
+#X connect 33 0 10 0;
+#X connect 34 0 33 0;
+#X connect 35 0 3 1;
+#X restore 462 499 pd test;
+#X text 116 566 etc.: user-friendly filters;
+#X text 13 403 (Pd also provides a suite of user-friendly filters.
+This and other raw filters are provided for situations which the user-friendly
+ones can't handle. See Chapter 8 of http://crca.ucsd.edu/~msp/techniques
+for an introduction to the necessary theory.);
+#X text 121 107 <-- signal to filter (real part);
+#X text 120 189 <-- signal to filter (imaginary part);
+#X obj 87 188 sig~;
+#X obj 118 213 sig~;
+#X text 152 215 <-- filter coefficient (real part);
+#X obj 148 235 sig~;
+#X text 162 262 <-- creation arguments initialize filter;
+#X text 190 278 coefficient (real and imaginary part);
+#X text 153 160 <-- set internal state (real&imaginary parts);
+#X msg 67 159 set 0.6 0.8;
+#X text 182 237 <-- filter coefficient (imaginary part);
+#X text 17 295 The action of czero~ is:;
+#X text 14 336 where y[n] is the output \, x[n] the input \, and a[n]
+the filter coefficient (all complex numbers). The filter is always
+stable.;
+#X obj 56 260 czero~ 0.9 0.4;
+#X obj 36 7 czero_rev~;
+#X text 114 9 complex one-zero (non-recursive) "reverse" filter \,
+raw;
+#X text 11 34 Czero_rev~ filters a complex audio signal (first two
+inlets) via a one-zero filter \, whose coefficients are controlled
+by creation arguments or by another complex audio signal (remaining
+two inlets). The impulse response is that of "rzero" reversed in time.
+;
+#X text 77 316 y[n] = - a[n] * x[n] + x[n-1];
+#X text 15 385 The transfer function is H(Z) = -a + Z^-1.;
+#X connect 0 0 34 0;
+#X connect 1 0 34 0;
+#X connect 23 0 34 1;
+#X connect 24 0 34 2;
+#X connect 26 0 34 3;
+#X connect 30 0 34 0;
diff --git a/pd/doc/5.reference/czero~-help.pd b/pd/doc/5.reference/czero~-help.pd
new file mode 100644
index 00000000..58dab9cc
--- /dev/null
+++ b/pd/doc/5.reference/czero~-help.pd
@@ -0,0 +1,124 @@
+#N canvas 79 19 533 567 12;
+#X obj 54 90 osc~ 100;
+#X msg 62 117 clear;
+#X obj 79 547 lop~;
+#X text 10 550 see also:;
+#X text 333 549 updated for Pd version-0.38;
+#X obj 86 497 rzero~;
+#X obj 37 517 cpole~;
+#X obj 37 497 rpole~;
+#X obj 135 497 rzero_rev~;
+#X obj 86 517 czero~;
+#X obj 135 517 czero_rev~;
+#X text 213 497 real;
+#X text 212 518 complex;
+#X text 34 481 1-pole;
+#X text 83 481 1-zero;
+#X text 133 481 1-zero \, reversed;
+#X text 59 466 summary of raw filters:;
+#X text 106 116 <-- clear internal state to zero;
+#N canvas 255 257 585 372 test 0;
+#X obj 152 296 env~ 16384;
+#X floatatom 152 320 5 0 0 0 - - -;
+#X floatatom 484 121 4 -1000 1000 0 - - -;
+#X obj 349 324 dac~;
+#X obj 349 288 *~;
+#X obj 375 115 cos~;
+#X floatatom 301 60 5 0 0 0 - - -;
+#X obj 329 112 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 301 110 *~;
+#X obj 301 83 phasor~;
+#X floatatom 382 66 5 0 0 0 - - -;
+#X obj 382 89 / 1000;
+#X obj 408 116 -~ 0.25;
+#X obj 408 138 cos~;
+#X obj 484 140 / 1000;
+#X obj 374 166 *~;
+#X obj 408 166 *~;
+#X obj 228 296 env~ 16384;
+#X floatatom 228 320 5 0 0 0 - - -;
+#X obj 381 284 dbtorms;
+#X floatatom 382 264 5 0 0 0 - - -;
+#X obj 245 220 czero~;
+#X floatatom 201 132 4 -1000 1000 0 - - -;
+#X obj 92 126 cos~;
+#X obj 112 85 phasor~;
+#X floatatom 115 60 5 0 0 0 - - -;
+#X obj 125 127 -~ 0.25;
+#X obj 125 149 cos~;
+#X obj 201 151 / 1000;
+#X obj 91 177 *~;
+#X obj 125 177 *~;
+#X text 214 27 Stuff to test it:;
+#X connect 0 0 1 0;
+#X connect 2 0 14 0;
+#X connect 4 0 3 0;
+#X connect 4 0 3 1;
+#X connect 5 0 15 0;
+#X connect 6 0 9 0;
+#X connect 7 0 8 1;
+#X connect 8 0 21 0;
+#X connect 9 0 8 0;
+#X connect 10 0 11 0;
+#X connect 11 0 5 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 16 0;
+#X connect 14 0 16 1;
+#X connect 14 0 15 1;
+#X connect 15 0 21 2;
+#X connect 16 0 21 3;
+#X connect 17 0 18 0;
+#X connect 19 0 4 1;
+#X connect 20 0 19 0;
+#X connect 21 0 0 0;
+#X connect 21 0 4 0;
+#X connect 21 1 17 0;
+#X connect 22 0 28 0;
+#X connect 23 0 29 0;
+#X connect 24 0 26 0;
+#X connect 24 0 23 0;
+#X connect 25 0 24 0;
+#X connect 26 0 27 0;
+#X connect 27 0 30 0;
+#X connect 28 0 30 1;
+#X connect 28 0 29 1;
+#X connect 29 0 21 0;
+#X connect 30 0 21 1;
+#X restore 459 483 pd test;
+#X text 113 550 etc.: user-friendly filters;
+#X text 10 387 (Pd also provides a suite of user-friendly filters.
+This and other raw filters are provided for situations which the user-friendly
+ones can't handle. See Chapter 8 of http://crca.ucsd.edu/~msp/techniques
+for an introduction to the necessary theory.);
+#X text 118 91 <-- signal to filter (real part);
+#X text 117 173 <-- signal to filter (imaginary part);
+#X obj 84 172 sig~;
+#X obj 115 197 sig~;
+#X text 149 199 <-- filter coefficient (real part);
+#X obj 145 219 sig~;
+#X text 159 246 <-- creation arguments initialize filter;
+#X text 187 262 coefficient (real and imaginary part);
+#X text 150 144 <-- set internal state (real&imaginary parts);
+#X msg 64 143 set 0.6 0.8;
+#X obj 52 7 czero~;
+#X text 112 7 complex one-zero (non-recursive) filter \, raw;
+#X text 8 31 Czero~ filters a complex audio signal (first two inlets)
+via a one-zero filter \, whose coefficients are controlled by creation
+arguments or by another complex audio signal (remaining two inlets).
+;
+#X text 179 221 <-- filter coefficient (imaginary part);
+#X text 14 279 The action of czero~ is:;
+#X text 73 300 y[n] = x[n] - a[n] * x[n-1];
+#X text 11 320 where y[n] is the output \, x[n] the input \, and a[n]
+the filter coefficient (all complex numbers). The filter is always
+stable.;
+#X text 12 369 The transfer function is H(Z) = 1 - aZ^-1.;
+#X obj 53 244 czero~ 0.9 0.4;
+#X connect 0 0 39 0;
+#X connect 1 0 39 0;
+#X connect 23 0 39 1;
+#X connect 24 0 39 2;
+#X connect 26 0 39 3;
+#X connect 30 0 39 0;
diff --git a/pd/doc/5.reference/line-help.pd b/pd/doc/5.reference/line-help.pd
index fd0c02d4..f5d5ad38 100644
--- a/pd/doc/5.reference/line-help.pd
+++ b/pd/doc/5.reference/line-help.pd
@@ -1,10 +1,10 @@
#N canvas 31 15 669 403 12;
#X floatatom 22 339 0 0 0 0 - - -;
-#X msg 31 232 0 1000;
-#X msg 46 254 39;
+#X msg 31 205 0 1000;
+#X msg 46 227 39;
#X obj 66 15 line;
#X text 106 14 - ramp generator;
-#X msg 22 209 1 1000;
+#X msg 22 182 1 1000;
#X text 18 36 The line object takes (target \, time) pairs and slews
to the specified target over the time given \, updating its output
at a "grain rate" given by the creation argument. If you dont' specify
@@ -14,19 +14,22 @@ a float causes a jump in the output regardless of whatever time value
was specified in some previous message. If the line object receives
a message specifying some new target before reaching the previous one
\, it takes off from its current value.;
-#X text 93 221 send a pair to ramp to a new value;
-#X text 105 251 send a single number to jump;
+#X text 93 194 send a pair to ramp to a new value;
+#X text 105 224 send a single number to jump;
#X text 46 363 see also:;
#X obj 132 361 line~;
-#X msg 57 279 stop;
-#X text 98 278 "stop" message to stop output;
+#X msg 57 252 stop;
+#X text 98 251 "stop" message to stop output;
#X obj 22 313 line 0 100;
#X text 383 369 updated for Pd version 0.37;
#X text 125 310 creation arguments:;
#X text 316 310 1 initial value;
#X text 318 330 2 time grain in milliseconds;
+#X msg 51 282 set 5;
+#X text 99 282 "set" to change value (and stop) without output;
#X connect 1 0 13 0;
#X connect 2 0 13 0;
#X connect 5 0 13 0;
#X connect 11 0 13 0;
#X connect 13 0 0 0;
+#X connect 18 0 13 0;
diff --git a/pd/doc/5.reference/lop~-help.pd b/pd/doc/5.reference/lop~-help.pd
index 9f3e85f8..92b5ed22 100644
--- a/pd/doc/5.reference/lop~-help.pd
+++ b/pd/doc/5.reference/lop~-help.pd
@@ -1,31 +1,37 @@
-#N canvas 402 99 566 329 12;
+#N canvas 390 359 566 329 12;
#X obj 70 228 env~;
-#X floatatom 70 248;
-#X floatatom 107 178;
-#X obj 70 206 hip~ 5;
-#X text 119 201 The high pass filter is initialized to cutoff frequencies below 5 Hz.;
+#X floatatom 70 248 0 0 0 0 - - -;
+#X floatatom 107 178 0 0 0 0 - - -;
#X obj 12 226 env~;
-#X floatatom 12 245;
-#X text 108 227 env~ gives the amplitude of the signal envelop in dB.;
-#X floatatom 12 107;
-#X msg 452 24 \; pd dsp 1;
-#X msg 452 58 \; pd dsp 0;
+#X floatatom 12 245 0 0 0 0 - - -;
+#X floatatom 12 107 0 0 0 0 - - -;
#X obj 83 6 lop~;
-#X text 9 68 The left inlet is the incoming audio signal. The right inlet is the cutoff frequency in Hz.;
+#X text 9 68 The left inlet is the incoming audio signal. The right
+inlet is the cutoff frequency in Hz.;
#X obj 12 130 osc~ 100;
#X text 57 105 <-- scroll to change input frequency;
-#X text 12 266 Compare the value of the original signal on the left with the value of the filtered signal on the right.;
-#X text 8 35 lop~ is a one-pole low pass filter with a specified rolloff frequency.;
+#X text 8 35 lop~ is a one-pole low pass filter with a specified rolloff
+frequency.;
#X text 114 7 - one-pole low pass filter;
#X msg 70 154 clear;
#X text 114 153 <-- reinitialize internal state;
#X text 139 179 <-- set cutoff frequency;
-#X text 364 306 updated for Pd version-0.30;
+#X obj 70 206 lop~ 5;
+#X text 121 209 The filter is initialized to cut off frequencies above
+5 Hz.;
+#X text 12 266 Compare the strength of the original signal on the left
+with that of the filtered signal on the right.;
+#X text 104 228 env~ gives the amplitude of the signal in dB.;
+#X text 8 305 see also:;
+#X obj 77 304 hip~;
+#X obj 112 304 bp~;
+#X obj 139 304 vcf~;
+#X text 364 306 updated for Pd version-0.38;
#X connect 0 0 1 0;
-#X connect 2 0 3 1;
-#X connect 3 0 0 0;
-#X connect 5 0 6 0;
-#X connect 8 0 13 0;
-#X connect 13 0 5 0;
-#X connect 13 0 3 0;
-#X connect 18 0 3 0;
+#X connect 2 0 15 1;
+#X connect 3 0 4 0;
+#X connect 5 0 8 0;
+#X connect 8 0 3 0;
+#X connect 8 0 15 0;
+#X connect 12 0 15 0;
+#X connect 15 0 0 0;
diff --git a/pd/doc/5.reference/rpole~-help.pd b/pd/doc/5.reference/rpole~-help.pd
new file mode 100644
index 00000000..07d50267
--- /dev/null
+++ b/pd/doc/5.reference/rpole~-help.pd
@@ -0,0 +1,79 @@
+#N canvas 56 7 526 510 12;
+#X floatatom 118 172 0 0 0 0 - - -;
+#X obj 54 85 osc~ 100;
+#X msg 69 117 clear;
+#X obj 77 483 lop~;
+#X text 8 483 see also:;
+#X obj 52 7 rpole~;
+#X text 114 7 real one-pole (recursive) filter \, raw;
+#X text 8 35 Rpole~ filters an audio signal (left inlet) via a one-pole
+real filter \, whose coefficient is controlled by a creation argument
+or by an audio signal (right inlet).;
+#X text 331 482 updated for Pd version-0.38;
+#X obj 84 430 rzero~;
+#X obj 35 450 cpole~;
+#X obj 35 430 rpole~;
+#X obj 133 430 rzero_rev~;
+#X obj 84 450 czero~;
+#X obj 133 450 czero_rev~;
+#X text 211 430 real;
+#X text 210 451 complex;
+#X text 32 414 1-pole;
+#X text 81 414 1-zero;
+#X text 131 414 1-zero \, reversed;
+#X text 57 399 summary of raw filters:;
+#X msg 71 143 set 1;
+#X text 117 143 <-- set internal state;
+#X text 118 86 <-- signal to filter;
+#X text 142 173 <-- filter coefficient (may be a signal);
+#X text 129 198 <-- creation argument initializes filter coefficient
+;
+#X text 73 252 y[n] = y[n-1] + a[n] * x[n];
+#X text 10 302 The transfer function is H(Z) = 1/(1 - aZ^-1).;
+#X text 113 116 <-- clear internal state to zero;
+#X text 8 270 where y[n] is the output \, x[n] the input \, and a[n]
+the filter coefficient. The filter is unstable if/when |a[n]|>1.;
+#X obj 53 195 rpole~ 0.9;
+#X text 14 230 The action of rpole~ is:;
+#N canvas 393 91 326 287 test 0;
+#X obj 76 78 osc~;
+#X floatatom 76 55 5 0 0 0 - - -;
+#X obj 77 219 env~ 16384;
+#X floatatom 77 243 5 0 0 0 - - -;
+#X obj 76 168 rpole~;
+#X obj 104 107 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 76 105 *~;
+#X msg 97 137 set 1;
+#X floatatom 172 157 4 -100 100 0 - - -;
+#X obj 172 182 / 100;
+#X obj 214 256 dac~;
+#X obj 228 177 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 214 220 *~;
+#X obj 230 197 / 10;
+#X text 80 18 Stuff to test it:;
+#X connect 0 0 6 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 1;
+#X connect 6 0 4 0;
+#X connect 7 0 4 0;
+#X connect 8 0 9 0;
+#X connect 9 0 4 1;
+#X connect 11 0 13 0;
+#X connect 12 0 10 0;
+#X connect 12 0 10 1;
+#X connect 13 0 12 1;
+#X restore 457 416 pd test;
+#X text 111 483 etc.: user-friendly filters;
+#X text 8 320 (Pd also provides a suite of user-friendly filters. This
+and other raw filters are provided for situations which the user-friendly
+ones can't handle. See Chapter 8 of http://crca.ucsd.edu/~msp/techniques
+for an introduction to the necessary theory.);
+#X connect 0 0 30 1;
+#X connect 1 0 30 0;
+#X connect 2 0 30 0;
+#X connect 21 0 30 0;
diff --git a/pd/doc/5.reference/rzero_rev~-help.pd b/pd/doc/5.reference/rzero_rev~-help.pd
new file mode 100644
index 00000000..ae85dcea
--- /dev/null
+++ b/pd/doc/5.reference/rzero_rev~-help.pd
@@ -0,0 +1,81 @@
+#N canvas 717 52 526 510 12;
+#X floatatom 127 186 0 0 0 0 - - -;
+#X obj 49 98 osc~ 100;
+#X msg 64 130 clear;
+#X obj 77 483 lop~;
+#X text 8 483 see also:;
+#X text 331 482 updated for Pd version-0.38;
+#X obj 84 430 rzero~;
+#X obj 35 450 cpole~;
+#X obj 35 430 rpole~;
+#X obj 133 430 rzero_rev~;
+#X obj 84 450 czero~;
+#X obj 133 450 czero_rev~;
+#X text 211 430 real;
+#X text 210 451 complex;
+#X text 32 414 1-pole;
+#X text 81 414 1-zero;
+#X text 131 414 1-zero \, reversed;
+#X text 57 399 summary of raw filters:;
+#X msg 66 156 set 1;
+#X text 112 156 <-- set internal state;
+#X text 113 99 <-- signal to filter;
+#X text 155 189 <-- filter coefficient (may be a signal);
+#X text 143 210 <-- creation argument initializes filter coefficient
+;
+#X text 108 129 <-- clear internal state to zero;
+#N canvas 393 91 326 287 test 0;
+#X obj 76 78 osc~;
+#X floatatom 76 55 5 0 0 0 - - -;
+#X obj 77 219 env~ 16384;
+#X floatatom 77 243 5 0 0 0 - - -;
+#X obj 104 107 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 76 105 *~;
+#X msg 97 137 set 1;
+#X floatatom 172 157 4 -100 100 0 - - -;
+#X obj 172 182 / 100;
+#X obj 214 256 dac~;
+#X obj 228 177 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 214 220 *~;
+#X obj 230 197 / 10;
+#X text 80 18 Stuff to test it:;
+#X obj 76 168 rzero_rev~;
+#X connect 0 0 5 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 4 0 5 1;
+#X connect 5 0 14 0;
+#X connect 6 0 14 0;
+#X connect 7 0 8 0;
+#X connect 8 0 14 1;
+#X connect 10 0 12 0;
+#X connect 11 0 9 0;
+#X connect 11 0 9 1;
+#X connect 12 0 11 1;
+#X connect 14 0 2 0;
+#X connect 14 0 11 0;
+#X restore 457 416 pd test;
+#X text 111 483 etc.: user-friendly filters;
+#X text 8 270 where y[n] is the output \, x[n] the input \, and a[n]
+the filter coefficient. The filter is always stable.;
+#X obj 52 7 rzero_rev~;
+#X text 139 7 real one-zero (non-recursive) "reverse" filter \, raw
+;
+#X obj 48 208 rzero_rev~ 1;
+#X text 7 35 Rzero_rev~ filters an audio signal (left inlet) via a
+one-zero real filter \, whose coefficient is controlled by a creation
+argument or by an audio signal (right inlet). The impulse response
+is that of "rzero" reversed in time.;
+#X text 14 230 The action of rpole_rev~ is:;
+#X text 71 251 y[n] = -a[n] * x[n] + x[n-1];
+#X text 6 302 The transfer function is H(Z) = -a + Z^-1.;
+#X text 5 321 (Pd also provides a suite of user-friendly filters. This
+and other raw filters are provided for situations which the user-friendly
+ones can't handle. See Chapter 8 of http://crca.ucsd.edu/~msp/techniques
+for an introduction to the necessary theory.);
+#X connect 0 0 29 1;
+#X connect 1 0 29 0;
+#X connect 2 0 29 0;
+#X connect 18 0 29 0;
diff --git a/pd/doc/5.reference/rzero~-help.pd b/pd/doc/5.reference/rzero~-help.pd
new file mode 100644
index 00000000..c2200371
--- /dev/null
+++ b/pd/doc/5.reference/rzero~-help.pd
@@ -0,0 +1,79 @@
+#N canvas 56 7 526 510 12;
+#X floatatom 104 172 0 0 0 0 - - -;
+#X obj 54 85 osc~ 100;
+#X msg 69 117 clear;
+#X obj 77 483 lop~;
+#X text 8 483 see also:;
+#X text 331 482 updated for Pd version-0.38;
+#X obj 84 430 rzero~;
+#X obj 35 450 cpole~;
+#X obj 35 430 rpole~;
+#X obj 133 430 rzero_rev~;
+#X obj 84 450 czero~;
+#X obj 133 450 czero_rev~;
+#X text 211 430 real;
+#X text 210 451 complex;
+#X text 32 414 1-pole;
+#X text 81 414 1-zero;
+#X text 131 414 1-zero \, reversed;
+#X text 57 399 summary of raw filters:;
+#X msg 71 143 set 1;
+#X text 117 143 <-- set internal state;
+#X text 118 86 <-- signal to filter;
+#X text 128 173 <-- filter coefficient (may be a signal);
+#X text 115 198 <-- creation argument initializes filter coefficient
+;
+#X text 113 116 <-- clear internal state to zero;
+#X text 14 230 The action of rpole~ is:;
+#N canvas 393 91 326 287 test 0;
+#X obj 76 78 osc~;
+#X floatatom 76 55 5 0 0 0 - - -;
+#X obj 77 219 env~ 16384;
+#X floatatom 77 243 5 0 0 0 - - -;
+#X obj 104 107 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 76 105 *~;
+#X msg 97 137 set 1;
+#X floatatom 172 157 4 -100 100 0 - - -;
+#X obj 172 182 / 100;
+#X obj 214 256 dac~;
+#X obj 228 177 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 214 220 *~;
+#X obj 230 197 / 10;
+#X text 80 18 Stuff to test it:;
+#X obj 76 168 rzero~;
+#X connect 0 0 5 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 4 0 5 1;
+#X connect 5 0 14 0;
+#X connect 6 0 14 0;
+#X connect 7 0 8 0;
+#X connect 8 0 14 1;
+#X connect 10 0 12 0;
+#X connect 11 0 9 0;
+#X connect 11 0 9 1;
+#X connect 12 0 11 1;
+#X connect 14 0 2 0;
+#X connect 14 0 11 0;
+#X restore 457 416 pd test;
+#X text 111 483 etc.: user-friendly filters;
+#X obj 52 7 rzero~;
+#X text 114 7 real one-zero (non-recursive) filter \, raw;
+#X text 8 35 Rzero~ filters an audio signal (left inlet) via a one-zero
+real filter \, whose coefficient is controlled by a creation argument
+or by an audio signal (right inlet).;
+#X obj 53 195 rzero~ 1;
+#X text 8 270 where y[n] is the output \, x[n] the input \, and a[n]
+the filter coefficient. The filter is always stable.;
+#X text 10 302 The transfer function is H(Z) = 1 - aZ^-1.;
+#X text 73 252 y[n] = x[n] - a[n] * x[n-1];
+#X text 8 320 (Pd also provides a suite of user-friendly filters. This
+and other raw filters are provided for situations which the user-friendly
+ones can't handle. See Chapter 8 of http://crca.ucsd.edu/~msp/techniques
+for an introduction to the necessary theory.);
+#X connect 0 0 30 1;
+#X connect 1 0 30 0;
+#X connect 2 0 30 0;
+#X connect 18 0 30 0;
diff --git a/pd/doc/7.stuff/tools/testtone.pd b/pd/doc/7.stuff/tools/testtone.pd
index 80e4e475..30ed70cc 100644
--- a/pd/doc/7.stuff/tools/testtone.pd
+++ b/pd/doc/7.stuff/tools/testtone.pd
@@ -1,4 +1,4 @@
-#N canvas 137 26 581 402 12;
+#N canvas 182 142 581 402 12;
#X floatatom 83 307 3 0 0 0 - - -;
#X obj 33 257 notein;
#X obj 33 283 stripnote;
@@ -55,24 +55,22 @@ started" in the Help menu.;
#X connect 15 0 11 0;
#X connect 21 0 20 0;
#X restore 236 308 pd midi;
-#X floatatom 149 183 3 0 0 0 - - -;
-#X floatatom 182 183 3 0 0 0 - - -;
+#X floatatom 139 185 3 0 0 0 - - -;
+#X floatatom 172 185 3 0 0 0 - - -;
#X text 24 341 PD is COPYRIGHT 1997-2002 by Miller Puckette and others
but is free for you to use for any reasonable purpose. See the file
\, LICENSE.txt in the distribution.;
-#X obj 145 115 tgl 20 0 tone-ch1 tone-ch1 1 5 -8 0 12 -262144 -1 -1
-0 1;
-#X obj 170 115 tgl 20 0 tone-ch2 tone-ch2 2 5 -8 0 12 -262144 -1 -1
-0 1;
+#X obj 135 117 tgl 20 0 tone-ch1 tone-ch1 1 5 -8 0 12 -262144 -1 -1
+1 1;
+#X obj 160 117 tgl 20 0 tone-ch2 tone-ch2 2 5 -8 0 12 -262144 -1 -1
+1 1;
#X obj 236 282 tgl 20 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
1;
#X obj 394 110 tgl 20 0 tone-monitor set-tone-monitor monitor 25 10
0 12 -262144 -1 -1 0 1;
-#X obj 36 132 vdl 20 1 0 3 tone-radio set-tone-radio empty 20 8 192
-8 -262144 -1 -1 2;
-#X text 62 177 OFF;
-#X text 62 154 -40;
-#X text 62 131 -20;
+#X text 70 137 OFF;
+#X text 67 121 -40;
+#X text 67 103 -20;
#N canvas 0 0 536 251 more 0;
#X floatatom 42 209 0 0 0 0 - - -;
#X obj 42 183 f;
@@ -94,263 +92,300 @@ but is free for you to use for any reasonable purpose. See the file
#X restore 459 298 pd more;
#X obj 393 148 tgl 20 0 tone-hipass set-tone-hipass input-hipass 25
10 0 12 -262144 -1 -1 0 1;
-#X obj 195 115 tgl 20 0 tone-ch3 tone-ch3 3 5 -8 0 12 -262144 -1 -1
-0 1;
-#X obj 220 115 tgl 20 0 tone-ch4 tone-ch4 4 5 -8 0 12 -262144 -1 -1
-0 1;
-#X obj 245 115 tgl 20 0 tone-ch5 tone-ch5 5 5 -8 0 12 -262144 -1 -1
-0 1;
-#X obj 270 115 tgl 20 0 tone-ch6 tone-ch6 6 5 -8 0 12 -262144 -1 -1
-0 1;
-#X obj 304 106 bng 15 250 50 0 tone-all empty ALL 20 8 0 12 -262144
+#X obj 185 117 tgl 20 0 tone-ch3 tone-ch3 3 5 -8 0 12 -262144 -1 -1
+1 1;
+#X obj 210 117 tgl 20 0 tone-ch4 tone-ch4 4 5 -8 0 12 -262144 -1 -1
+1 1;
+#X obj 235 117 tgl 20 0 tone-ch5 tone-ch5 5 5 -8 0 12 -262144 -1 -1
+1 1;
+#X obj 260 117 tgl 20 0 tone-ch6 tone-ch6 6 5 -8 0 12 -262144 -1 -1
+1 1;
+#X obj 294 108 bng 15 250 50 0 tone-all empty ALL 20 8 0 12 -262144
-1 -1;
-#X obj 304 127 bng 15 250 50 0 tone-none empty NONE 20 8 0 12 -262144
+#X obj 294 129 bng 15 250 50 0 tone-none empty NONE 20 8 0 12 -262144
-1 -1;
-#X floatatom 215 183 3 0 0 0 - - -;
-#X floatatom 248 183 3 0 0 0 - - -;
-#X floatatom 281 184 3 0 0 0 - - -;
-#X floatatom 315 184 3 0 0 0 - - -;
-#X text 164 208 AUDIO INPUT (RMS dB);
-#X text 41 83 TEST;
-#X text 40 103 TONE;
-#X text 152 76 test tone channels:;
-#N canvas 54 126 908 548 -------audio---- 0;
-#X obj 23 351 *~;
-#X obj 45 324 line~;
-#X obj 190 169 outlet;
-#X obj 45 297 pack 0 50;
-#X obj 22 134 osc~;
-#X floatatom 45 245 0 0 0 0 - - -;
-#X obj 45 270 dbtorms;
-#X obj 190 143 int;
-#X obj 22 66 mtof;
-#X floatatom 22 43 0 0 0 0 - - -;
-#X floatatom 22 88 0 0 0 0 - - -;
-#X obj 22 110 sig~;
-#X obj 190 117 env~ 8192;
-#X obj 182 39 adc~ 1;
-#X obj 23 377 s~ tone-osc;
-#X obj 45 162 r tone-radio;
-#X obj 22 18 r tone-pitch;
-#X obj 45 190 sel 0 1 2;
-#X msg 114 213 0;
-#X msg 45 215 80;
-#X msg 78 215 60;
-#X obj 192 192 r~ tone-mon;
-#X obj 201 327 line~;
-#X obj 182 217 *~;
-#X obj 201 274 r tone-ch1;
-#X obj 192 247 r~ tone-osc;
-#X obj 192 352 *~;
-#X obj 182 407 dac~ 1;
-#X obj 182 382 +~;
-#X obj 190 65 r tone-hip;
-#X obj 16 487 s~ tone-mon;
-#X obj 16 461 line~;
-#X obj 17 433 pack 0 50;
-#X obj 17 407 r tone-monitor;
-#X obj 310 168 outlet;
-#X obj 310 142 int;
-#X obj 310 116 env~ 8192;
-#X obj 312 191 r~ tone-mon;
-#X obj 321 326 line~;
-#X obj 302 216 *~;
-#X obj 312 246 r~ tone-osc;
-#X obj 312 351 *~;
-#X obj 302 381 +~;
-#X obj 310 64 r tone-hip;
-#X obj 302 38 adc~ 2;
-#X obj 302 406 dac~ 2;
-#X obj 321 273 r tone-ch2;
-#X obj 177 485 * 5;
-#X obj 177 510 s tone-hip;
-#X obj 179 459 r tone-hipass;
+#X floatatom 205 185 3 0 0 0 - - -;
+#X floatatom 238 185 3 0 0 0 - - -;
+#X floatatom 271 186 3 0 0 0 - - -;
+#X floatatom 305 186 3 0 0 0 - - -;
+#X text 154 210 AUDIO INPUT (RMS dB);
+#X text 45 62 TEST;
+#N canvas 162 353 903 462 -------audio---- 0;
+#X obj 186 95 hip~ 5;
+#X obj 194 172 outlet;
+#X obj 194 146 int;
+#X obj 194 120 env~ 8192;
+#X obj 186 42 adc~ 1;
+#X obj 196 195 r~ tone-mon;
+#X obj 205 330 line~;
+#X obj 186 220 *~;
+#X obj 205 303 pack 0 50;
+#X obj 205 277 r tone-ch1;
+#X obj 196 250 r~ tone-osc;
+#X obj 196 355 *~;
+#X obj 186 410 dac~ 1;
+#X obj 186 385 +~;
+#X obj 194 68 r tone-hip;
+#X obj 25 303 s~ tone-mon;
+#X obj 25 277 line~;
+#X obj 25 249 pack 0 50;
+#X obj 25 223 r tone-monitor;
+#X obj 306 94 hip~ 5;
+#X obj 314 171 outlet;
+#X obj 314 145 int;
+#X obj 314 119 env~ 8192;
+#X obj 316 194 r~ tone-mon;
+#X obj 325 329 line~;
+#X obj 306 219 *~;
+#X obj 325 302 pack 0 50;
+#X obj 316 249 r~ tone-osc;
+#X obj 316 354 *~;
+#X obj 306 384 +~;
+#X obj 314 67 r tone-hip;
+#X obj 306 41 adc~ 2;
+#X obj 306 409 dac~ 2;
+#X obj 325 276 r tone-ch2;
+#X obj 28 140 * 5;
+#X obj 28 165 s tone-hip;
+#X obj 28 114 r tone-hipass;
#N canvas 499 63 548 519 glue+loadbang 0;
#X obj 171 21 loadbang;
-#X msg 171 49 \; pd dsp 1 \; tone-pitch 69 \; tone-radio 2 \; set-tone-radio
-2 \; tone-all 1 \;;
#X obj 171 176 r tone-all;
#X msg 171 204 \; tone-ch1 1 \; tone-ch2 1 \; tone-ch3 1 \; tone-ch4
1 \; tone-ch5 1 \; tone-ch6 1;
#X obj 168 323 r tone-none;
#X msg 168 352 \; tone-ch1 0 \; tone-ch2 0 \; tone-ch3 0 \; tone-ch4
0 \; tone-ch5 0 \; tone-ch6 0;
-#X connect 0 0 1 0;
-#X connect 2 0 3 0;
-#X connect 4 0 5 0;
-#X restore 14 516 pd glue+loadbang;
-#X obj 432 170 outlet;
-#X obj 432 144 int;
-#X obj 432 118 env~ 8192;
-#X obj 434 193 r~ tone-mon;
-#X obj 443 328 line~;
-#X obj 424 218 *~;
-#X obj 434 248 r~ tone-osc;
-#X obj 434 353 *~;
-#X obj 424 383 +~;
-#X obj 432 66 r tone-hip;
+#X msg 171 49 \; pd dsp 1 \; tone-pitch 69 \; tone-radio 2 \; tone-radio-set
+2 \; tone-type 1 \; tone-type-set 1 \; tone-all 1 \;;
+#X connect 0 0 5 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X restore 22 332 pd glue+loadbang;
+#X obj 428 96 hip~ 5;
+#X obj 436 173 outlet;
+#X obj 436 147 int;
+#X obj 436 121 env~ 8192;
+#X obj 438 196 r~ tone-mon;
+#X obj 447 331 line~;
+#X obj 428 221 *~;
+#X obj 447 304 pack 0 50;
+#X obj 438 251 r~ tone-osc;
+#X obj 438 356 *~;
+#X obj 428 386 +~;
+#X obj 436 69 r tone-hip;
+#X obj 544 92 hip~ 5;
#X obj 552 169 outlet;
#X obj 552 143 int;
#X obj 552 117 env~ 8192;
#X obj 554 192 r~ tone-mon;
#X obj 563 327 line~;
#X obj 544 217 *~;
+#X obj 563 300 pack 0 50;
#X obj 554 247 r~ tone-osc;
#X obj 554 352 *~;
#X obj 544 382 +~;
#X obj 552 65 r tone-hip;
+#X obj 661 92 hip~ 5;
#X obj 669 169 outlet;
#X obj 669 143 int;
#X obj 669 117 env~ 8192;
#X obj 671 192 r~ tone-mon;
#X obj 680 327 line~;
#X obj 661 217 *~;
+#X obj 680 300 pack 0 50;
#X obj 671 247 r~ tone-osc;
#X obj 671 352 *~;
#X obj 661 382 +~;
#X obj 669 65 r tone-hip;
+#X obj 781 91 hip~ 5;
#X obj 789 168 outlet;
#X obj 789 142 int;
#X obj 789 116 env~ 8192;
#X obj 791 191 r~ tone-mon;
#X obj 800 326 line~;
#X obj 781 216 *~;
+#X obj 800 299 pack 0 50;
#X obj 791 246 r~ tone-osc;
#X obj 791 351 *~;
#X obj 781 381 +~;
#X obj 789 64 r tone-hip;
-#X obj 424 40 adc~ 3;
+#X obj 428 43 adc~ 3;
#X obj 544 39 adc~ 4;
#X obj 661 39 adc~ 5;
#X obj 781 38 adc~ 6;
-#X obj 443 275 r tone-ch3;
+#X obj 447 278 r tone-ch3;
#X obj 563 273 r tone-ch4;
#X obj 680 274 r tone-ch5;
#X obj 800 273 r tone-ch6;
-#X obj 424 408 dac~ 3;
+#X obj 428 411 dac~ 3;
#X obj 543 406 dac~ 4;
#X obj 661 407 dac~ 5;
#X obj 781 406 dac~ 6;
-#X obj 182 92 hip~;
-#X obj 302 91 hip~;
-#X obj 424 93 hip~;
-#X obj 544 92 hip~;
-#X obj 661 92 hip~;
-#X obj 781 91 hip~;
-#X obj 201 300 pack 0 0;
-#X obj 321 299 pack 0 0;
-#X obj 443 301 pack 0 0;
-#X obj 563 300 pack 0 0;
-#X obj 679 300 pack 0 0;
-#X obj 800 299 pack 0 0;
-#X connect 0 0 14 0;
-#X connect 1 0 0 1;
-#X connect 3 0 1 0;
+#N canvas 487 35 468 559 tone-generator 0;
+#X obj 22 134 osc~;
+#X obj 22 66 mtof;
+#X floatatom 22 43 0 0 0 0 - - -;
+#X floatatom 22 88 0 0 0 0 - - -;
+#X obj 22 110 sig~;
+#X obj 22 18 r tone-pitch;
+#X obj 119 60 noise~;
+#X obj 65 196 +~;
+#X obj 282 87 - 1;
+#X obj 282 119 * -1;
+#X obj 191 175 line~;
+#X obj 281 176 line~;
+#X obj 22 158 *~;
+#X obj 119 157 *~;
+#X msg 191 146 \$1 20;
+#X msg 281 147 \$1 20;
+#X floatatom 239 54 0 0 0 0 - - -;
+#X obj 64 451 *~;
+#X obj 86 424 line~;
+#X obj 86 397 pack 0 50;
+#X floatatom 86 345 0 0 0 0 - - -;
+#X obj 86 370 dbtorms;
+#X obj 64 477 s~ tone-osc;
+#X obj 86 262 r tone-radio;
+#X obj 86 290 sel 0 1 2;
+#X msg 155 313 0;
+#X msg 86 315 80;
+#X msg 119 315 60;
+#X obj 239 31 r tone-type;
+#X connect 0 0 12 0;
+#X connect 1 0 3 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
#X connect 4 0 0 0;
-#X connect 5 0 6 0;
-#X connect 6 0 3 0;
-#X connect 7 0 2 0;
-#X connect 8 0 10 0;
+#X connect 5 0 2 0;
+#X connect 6 0 13 0;
+#X connect 7 0 17 0;
+#X connect 8 0 9 0;
+#X connect 9 0 15 0;
+#X connect 10 0 12 1;
+#X connect 11 0 13 1;
+#X connect 12 0 7 0;
+#X connect 13 0 7 1;
+#X connect 14 0 10 0;
+#X connect 15 0 11 0;
+#X connect 16 0 8 0;
+#X connect 16 0 14 0;
+#X connect 17 0 22 0;
+#X connect 18 0 17 1;
+#X connect 19 0 18 0;
+#X connect 20 0 21 0;
+#X connect 21 0 19 0;
+#X connect 23 0 24 0;
+#X connect 24 0 26 0;
+#X connect 24 1 27 0;
+#X connect 24 2 25 0;
+#X connect 25 0 20 0;
+#X connect 26 0 20 0;
+#X connect 27 0 20 0;
+#X connect 28 0 16 0;
+#X restore 24 68 pd tone-generator;
+#X connect 0 0 7 0;
+#X connect 0 0 3 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 0 0;
+#X connect 5 0 7 1;
+#X connect 6 0 11 1;
+#X connect 7 0 13 0;
+#X connect 8 0 6 0;
#X connect 9 0 8 0;
#X connect 10 0 11 0;
-#X connect 11 0 4 0;
-#X connect 12 0 7 0;
-#X connect 13 0 103 0;
-#X connect 15 0 17 0;
-#X connect 16 0 9 0;
-#X connect 17 0 19 0;
-#X connect 17 1 20 0;
-#X connect 17 2 18 0;
-#X connect 18 0 5 0;
-#X connect 19 0 5 0;
-#X connect 20 0 5 0;
-#X connect 21 0 23 1;
-#X connect 22 0 26 1;
-#X connect 23 0 28 0;
-#X connect 24 0 109 0;
-#X connect 25 0 26 0;
-#X connect 26 0 28 1;
-#X connect 28 0 27 0;
-#X connect 29 0 103 1;
-#X connect 31 0 30 0;
-#X connect 32 0 31 0;
-#X connect 33 0 32 0;
-#X connect 35 0 34 0;
-#X connect 36 0 35 0;
-#X connect 37 0 39 1;
-#X connect 38 0 41 1;
-#X connect 39 0 42 0;
-#X connect 40 0 41 0;
-#X connect 41 0 42 1;
-#X connect 42 0 45 0;
-#X connect 43 0 104 1;
-#X connect 44 0 104 0;
-#X connect 46 0 110 0;
-#X connect 47 0 48 0;
-#X connect 49 0 47 0;
+#X connect 11 0 13 1;
+#X connect 13 0 12 0;
+#X connect 14 0 0 1;
+#X connect 16 0 15 0;
+#X connect 17 0 16 0;
+#X connect 18 0 17 0;
+#X connect 19 0 25 0;
+#X connect 19 0 22 0;
+#X connect 21 0 20 0;
+#X connect 22 0 21 0;
+#X connect 23 0 25 1;
+#X connect 24 0 28 1;
+#X connect 25 0 29 0;
+#X connect 26 0 24 0;
+#X connect 27 0 28 0;
+#X connect 28 0 29 1;
+#X connect 29 0 32 0;
+#X connect 30 0 19 1;
+#X connect 31 0 19 0;
+#X connect 33 0 26 0;
+#X connect 34 0 35 0;
+#X connect 36 0 34 0;
+#X connect 38 0 44 0;
+#X connect 38 0 41 0;
+#X connect 40 0 39 0;
+#X connect 41 0 40 0;
+#X connect 42 0 44 1;
+#X connect 43 0 47 1;
+#X connect 44 0 48 0;
+#X connect 45 0 43 0;
+#X connect 46 0 47 0;
+#X connect 47 0 48 1;
+#X connect 48 0 94 0;
+#X connect 49 0 38 1;
+#X connect 50 0 56 0;
+#X connect 50 0 53 0;
#X connect 52 0 51 0;
#X connect 53 0 52 0;
#X connect 54 0 56 1;
-#X connect 55 0 58 1;
-#X connect 56 0 59 0;
-#X connect 57 0 58 0;
-#X connect 58 0 59 1;
-#X connect 59 0 99 0;
-#X connect 60 0 105 1;
-#X connect 62 0 61 0;
-#X connect 63 0 62 0;
-#X connect 64 0 66 1;
-#X connect 65 0 68 1;
-#X connect 66 0 69 0;
-#X connect 67 0 68 0;
-#X connect 68 0 69 1;
-#X connect 69 0 100 0;
-#X connect 70 0 106 1;
-#X connect 72 0 71 0;
-#X connect 73 0 72 0;
-#X connect 74 0 76 1;
-#X connect 75 0 78 1;
-#X connect 76 0 79 0;
-#X connect 77 0 78 0;
-#X connect 78 0 79 1;
-#X connect 79 0 101 0;
-#X connect 80 0 107 1;
-#X connect 82 0 81 0;
-#X connect 83 0 82 0;
-#X connect 84 0 86 1;
-#X connect 85 0 88 1;
-#X connect 86 0 89 0;
-#X connect 87 0 88 0;
-#X connect 88 0 89 1;
-#X connect 89 0 102 0;
-#X connect 90 0 108 1;
-#X connect 91 0 105 0;
-#X connect 92 0 106 0;
-#X connect 93 0 107 0;
-#X connect 94 0 108 0;
-#X connect 95 0 111 0;
-#X connect 96 0 112 0;
-#X connect 97 0 113 0;
-#X connect 98 0 114 0;
-#X connect 103 0 23 0;
-#X connect 103 0 12 0;
-#X connect 104 0 39 0;
-#X connect 104 0 36 0;
-#X connect 105 0 56 0;
-#X connect 105 0 53 0;
-#X connect 106 0 66 0;
-#X connect 106 0 63 0;
-#X connect 107 0 76 0;
-#X connect 107 0 73 0;
-#X connect 108 0 86 0;
-#X connect 108 0 83 0;
-#X connect 109 0 22 0;
-#X connect 110 0 38 0;
-#X connect 111 0 55 0;
-#X connect 112 0 65 0;
-#X connect 113 0 75 0;
-#X connect 114 0 85 0;
-#X restore 149 157 pd -------audio----;
+#X connect 55 0 59 1;
+#X connect 56 0 60 0;
+#X connect 57 0 55 0;
+#X connect 58 0 59 0;
+#X connect 59 0 60 1;
+#X connect 60 0 95 0;
+#X connect 61 0 50 1;
+#X connect 62 0 68 0;
+#X connect 62 0 65 0;
+#X connect 64 0 63 0;
+#X connect 65 0 64 0;
+#X connect 66 0 68 1;
+#X connect 67 0 71 1;
+#X connect 68 0 72 0;
+#X connect 69 0 67 0;
+#X connect 70 0 71 0;
+#X connect 71 0 72 1;
+#X connect 72 0 96 0;
+#X connect 73 0 62 1;
+#X connect 74 0 80 0;
+#X connect 74 0 77 0;
+#X connect 76 0 75 0;
+#X connect 77 0 76 0;
+#X connect 78 0 80 1;
+#X connect 79 0 83 1;
+#X connect 80 0 84 0;
+#X connect 81 0 79 0;
+#X connect 82 0 83 0;
+#X connect 83 0 84 1;
+#X connect 84 0 97 0;
+#X connect 85 0 74 1;
+#X connect 86 0 38 0;
+#X connect 87 0 50 0;
+#X connect 88 0 62 0;
+#X connect 89 0 74 0;
+#X connect 90 0 45 0;
+#X connect 91 0 57 0;
+#X connect 92 0 69 0;
+#X connect 93 0 81 0;
+#X restore 139 159 pd -------audio----;
+#X text 72 174 noise;
+#X text 71 191 tone;
+#X text 44 80 SIGNAL;
+#X text 131 78 test signal channels:;
+#X obj 52 174 vradio 15 1 0 2 tone-type tone-type-set empty 0 -6 0
+8 -262144 -1 -1 1;
+#X obj 51 104 vradio 15 1 0 3 tone-radio tone-radio-set empty 0 -6
+0 8 -262144 -1 -1 2;
+#X obj 379 220 adc~;
+#X obj 379 256 print~;
+#X obj 438 227 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
#X connect 1 0 2 0;
#X connect 1 1 2 1;
#X connect 2 0 3 0;
@@ -358,9 +393,11 @@ but is free for you to use for any reasonable purpose. See the file
#X connect 9 0 8 0;
#X connect 9 1 7 0;
#X connect 16 0 10 0;
-#X connect 38 0 11 0;
-#X connect 38 1 12 0;
-#X connect 38 2 30 0;
-#X connect 38 3 31 0;
-#X connect 38 4 32 0;
-#X connect 38 5 33 0;
+#X connect 35 0 11 0;
+#X connect 35 1 12 0;
+#X connect 35 2 29 0;
+#X connect 35 3 30 0;
+#X connect 35 4 31 0;
+#X connect 35 5 32 0;
+#X connect 42 0 43 0;
+#X connect 44 0 43 0;