Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • jwilkes/purr-data
  • aggraef/purr-data
  • samthursfield/purr-data
  • prakhar/purr-data
  • yadu05/purr-data
  • NegiAkash890/purr-data
  • prateekpardeshi/purr-data
  • Shruti3004/purr-data
  • hidimpu/purr-data
  • Atseosi/purr-data
  • piyushjasaiwal/purr-data
  • deveshprasad/purr-data
  • skm_7/purr-data
  • sankt/purr-data
  • ashim_tom/purr-data
  • dineshsoni02/purr-data
  • chaitanya1-coder/purr-data
  • Nitish0007/purr-data
  • nitin/purr-data
  • shuvam09/purr-data
  • gabrielabittencourt/purr-data
  • sivasai/purr-data
  • flachyjoe/purr-data
  • ishankaler/purr-data
  • prateek/purr-data
  • RukshanJS/purr-data
  • rajatshrm648/purr-data
  • Srashti/purr-data
  • Paarth/purr-data
  • AniruddhaGawali/purr-data
  • brittneyjuliet/purr-data
  • prakharagarwal1/purr-data
  • Shreyanshpaliwalcmsmn/purr-data
  • k_amrut/purr-data
  • AyushAnand/purr-data
  • Va16hav07/purr-data
36 results
Show changes
Showing
with 0 additions and 2426 deletions
#N canvas 26 165 1002 607 10;
#X obj 351 386 cnv 15 69 16 empty empty 69x16 2 12 0 9 -128992 -66577
0;
#X obj 351 355 cnv 15 78 20 empty empty 78x20 2 12 0 9 -128992 -66577
0;
#X obj 695 387 cnv 15 70 17 empty empty 70x17 2 12 0 9 -128992 -66577
0;
#X text 161 389 Mac OS X;
#X text 160 357 Windows;
#X text 161 417 GNU/Linux;
#X obj 775 387 cnv 15 70 17 empty empty 70x17 2 12 0 9 -128992 -66577
0;
#X obj 865 387 cnv 15 60 15 empty empty 60x15 2 12 0 9 -128992 -66577
0;
#X obj 520 173 cnv 15 100 60 empty empty courier10 20 12 0 8 -233017
-66577 0;
#X msg 539 177 courier10;
#X obj 650 103 cnv 15 100 60 empty empty courier10 20 12 0 9 -233017
-66577 0;
#X msg 670 105 courier10;
#X text 651 124 Windows/0.39.2-extended-test7;
#X obj 695 357 cnv 15 60 17 empty empty 60x17 2 12 0 9 -128992 -66577
0;
#X obj 775 357 cnv 15 60 17 empty empty 60x17 2 12 0 9 -128992 -66577
0;
#X obj 351 416 cnv 15 87 19 empty empty 87x19 2 12 0 9 -128992 -66577
0;
#X text 17 314 these represent the size of this message box:;
#X msg 346 313 courier10;
#X text 15 1 the fonts line up on these platforms:;
#X obj 139 35 cnv 15 100 60 empty empty courier10 20 12 0 9 -233017
-66577 0;
#X msg 157 41 courier10;
#X text 350 335 0.39.2-extended-test7;
#X text 697 335 0.39-2;
#X text 777 334 0.40-2;
#X text 857 334 devel 0.39-1test1;
#X obj 501 386 cnv 15 69 16 empty empty 69x16 2 12 0 9 -128992 -66577
0;
#X text 500 335 0.38.4-extended;
#X obj 612 387 cnv 15 70 17 empty empty 70x17 2 12 0 9 -128992 -66577
0;
#X text 614 335 0.38-4;
#X text 18 444 these represent the size of this comment:;
#X obj 140 240 cnv 15 100 60 empty empty courier10 20 12 0 10 -233017
-66577 0;
#X msg 158 243 courier10;
#X obj 232 500 cnv 7 52 7 empty empty 52x7 2 15 0 11 -128992 -66577
0;
#X text 163 499 Mac OS X;
#X text 162 467 Windows;
#X text 163 527 GNU/Linux;
#X obj 784 500 cnv 7 63 8 empty empty 63x8 2 15 0 11 -128992 -66577
0;
#X obj 506 500 cnv 7 62 7 empty empty 62x7 2 15 0 11 -128992 -66577
0;
#X obj 20 170 cnv 15 100 60 empty empty courier10 20 12 0 12 -233017
-66577 0;
#X msg 39 174 courier10;
#X text 47 212 12 pt;
#X text 176 284 10pt;
#X text 686 140 9 pt;
#X obj 20 35 cnv 15 100 60 empty empty courier10 20 12 0 12 -233017
-66577 0;
#X msg 39 39 courier10;
#X text 47 77 12 pt;
#X text 40 64 0.38-4;
#X text 40 199 0.40-2;
#X text 139 64 devel 0.39-1test1;
#X text 32 16 ---------- Mac OS X ----------;
#X obj 614 500 cnv 7 63 8 empty empty 63x8 2 15 0 11 -128992 -66577
0;
#X text 435 442 ----------------------------------------------------------
;
#X text 445 312 ----------------------------------------------------------
;
#X obj 699 500 cnv 7 63 8 empty empty 63x8 2 15 0 11 -128992 -66577
0;
#X obj 21 102 cnv 15 100 60 empty empty courier10 20 12 0 12 -233017
-66577 0;
#X msg 40 106 courier10;
#X text 48 144 12 pt;
#X text 41 131 0.39-2;
#X text 141 78 9 pt (closest);
#X obj 870 500 cnv 6 53 6 empty empty 53x6 2 15 0 11 -128992 -66577
0;
#X obj 520 103 cnv 15 100 60 empty empty courier10 20 12 0 8 -233017
-66577 0;
#X msg 539 107 courier10;
#X text 548 124 0.39-2;
#X text 542 16 ---------- Windows ----------;
#X text 528 140 8 pt (closest);
#X text 549 197 0.40-2;
#X obj 699 470 cnv 5 51 5 empty empty 51x5 2 15 0 11 -128992 -66577
0;
#X text 526 213 8 pt (closest);
#X obj 784 470 cnv 5 51 5 empty empty 51x5 2 15 0 11 -128992 -66577
0;
#X text 296 443 courier10;
#X obj 269 102 cnv 15 100 60 empty empty courier10 20 12 0 8 -233017
-66577 0;
#X msg 288 106 courier10;
#X text 297 123 0.39-2;
#X text 272 16 ---------- GNU/Linux ----------;
#X obj 381 242 cnv 15 100 60 empty empty courier10 20 12 0 8 -233017
-66577 0;
#X msg 399 246 courier10;
#X text 382 263 0.39.2-extended-RC1;
#X text 417 279 8 pt;
#X text 307 139 8 pt;
#X obj 695 414 cnv 15 69 17 empty empty 69x17 2 12 0 9 -128992 -66577
0;
#X obj 700 530 cnv 7 61 8 empty empty 61x8 2 15 0 11 -128992 -66577
0;
#X obj 233 416 cnv 15 62 17 empty empty 62x17 2 12 0 9 -128992 -66577
0;
#X obj 380 103 cnv 15 100 60 empty empty courier8 20 12 0 8 -233017
-66577 0;
#X msg 399 106 courier10;
#X text 416 140 8 pt;
#X text 381 124 0.39.2-extended-test7;
#X obj 355 529 cnv 7 80 10 empty empty 80x10 2 15 0 11 -128992 -66577
0;
#X obj 269 170 cnv 15 100 60 empty empty courier10 20 12 0 10 -233017
-66577 0;
#X msg 290 175 courier10;
#X text 298 194 0.40-2;
#X text 275 210 10 pt (closest);
#X obj 785 530 cnv 7 61 8 empty empty 61x8 2 15 0 11 -128992 -66577
0;
#N canvas 0 22 466 290 instructions 0;
#X text 18 45 If the sizing was all working nicely \, the fonts would
line up exactly on the top section when both are set to 10 point since
they are the same font. That is what we are trying to achieve. But
that doesn't happen very much. So here are the three tests \, from
the top to bottom: - top: adjust the font size in the canvas until
it matches the message box. Move the message box over the canvas font
so it lines up it exactly. Mark down the font size in the canvas. If
you can't get an exact match \, write (closest) - middle: copy and
paste one of the canvases with the dimensions in it (e.g. 69x16). Take
this canvas and make it fit exactly over the [courier10( message box.
then put it in the right place in the grid. - bottom: copy and paste
one of the canvases with the dimensions in it (e.g. 53x6). Take this
canvas and make it fit exactly over the comment "courier1)". then put
it in the correct place in the grid.;
#X obj 364 7 import cyclone;
#X restore 849 28 pd instructions;
#X obj 782 150 comment 173 10 helvetica ? 0 0 0 0 adjust the font size
in the canvas until it matches the message box. Move the message box
over the canvas font so it lines up it exactly. Mark down the font
size in the canvas. If you can't get an exact match \, write (closest)
;
#X obj 13 340 comment 132 10 helvetica ? 0 0 0 0 copy and paste one
of the canvases with the dimensions in it (e.g. 69x16). Take this canvas
and make it fit exactly over the [courier10( message box. then put
it in the right place in the grid.;
#X obj 13 480 comment 132 10 helvetica ? 0 0 0 0 copy and paste one
of the canvases with the dimensions in it (e.g. 53x6). Take this canvas
and make it fit exactly over the comment "courier10". then put it in
the correct place in the grid.;
#X obj 354 499 cnv 7 63 8 empty empty 63x8 2 15 0 11 -128992 -66577
0;
#X obj 140 170 cnv 15 100 60 empty empty courier10 20 12 0 12 -233017
-66577 0;
#X msg 159 174 courier10;
#X text 167 212 12 pt;
#X text 140 196 0.39.2-ext-test7;
#N canvas 285 122 610 587 get-fontsize 0;
#X obj 45 79 cnv 10 68 16 empty \$0-cnv 68x16 2 30 0 11 -260818 -128992
0;
#X obj 146 165 pack 0 0;
#X floatatom 146 80 5 0 0 0 - - -;
#X obj 176 139 t b a;
#X floatatom 176 119 5 0 0 0 - - -;
#X obj 146 235 s \$0-cnv;
#X msg 45 79 courier10;
#X msg 146 207 vis_size \$1 \$2 \, label \$1x$2;
#X text 144 261 setting label this way only works with pd >= 0-40;
#X obj 50 319 cnv 10 55 8 empty \$0-cnv2 55x8 2 30 0 11 -260818 -128992
0;
#X obj 152 387 pack 0 0;
#X floatatom 152 322 5 0 0 0 - - -;
#X obj 182 361 t b a;
#X floatatom 182 341 5 0 0 0 - - -;
#X msg 152 449 vis_size \$1 \$2 \, label \$1x$2;
#X text 150 503 setting label this way only works with pd >= 0-40;
#X obj 152 477 s \$0-cnv2;
#X text 48 316 courier10;
#X obj 148 45 hsl 128 15 40 80 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 0 1;
#X obj 145 61 int;
#X obj 188 85 hsl 128 15 5 20 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 0 1;
#X obj 185 101 int;
#X obj 154 285 hsl 128 15 40 80 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 0 1;
#X obj 151 301 int;
#X obj 194 305 hsl 128 15 5 20 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 0 1;
#X obj 191 321 int;
#X connect 1 0 7 0;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X connect 3 1 1 1;
#X connect 4 0 3 0;
#X connect 7 0 5 0;
#X connect 10 0 14 0;
#X connect 11 0 10 0;
#X connect 12 0 10 0;
#X connect 12 1 10 1;
#X connect 13 0 12 0;
#X connect 14 0 16 0;
#X connect 18 0 19 0;
#X connect 19 0 2 0;
#X connect 20 0 21 0;
#X connect 21 0 4 0;
#X connect 22 0 23 0;
#X connect 23 0 11 0;
#X connect 24 0 25 0;
#X connect 25 0 13 0;
#X restore 852 60 pd get-fontsize;
#X obj 520 240 cnv 15 100 60 empty empty courier10 20 12 0 10 -233017
-66577 0;
#X msg 538 244 courier10;
#X text 556 284 10pt;
#X text 520 265 0.39-2-extended-rc2;
#X obj 233 359 cnv 15 62 17 empty empty 62x17 2 12 0 9 -128992 -66577
0;
#X obj 232 470 cnv 7 52 7 empty empty 52x7 2 15 0 11 -128992 -66577
0;
#X obj 233 389 cnv 15 62 17 empty empty 62x17 2 12 0 9 -128992 -66577
0;
#X obj 270 240 cnv 15 100 60 empty empty courier10 20 12 0 10 -233017
-66577 0;
#X msg 288 244 courier10;
#X text 306 284 10pt;
#X text 270 265 0.39-2-extended-rc2;
#X text 140 265 0.39-2-extended-rc2;
#X obj 232 530 cnv 7 52 7 empty empty 52x7 2 15 0 11 -128992 -66577
0;
#X text 221 334 0.39.2-extended-rc2;
File deleted
File deleted
File deleted
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR PDP.LICENSE, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
- create message-help.pd, namecanvas-help.pd and all_about_messages which
include [namecanvas] and the additional/pd-msg docs
- check pddplinks to manuals folder (e.g., in all_about_getting_help.pd)
- improve glossary
- finish all_about_externals.pd
- finish all_about_libraries.pd
- update PDDP guidelines (or remove it)
#N canvas 293 91 803 616 10;
#X obj 57 73 bng 15 250 50 0 \$1 \$1 empty 20 8 0 8 -262144 -1 -1;
#X obj 57 105 tgl 15 1.04858e+06 \$2 \$2 empty 20 8 0 8 -262144 -1
-1 0 1;
#X obj 56 137 vsl 15 128 0 127 0 1.04858e+06 \$3 \$3 empty 20 8 0 8
-262144 -1 -1 0 1;
#X obj 99 72 hsl 128 15 0 127 0 0 \$4 \$4 empty 20 8 0 8 -262144 -1
-1 0 1;
#X obj 97 105 hdl 15 1 2.6624e+06 8 \$5 \$5 empty 20 8 192 8 -262144
-1 -1 0;
#X obj 96 141 vu 15 120 \$6 empty 35 8 0 8 -66577 -1 1 0;
#X obj 149 141 cnv 15 100 60 \$7 \$7 \$7 20 12 0 14 -233017 -66577
1.04858e+06;
#X obj 261 72 vdl 15 1 4.79232e+06 8 \$9 \$9 empty 20 8 192 8 -262144
-1 -1 0;
#X obj 150 218 nbx 5 14 -1e+37 1e+37 0 0 \$8 \$8 empty 45 7 0 10 -262144
-1 -1 0 256;
#X text 8 22 Pd comes with a standard \, built-in set of GUI elements
\, which you can select from the "Put" menu.;
#X text 16 332 There are also some OS-native GUI elements available
;
#X text 403 521 Graph-On-Parent aka GOP is an essential element for
building elaborate GUIs in Pd.;
#X obj 44 372 button OK;
#X obj 142 376 popup 124 25 #ffffff popup option;
#X text 23 348 [button]:;
#X text 129 350 [popup]:;
#X text 424 22 [unauthorized/playlist]:;
#X text 605 28 [unauthorized/grid]:;
#X obj 78 303 cnv-edit;
#X text 16 283 You can edit the look of the above GUI elements with
this editor:;
#X text 412 464 toxy's [tot] \, [tow] \, and [widget];
#X obj 463 53 playlist all 100 100 {Helvetica 10 bold} #457782 yellow
black red;
#X obj 632 47 grid grid1 100 0 199 100 0 199 1 1 1 10 10 710 57;
#X text 17 427 cyclone has some clones of Max GUI objects:;
#X obj 53 456 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135
135 135 0;
#X text 19 440 [cyclone/Scope~]:;
#N canvas 308 82 645 525 More 0;
#X text 440 185 [gcanvas]:;
#X obj 452 218 gcanvas 80 80;
#X obj 64 208 probalizer 100 100 100 100 1 0 10 1 10 2 10 3 10 4 10
5 10 6 10 7 10 8 10 9 10 10 10 11 10 12 10 13 10 14 10 15 10 16 10
17 10 18 10 19 10 20 10 21 10 22 10 23 10 24 10 25 10 26 10 27 10 28
10 29 10 30 50 31 50 32 10 33 10 34 10 35 10 36 10 37 10 38 10 39 10
40 10 41 10 42 10 43 10 44 10 45 10 46 10 47 10 48 10 49 10 50 10 51
10 52 10 53 10 54 10 55 10 56 10 57 10 58 10 59 10 60 10 61 10 62 10
63 10 64 54 65 10 66 10 67 55 68 10 69 10 70 10 71 10 72 10 73 10 74
10 75 10 76 76 77 10 78 10 79 10 80 10 81 10 82 10 83 10 84 10 85 10
86 10 87 10 88 10 89 10 90 10 91 10 92 10 93 10 94 10 95 10 96 10 97
10 98 10 99 32;
#X text 17 188 [unauthorized/probalizer]:;
#X obj 319 265 image logo100.gif;
#X text 257 189 [image]:;
#X obj 443 41 entry 124 100 grey70 yellow;
#X text 438 6 [entry]:;
#X text 31 26 [unauthorized_scratcher~]:;
#X text 222 28 [unauthorized/audience~]:;
#X obj 75 45 scratcher~ 88200 100 100 25 2 0.01;
#X obj 261 47 audience~ 100 100 4 2 0.01 0 48 10 97 10 146 10 195 10
0 190 195 190;
#X obj -1 -1 cooled~ 1024 300 100 1;
#X text 292 363 [unauthorized/cooled~]:;
#X text 8 361 LINK: [unauthorized/pianoroll]:;
#X text 6 343 Some are crash-prone:;
#X restore 487 495 pd More GUI elements;
#X obj 298 372 ticker ;
#X obj 516 347 state;
#X text 412 347 State saving:;
#X text 565 344 memento!;
#X obj 521 187 envgen 200 140 1 0 ;
#X text 404 440 libraries: cyclone \, ggee \, unauthorized;
#X text 398 567 data structures!;
#X obj 247 479 comment 0 10 helvetica ? 0 0 0 0 this is a comment;
#X text 195 462 [cyclone/comment]:;
#X obj 440 223 knob 32 32 0 127 0 0 empty empty empty 0 -8 32 8 -262144
-1 -1 0 1;
#X text 434 197 [knob];
#X obj 569 397 sliderh 127 0 15;
#X text 591 374 [ggee/sliderh];
#X text 281 349 [ggee/ticker]:;
#X text 501 163 [env/envgen]:;
#X obj 744 326 slider 127 0 15;
#X text 699 480 [ggee/slider];
#X text 412 371 [ggee/toddle];
#X obj 446 401 toddle black 15 15;
#N canvas 209 116 779 549 10;
#X obj 0 0 cnv 15 750 17 empty empty Mapping 10 9 0 16 -233017 -66577
0;
#X obj 305 18 cnv 15 445 15 empty empty Getting_your_message_across
10 7 0 12 -217069 -33289 0;
#X obj 305 230 cnv 15 445 15 empty empty Broadcasting_with_sends_and_receives
10 7 0 12 -217069 -33289 0;
#X obj 305 18 cnv 5 5 500 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 0 500 cnv 15 750 20 bs br PDDP_Project_2005 10 10 0 14 -217069
-1 0;
#N canvas 0 22 454 304 META 0;
#X restore 151 502 pd META;
#N canvas 696 168 524 404 PAGES 0;
#X text 19 9 Put your pages here: (They must be named [pd PAGE1] [pd
PAGE2]... (PAGE0 is the main patch).;
#N canvas 93 122 779 548 PAGE4 0;
#X obj 0 0 cnv 15 750 17 empty empty Mapping 10 9 0 16 -233017 -66577
0;
#X obj 6 328 cnv 15 300 15 empty empty Related_Objects 10 7 0 12 -217069
-33289 0;
#X obj 0 500 cnv 15 750 20 bs br PDDP_2005 10 10 0 14 -217069 -1 0
;
#X obj 624 503 bng 15 250 50 0 \$0-previous \$0- Previous -60 8 0 12
-262144 -1 -1;
#X obj 644 503 cnv 15 15 15 empty empty 4 0 8 0 12 -217069 -1 0;
#X obj 660 503 cnv 15 15 15 empty empty of 0 8 0 12 -217069 -1 0;
#X obj 676 503 cnv 15 25 15 empty 1000-page_count 4 4 8 0 12 -217069
-1 0;
#X obj 692 503 bng 15 250 50 0 \$0-next \$0- Next 20 8 0 12 -262144
-1 -1;
#X obj 745 0 cnv 5 5 500 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 0 0 cnv 5 5 500 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 305 16 cnv 5 5 485 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 38 388 LINK: universal-help.pd;
#X obj 18 361 cnv 15 100 17 empty empty cyclone 3 9 0 12 -233017 -1
0;
#X text 39 447 LINK: send13-help.pd;
#X text 39 467 LINK: receive13-help.pd;
#X obj 18 421 cnv 15 100 17 empty empty ext13 3 9 0 12 -233017 -1 0
;
#X obj 305 378 cnv 15 445 15 empty empty More_Info 10 7 0 12 -217069
-33289 0;
#X text 345 401 LINK: spiffy example;
#X text 345 416 LINK: Scope and Locality;
#X text 345 432 LINK: pd-msg docs;
#X obj 305 18 cnv 15 445 15 empty empty Sending_And_Receiving_from_Pd_itself
10 7 0 12 -217069 -33289 0;
#X text 358 70 blah blah blah \, no text here yet.;
#X text 17 123 Or draw your own curve:;
#X obj 192 72 curve_graph;
#X restore 158 56 pd PAGE4;
#N canvas 184 134 785 547 PAGE3 0;
#X obj -70 0 cnv 15 750 17 empty empty Mapping 10 9 0 16 -233017 -66577
0;
#X obj 235 18 cnv 15 445 15 empty empty Internal_sends_and_receives
10 7 0 12 -217069 -33289 0;
#X obj 235 18 cnv 5 5 500 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj -70 500 cnv 15 750 20 bs br PDDP_2005 10 10 0 14 -217069 -1
0;
#X obj 554 503 bng 15 250 50 0 \$0-previous \$0- Previous -60 8 0 12
-262144 -1 -1;
#X obj 574 503 cnv 15 15 15 empty empty 3 0 8 0 12 -217069 -1 0;
#X obj 590 503 cnv 15 15 15 empty empty of 0 8 0 12 -217069 -1 0;
#X obj 606 503 cnv 15 25 15 empty 1000-page_count 4 4 8 0 12 -217069
-1 0;
#X obj 622 503 bng 15 250 50 0 \$0-next \$0- Next 20 8 0 12 -262144
-1 -1;
#X obj 235 200 cnv 15 445 15 empty empty Explicit_vs_hidden 10 7 0
12 -217069 -33289 0;
#N canvas 0 22 450 300 graph1 0;
#X array \$0-sin 100 float 0;
#X coords 0 1 99 -1 100 100 1;
#X restore 127 98 graph;
#N canvas 0 22 450 300 graph1 0;
#X array \$0-cos 100 float 0;
#X coords 0 1 99 -1 100 100 1;
#X restore 127 217 graph;
#N canvas 0 22 450 300 graph1 0;
#X array \$0-atan 100 float 0;
#X coords 0 1 99 -1 100 100 1;
#X restore 127 337 graph;
#N canvas 0 22 450 300 graph1 0;
#X array \$0s 100 float 0;
#X coords 0 1 99 0 100 100 1;
#X restore -70 98 graph;
#N canvas 0 22 450 300 graph1 0;
#X array \$0c 100 float 0;
#X coords 0 1 99 0 100 100 1;
#X restore -70 217 graph;
#N canvas 0 22 450 300 graph1 0;
#X array \$0a 100 float 0;
#X coords 0 1 99 0 100 100 1;
#X restore -70 337 graph;
#X text 54 77 range;
#X text 151 78 -1 to 1;
#X text -43 77 0 to 1;
#N canvas 487 55 717 697 draw_arrays 0;
#X msg 77 62 bang;
#X obj 77 83 until;
#X text 108 62 start;
#X obj 77 105 f;
#X obj 106 105 + 1;
#X obj 152 107 sel 0;
#X obj 106 127 mod 100;
#X obj 77 23 loadbang;
#X obj 77 156 trigger float float;
#X obj 77 217 / 50;
#X obj 77 191 - 50;
#X obj 483 211 float;
#X obj 18 217 / 100;
#X obj 149 38 metro 5000;
#X obj 149 19 loadbang;
#X obj 183 255 tabwrite \$0-sin;
#X obj 183 300 tabwrite \$0-cos;
#X obj 183 351 tabwrite \$0-atan;
#X obj 183 445 tabwrite \$0s;
#X obj 183 485 tabwrite \$0c;
#X obj 183 536 tabwrite \$0a;
#X obj 183 236 sinusoid sin;
#X obj 183 281 sinusoid cos;
#X obj 183 332 sinusoid atan;
#X obj 183 420 sinusoid sin;
#X obj 183 466 sinusoid cos;
#X obj 183 517 sinusoid atan;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 8 0;
#X connect 4 0 6 0;
#X connect 5 0 1 1;
#X connect 6 0 3 1;
#X connect 6 0 5 0;
#X connect 7 0 0 0;
#X connect 8 0 10 0;
#X connect 8 0 12 0;
#X connect 8 1 11 0;
#X connect 9 0 21 0;
#X connect 9 0 22 0;
#X connect 9 0 23 0;
#X connect 10 0 9 0;
#X connect 11 0 15 1;
#X connect 11 0 16 1;
#X connect 11 0 17 1;
#X connect 11 0 18 1;
#X connect 11 0 19 1;
#X connect 11 0 20 1;
#X connect 12 0 24 0;
#X connect 12 0 25 0;
#X connect 12 0 26 0;
#X connect 13 0 0 0;
#X connect 14 0 13 0;
#X connect 21 0 15 0;
#X connect 22 0 16 0;
#X connect 23 0 17 0;
#X connect 24 0 18 0;
#X connect 25 0 19 0;
#X connect 26 0 20 0;
#X restore 36 502 pd draw_arrays;
#X text 151 198 -1 to 1;
#X text -43 197 0 to 1;
#X text 151 318 -1 to 1;
#X text -43 317 0 to 1;
#X text 151 438 -1 to 1;
#X text -43 437 0 to 1;
#X obj 32 98 sinusoid sin;
#X obj 36 218 sinusoid cos;
#X obj 32 337 sinusoid atan;
#X restore 95 56 pd PAGE3;
#X text 9 109 Don't forget to set \$0 and the number of pages \, including
the main page.;
#X obj 26 156 pddp_page \$0 4;
#N canvas 137 150 787 558 PAGE2 0;
#X obj 0 0 cnv 15 750 17 empty empty Mapping 10 9 0 16 -233017 -66577
0;
#X obj 305 18 cnv 15 445 15 empty empty Getting_your_message_across
10 7 0 12 -217069 -33289 0;
#X obj 305 230 cnv 15 445 15 empty empty Broadcasting_with_sends_and_receives
10 7 0 12 -217069 -33289 0;
#X obj 305 18 cnv 5 5 500 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 0 500 cnv 15 750 20 bs br PDDP_Project_2005 10 10 0 14 -217069
-1 0;
#X obj 624 503 bng 15 250 50 0 \$0-previous \$0- Previous -60 8 0 12
-262144 -1 -1;
#X obj 644 503 cnv 15 15 15 empty empty 2 0 8 0 12 -217069 -1 0;
#X obj 660 503 cnv 15 15 15 empty empty of 0 8 0 12 -217069 -1 0;
#X obj 676 503 cnv 15 25 15 empty \$0-page_count 4 4 8 0 12 -217069
-1 0;
#X obj 692 503 bng 15 250 50 0 \$0-next \$0- Next 20 8 0 12 -262144
-1 -1;
#N canvas 0 22 450 300 graph1 0;
#X array \$0-curve 200 float 0;
#X coords 0 1 199 -1 200 200 1;
#X restore 87 181 graph;
#X floatatom 46 58 8 0 0 0 - - -;
#X floatatom 46 129 8 0 0 0 - - -;
#X obj 49 146 hsl 200 15 0 1 0 0 empty empty empty 22 8 1 12 -262144
-1 -1 0 1;
#X obj 49 38 hsl 200 15 0 1 0 0 empty empty empty 22 8 1 12 -261681
-1 -1 0 1;
#N canvas 721 196 411 401 draw_array 0;
#X msg 54 82 bang;
#X obj 54 103 until;
#X text 85 82 start;
#X obj 54 125 f;
#X obj 83 125 + 1;
#X obj 54 43 loadbang;
#X text 96 257 mapping output range: -1 to 1;
#X obj 54 180 trigger float float;
#X obj 127 127 select 0;
#X obj 53 313 tabwrite \$0-curve;
#X obj 138 9 inlet;
#X obj 153 32 send \$0-to-numbox;
#X obj 139 53 trigger bang float;
#X obj 53 283 curve;
#X obj 83 147 mod 200;
#X obj 53 229 - 100;
#X obj 54 257 / 100;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 7 0;
#X connect 4 0 14 0;
#X connect 5 0 0 0;
#X connect 7 0 15 0;
#X connect 7 1 9 1;
#X connect 8 0 1 1;
#X connect 10 0 11 0;
#X connect 10 0 12 0;
#X connect 12 0 0 0;
#X connect 12 1 13 1;
#X connect 13 0 9 0;
#X connect 14 0 3 1;
#X connect 14 0 8 0;
#X connect 15 0 16 0;
#X connect 16 0 13 0;
#X restore 116 109 pd draw_array;
#X obj 74 84 hsl 128 15 -1 1 0 1 empty empty empty -2 -6 0 8 -225271
-1 -1 3600 0;
#X floatatom 213 85 7 0 0 0 - #0-to-numbox -;
#X obj 46 108 curve;
#X connect 11 0 18 0;
#X connect 12 0 13 0;
#X connect 14 0 11 0;
#X connect 16 0 15 0;
#X connect 16 0 18 1;
#X connect 18 0 12 0;
#X restore 31 56 pd PAGE2;
#X coords 0 0 1.01598e-05 1.58148e-05 96 15 0;
#X restore 208 502 pd PAGES;
#X obj 624 503 bng 15 250 50 0 \$0-previous \$0- Previous -60 8 0 12
-262144 -1 -1;
#X obj 644 503 cnv 15 15 15 empty empty 1 0 8 0 12 -217069 -1 0;
#X obj 660 503 cnv 15 15 15 empty empty of 0 8 0 12 -217069 -1 0;
#X obj 676 503 cnv 15 25 15 empty \$0-page_count 4 4 8 0 12 -217069
-1 0;
#X obj 692 503 bng 15 250 50 0 \$0-next \$0- Next 20 8 0 12 -262144
-1 -1;
#X obj 187 69 hid_rel2abs;
#X obj 17 112 hid_smooth;
#X obj 17 47 notescale;
#X obj 95 69 hid_centered;
#X obj 17 158 buttongate;
#X obj 96 158 keygate;
#X obj 96 112 hid_average;
#X text 9 28 SCALING AND RANGING;
#X text 9 95 SMOOTHING;
#X obj 93 47 autoscale;
#X text 9 141 BASIC CONTROLS;
#X text 10 182 ONE-TO-MANY MAPPING;
#X obj 17 207 hid_one2two;
#X obj 102 207 hid_one2three;
#X text 9 231 POLAR COORDINATES;
#X text 9 275 ANGLE CONVERSIONS;
#X obj 181 112 hid_lowpass;
#X obj 201 207 hid_one2four;
#X obj 17 69 reverse;
#X obj 67 248 polar;
#X obj 110 248 spiral;
#X obj 17 248 vector;
#X text 9 340 CURVES;
#X obj 18 366 curve;
#X obj 62 366 sinusoid;
#X obj 141 295 radians->mapping;
#X obj 143 315 degrees->mapping;
#X obj 18 295 mapping->radians;
#X obj 18 315 mapping->degrees;
#N canvas 298 124 492 628 10;
#X text 25 119 The PDDP was proposed initially in early 2002 by Krzysztof
Czaja who suggested that Pure Data was in need of comprehensive documentation.
;
#X text 45 231 - Michal Seta;
#X text 45 204 - Miller Puckette;
#X text 45 217 - Dave Sabine;
#X text 14 374 THINGS TO NOTE:;
#X text 25 480 Externals and other Libraries: Each PDDP document includes
mention of "related objects from other Pd libraries" as well as mention
of "related native Pd objects". The objects from other libraries are
available only if you download those libraries from their respective
authors and integrate them properly into your version of Pd. We do
not and cannot maintain a complete list of externals - but we try.
For more info about externals and other objects \, see http://www.puredata.org/
and the Pure Data Base at http://iem.kug.ac.at/pdb/;
#X text 45 245 - Hans-Christoph Steiner;
#X text 25 315 All comments \, corrections \, etc. regarding the PDDP
reference files should be directed to the Pd Developers' list: pd-dev@iem.at
;
#X text 26 265 PDDP is now part of the CVS Pd distributions. It was
originally available at Dave's web site: http://www.davesabine.com/media/puredata.asp
;
#X obj 3 2 cnv 15 450 20 empty empty PDDP 2 12 1 18 -233017 -66577
0;
#X text 102 5 Pure Data Documentation Project;
#X obj 25 38 pddp_open table_of_contents;
#X text 25 392 Authors: If you would like to participate in this project
\, simply gather together information about objects \, tutorials \,
examples \, etc. and email pd-dev@iem.at for info about formatting
your documents. All documents should be committed to the CVS so that
they will be included in future releases.;
#X text 25 168 The project was originally managed by Dave Sabine. The
people involved in this project include (alphabetically):;
#X obj 25 67 pddp_open glossary;
#N canvas 0 22 454 304 10;
#X obj 101 233 freeverb~;
#X obj 109 92 rev1~;
#X obj 105 124 rev2~;
#X obj 104 157 rev3~;
#N canvas 312 24 559 420 10;
#X obj 0 389 cnv 15 552 21 foo \$0-pddp.cnv.footer empty 20 12 0 14
-228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header abs 3 12 0 18 -204280
-1 0;
#X obj 0 246 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 355 138 507 278 META 0;
#X text 12 115 LIBRARY internal;
#X text 12 155 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 35 LICENSE SIBSD;
#X text 12 135 AUTHOR Miller Puckette;
#X text 12 195 HELP_PATCH_AUTHORS This help patch was updated for Pd
version 0.35 test 28 by Dave Sabine as part of a project called pddp
proposed by Krzysztof Czaja to build comprehensive documentation for
Pd. Jonathan Wilkes revised the patch to conform to the PDDP template
for Pd version 0.42.;
#X text 12 15 KEYWORDS control;
#X text 12 55 DESCRIPTION absolute value;
#X text 12 75 INLET_0 float;
#X text 12 95 OUTLET_0 float;
#X text 12 175 RELEASE_DATE 1997;
#X restore 500 392 pd META;
#X obj 0 305 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 336 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 364 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X text 98 340 (none);
#N canvas 214 304 428 109 Related_objects 0;
#X obj 0 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X obj 236 42 sqrt;
#X obj 271 42 pow;
#X obj 56 75 cos~;
#X obj 88 75 osc~;
#X obj 22 75 expr;
#X obj 22 42 sin;
#X obj 48 42 cos;
#X obj 75 42 tan;
#X obj 108 42 atan;
#X obj 143 42 atan2;
#X obj 181 42 exp;
#X text 7 1 [abs] Related Objects;
#X obj 208 42 log;
#X restore 214 391 pd Related_objects;
#X obj 78 254 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 273 list;
#X text 98 312 float;
#X obj 78 313 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X floatatom 239 152 0 0 0 0 - - -;
#X floatatom 239 95 0 0 0 0 - - -;
#X text 112 175 [abs] will output the absolute value of a number.;
#X obj 239 125 abs;
#X obj 519 9 abs;
#X text 11 24 absolute value;
#X text 168 273 - a list will be truncated \, and the first element
will be used as input.;
#X text 168 312 - the absolute value of the number given at the inlet.
;
#X text 98 253 float;
#X text 168 253 - the incoming value.;
#X obj 4 392 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X connect 14 0 16 0;
#X connect 16 0 13 0;
#N canvas 171 163 561 481 10;
#X obj 0 451 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header acoustics 3 12 0
18 -204280 -1 0;
#X obj 0 289 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 317 389 404 227 META 0;
#X text 12 85 LIBRARY internal;
#X text 12 125 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 45 LICENSE SIBSD;
#X text 12 105 AUTHOR Miller Puckette;
#X text 12 165 HELP_PATCH_AUTHORS Updated for pd version 0.40. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 25 KEYWORDS control conversion MIDI;
#X text 12 5 NAME mtof ftom dbtorms rmstodb dbtopow powtodb;
#X text 12 65 DESCRIPTION control objects for conversion;
#X text 12 145 RELEASE_DATE 1997;
#X restore 500 453 pd META;
#X obj 0 359 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 392 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 421 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X obj 78 298 cnv 17 3 55 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 396 (none);
#N canvas 79 451 428 163 Related_objects 0;
#X text 19 37 Control objects for conversion:;
#X obj 59 66 dbtorms;
#X obj 113 66 rmstodb;
#X obj 167 66 dbtopow;
#X obj 222 66 powtodb;
#X obj 22 125 mtof~;
#X obj 67 125 ftom~;
#X obj 110 125 dbtorms~;
#X obj 175 125 rmstodb~;
#X obj 241 125 dbtopow~;
#X obj 303 125 powtodb~;
#X text 19 102 Signal objects for conversion:;
#X obj 22 66 mtof;
#X obj 0 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [ftom] Related Objects;
#X restore 221 453 pd Related_objects;
#X obj 78 368 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 297 float;
#X text 98 324 list;
#X text 98 368 float;
#X text 158 324 - lists will be truncated \, and the first element
will be used as input.;
#X obj 392 203 ftom;
#X obj 392 151 mtof;
#X floatatom 392 123 0 0 0 0 - - -;
#X floatatom 392 178 0 0 0 0 - - -;
#X floatatom 392 227 0 0 0 0 - - -;
#X floatatom 231 123 0 0 0 0 - - -;
#X floatatom 231 178 0 0 0 0 - - -;
#X floatatom 231 227 0 0 0 0 - - -;
#X obj 231 151 dbtorms;
#X obj 231 203 rmstodb;
#X floatatom 58 123 0 0 0 0 - - -;
#X floatatom 58 178 0 0 0 0 - - -;
#X floatatom 58 227 0 0 0 0 - - -;
#X obj 58 151 dbtopow;
#X obj 58 203 powtodb;
#X obj 258 10 mtof;
#X obj 294 10 ftom;
#X obj 330 11 dbtorms;
#X obj 386 11 rmstodb;
#X obj 440 11 dbtopow;
#X obj 497 11 powtodb;
#X text 11 23 control objects for conversion;
#X obj 110 150 pddp/pddplink dbtopow-help.pd -text dbtopow-help;
#X obj 110 204 pddp/pddplink powtodb-help.pd -text powtodb-help;
#X obj 282 150 pddp/pddplink dbtorms-help.pd -text dbtorms-help;
#X obj 282 204 pddp/pddplink rmstodb-help.pd -text rmstodb-help;
#X obj 426 150 pddp/pddplink ftom-help.pd -text ftom-help;
#X obj 426 204 pddp/pddplink mtof-help.pd -text mtof-help;
#X text 158 297 - the incoming value.;
#X obj 98 425 pddp/pddplink all_about_acoustic_conversions.pd;
#X text 87 79 Click on the links next to each object for more help:
;
#X obj 4 453 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X connect 15 0 19 0;
#X connect 16 0 18 0;
#X connect 17 0 16 0;
#X connect 18 0 15 0;
#X connect 20 0 23 0;
#X connect 21 0 24 0;
#X connect 23 0 21 0;
#X connect 24 0 22 0;
#X connect 25 0 28 0;
#X connect 26 0 29 0;
#X connect 28 0 26 0;
#X connect 29 0 27 0;
#N canvas 426 33 558 622 10;
#X obj 0 595 cnv 15 550 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 550 40 empty \$0-pddp.cnv.header (acoustics~) 3 12
0 18 -204280 -1 0;
#X obj 0 424 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 569 391 408 239 META 0;
#X text 12 85 LIBRARY internal;
#X text 12 125 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 45 LICENSE SIBSD;
#X text 12 105 AUTHOR Miller Puckette;
#X text 12 165 HELP_PATCH_AUTHORS Updated for pd version 0.40. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 25 KEYWORDS signal conversion MIDI;
#X text 12 65 DESCRIPTION signal objects for conversion;
#X text 12 5 NAME mtof~ ftom~ dbtorms~ rmstodb~ dbtopow~ powtodb~;
#X text 12 145 RELEASE_DATE 1997;
#X restore 500 597 pd META;
#X obj 0 499 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 536 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 565 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X obj 78 433 cnv 17 3 55 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 540 (none);
#N canvas 339 468 428 163 Related_objects 0;
#X text 19 37 Control objects for conversion:;
#X obj 59 66 dbtorms;
#X obj 113 66 rmstodb;
#X obj 167 66 dbtopow;
#X obj 222 66 powtodb;
#X obj 22 125 mtof~;
#X obj 67 125 ftom~;
#X obj 110 125 dbtorms~;
#X obj 175 125 rmstodb~;
#X obj 241 125 dbtopow~;
#X obj 303 125 powtodb~;
#X text 19 102 Signal objects for conversion:;
#X obj 22 66 mtof;
#X obj 0 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 (acoustics) Related Objects;
#X restore 223 598 pd Related_objects;
#X obj 78 508 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 11 23 signal objects for conversion;
#X text 98 432 signal;
#X text 98 508 signal;
#X text 158 508 - the outgoing signal.;
#X text 158 432 - the incoming signal.;
#X floatatom 68 136 0 0 0 0 - - -;
#X obj 68 160 dbtopow~;
#X obj 67 217 snapshot~;
#X floatatom 67 246 0 0 0 0 - - -;
#X obj 67 294 powtodb~;
#X obj 67 341 snapshot~;
#X floatatom 67 368 0 0 0 0 - - -;
#X obj 237 11 mtof~;
#X obj 276 11 ftom~;
#X obj 315 11 dbtorms~;
#X obj 372 11 rmstodb~;
#X obj 429 11 dbtopow~;
#X obj 486 11 powtodb~;
#X floatatom 248 136 0 0 0 0 - - -;
#X obj 247 217 snapshot~;
#X floatatom 247 246 0 0 0 0 - - -;
#X obj 247 341 snapshot~;
#X floatatom 247 368 0 0 0 0 - - -;
#X obj 248 160 dbtorms~;
#X obj 247 294 rmstodb~;
#X floatatom 418 136 0 0 0 0 - - -;
#X obj 417 217 snapshot~;
#X floatatom 417 246 0 0 0 0 - - -;
#X obj 417 341 snapshot~;
#X floatatom 417 368 0 0 0 0 - - -;
#X obj 418 160 ftom~;
#X obj 417 294 mtof~;
#X obj 29 190 bang~;
#X obj 209 190 bang~;
#X obj 379 190 bang~;
#X obj 438 180 pddp/pddplink ftom~-help.pd -text ftom~-help;
#X obj 88 314 pddp/pddplink powtodb~-help.pd -text powtodb~-help;
#X obj 268 314 pddp/pddplink rmstodb~-help.pd -text rmstodb~-help;
#X obj 438 314 pddp/pddplink mtof~-help.pd -text mtof~-help;
#X obj 268 180 pddp/pddplink dbtorms~-help.pd -text dbtorms~-help;
#X obj 88 180 pddp/pddplink dbtopow~-help.pd -text dbtopow~-help;
#X text 98 452 float;
#X text 158 452 - an incoming float will be converted to a signal.
;
#X text 98 472 list;
#X text 158 472 - a list will be truncated to the first element.;
#X obj 98 569 pddp/pddplink all_about_acoustic_conversions.pd;
#X text 97 96 Click on the links under each object for more help:;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 455 51 pddp/dsp;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 21 0 22 0;
#X connect 29 0 34 0;
#X connect 30 0 31 0;
#X connect 31 0 35 0;
#X connect 32 0 33 0;
#X connect 34 0 30 0;
#X connect 35 0 32 0;
#X connect 36 0 41 0;
#X connect 37 0 38 0;
#X connect 38 0 42 0;
#X connect 39 0 40 0;
#X connect 41 0 37 0;
#X connect 42 0 39 0;
#X connect 43 0 18 0;
#X connect 43 0 21 0;
#X connect 44 0 30 0;
#X connect 44 0 32 0;
#X connect 45 0 37 0;
#X connect 45 0 39 0;
#N canvas 427 35 559 624 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header (adc~/dac~) 3 12
0 18 -204280 -1 0;
#N canvas 568 408 402 224 META 0;
#X text 12 85 LIBRARY internal;
#X text 12 125 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 45 LICENSE SIBSD;
#X text 12 105 AUTHOR Miller Puckette;
#X text 12 165 HELP_PATCH_AUTHORS Dave Sabine \, May 5 \, 2003 . Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 25 KEYWORDS signal conversion;
#X text 12 5 NAME adc~ dac~;
#X text 12 145 RELEASE_DATE 1997;
#X text 12 65 DESCRIPTION audio input/output;
#X restore 501 597 pd META;
#X obj 0 508 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#N canvas 205 462 428 165 Related_objects 0;
#X obj 22 43 dac~;
#X obj 62 43 switch~;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 2 [adc~] Related Objects;
#X text 19 74 Externals;
#X obj 173 43 throw~;
#X obj 225 43 catch~;
#X obj 277 43 send~;
#X obj 321 43 receive~;
#X obj 19 94 pddp/helplink pdogg/oggcast~;
#X obj 19 114 pddp/helplink unauthorized/mp3cast~;
#X text 18 136 [shoutcast~] (What library is this in?);
#X obj 119 43 block~;
#X text 19 66;
#X text 115 43;
#X restore 102 597 pd Related_objects;
#X obj 469 10 adc~;
#X obj 5 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#N canvas 44 65 428 471 Multi-channel_audio 0;
#X text 19 38 All sound cards are capable of at least two channels
of audio. Pd supports these two channels by default and uses your system's
generic audio drivers to communicate with your hardware. However \,
for faster input/output and for more than two channels of audio \,
PD incorporates the use of "PortAudio" which uses ASIO drivers to communicate
with your hardware. So \, to instruct Pd to use more than two channels
of audio \, your command line should read like below:;
#X text 80 145 c:/pd/bin/pd.exe -pa -inchannels 8 -outchannels 8;
#X text 19 174 The "-pa" switch means "PortAudio". This switch is new
as of Pd version 0.37 TEST 4 and replaces the old "-asio" switch.;
#X text 19 234 The "-inchannels" and "-outchannels" switches can be
summarized by using "-channels 8" because currently PortAudio requires
that the number of incoming and outgoing channels must be equal. This
may change in the Pd's future...;
#X text 19 314 To further optimize Pd's usage of your audio hardware
\, you can explore the following:;
#X text 29 355 - audiobuf;
#X text 30 373 - blocksize;
#X text 29 389 - audioindev;
#X text 29 407 - audiooutdev;
#X text 25 433 With the right hardware \, Pd can manage audio input
and output with lower than 10 milliseconds of latency.;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 2 [dac~] Multi-channel Audio;
#X restore 102 542 pd Multi-channel_audio;
#N canvas 84 179 428 341 sample_rate 0;
#X text 19 37 [adc~] and [dac~] always operate at the sample rate that
is specified in Pd's command line. By default \, the sample rate is
44100 hz. But Pd operates any sample rate supported by standard audio
hardware. Sample rates cannot be changed at run-time in Pd \, but must
be stated in the command line when Pd is instantiated. As well \, two
or more instances of Pd running simoultaneously can each be using different
sample rates! Having said that \, Pd can easily upsample or downsample
by using the [block~] object. Here are some example of the common sample
rates:;
#X text 19 191 c:/pd/bin/pd.exe -r 11025;
#X text 19 221 c:/pd/bin/pd.exe -r 22050;
#X text 19 281 c:/pd/bin/pd.exe -r 88200;
#X text 19 176 c:/pd/bin/pd.exe -r 8000;
#X text 19 206 c:/pd/bin/pd.exe -r 16000;
#X text 19 236 c:/pd/bin/pd.exe -r 32000;
#X text 19 251 c:/pd/bin/pd.exe -r 44100 CD Quality;
#X text 19 266 c:/pd/bin/pd.exe -r 48000 DAT Quality;
#X text 19 311 c:/pd/bin/pd.exe -r 192000 DVD-Audio Quality;
#X text 19 296 c:/pd/bin/pd.exe -r 96000 DVD-Video/Audio Quality;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 2 [dac~] Sample Rate;
#X restore 102 517 pd sample_rate;
#N canvas 59 444 428 117 defeating_audio_computation 0;
#X text 19 37 There may be cases when you do not want Pd to send or
receive audio signal with your soundcard. You can manually disable
the [dac~] and [adc~] objects separately using the "-nodac" and "-noadc"
switch \, or disable both using the "-nosound" switch.;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 2 [dac~] -nodac and -noadc;
#X restore 102 567 pd defeating_audio_computation;
#X obj 509 10 adc~;
#X text 12 23 audio input/output;
#X obj 101 107 pddp/pddplink adc~-help.pd;
#X text 98 56 [adc~] and [dac~] provide real-time audio input and output
for Pd \, respectively \, whether analog or digital. Click below for
the individual help patches:;
#X obj 101 127 pddp/pddplink dac~-help.pd;
#N canvas 430 35 448 545 10;
#X obj 1 1 cnv 15 445 20 empty \$0-pddp.cnv.header expr_operators_and_functions
20 10 1 18 -261106 -33289 0;
#X obj 407 2 pddp/pddplink http://puredata.info/dev/pddp -text pddp
;
#X floatatom 140 881 5 0 0 0 - - -, f 5;
#X floatatom 188 880 5 0 0 0 - - -, f 5;
#X obj 140 901 v a;
#X obj 188 901 v b;
#X obj 36 794 expr max(a \, b);
#X obj 22 774 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 795 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 711 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 732 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 753 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X floatatom 36 880 0 0 0 0 - - -;
#X obj 22 990 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 1010 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1030 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1050 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1070 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1090 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1110 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1130 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1150 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 816 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 1171 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 837 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 858 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X floatatom 36 1200 0 0 0 0 - - -;
#X obj 36 773 expr min(a \, b);
#X obj 36 710 expr int(a);
#X obj 36 731 expr rint(a);
#X obj 36 752 expr float(a);
#X obj 36 1129 expr tanh(a);
#X obj 36 1149 expr fact(a);
#X obj 36 815 expr abs(a);
#X obj 36 857 expr modf(a);
#N canvas 0 0 450 300 (subpatch) 0;
#X array expr_array 11 float 3;
#A 0 -0.707106 0 0.707106 1 0.707108 2.65359e-06 -0.707104 -1 -0.70711
-5.30718e-06 0.707103;
#X coords 0 1 11 -1 80 60 1;
#X restore 22 1757 graph;
#X obj 22 1844 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1864 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1884 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1904 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1924 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1944 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 36 1971 0 0 0 0 - - -;
#X text 185 1842 size of an array;
#X text 24 1620 * Bug: floor and ceiling must take two values to initialize
properly. You can just put a zero as the second value.;
#X text 9 1171 *;
#X text 9 837 *;
#X text 185 1861 sum of all elements in an array;
#X text 206 1903 average of all elements;
#X text 138 772 minimum;
#X text 138 793 maximum;
#X text 138 709 convert to integer;
#X text 138 730 round a float to a nearby integer;
#X text 138 751 convert to float;
#X text 4 753 **;
#X text 24 1646 ** Bug: float(a) converts a to an integer;
#X text 149 1127 hyperbolic tangent;
#X text 149 1147 factorial;
#X text 127 835 get signed integer value from floating point number
;
#X floatatom 120 504 5 0 0 0 - - -, f 5;
#X floatatom 168 503 5 0 0 0 - - -, f 5;
#X obj 120 524 v a;
#X obj 168 524 v b;
#X floatatom 36 503 0 0 0 0 - - -;
#X text 117 123 One's complement;
#X text 117 143 Multiply;
#X text 117 183 Modulo;
#X text 117 203 Add;
#X text 117 223 Subtract;
#X text 117 243 Shift Left;
#X text 117 263 Shift Right;
#X text 117 283 Less than (boolean);
#X text 117 303 Less than or equal (boolean);
#X text 117 323 Greater than (boolean);
#X text 117 343 Greater than or equal (boolean);
#X text 117 363 Equal (boolean);
#X text 117 383 Not equal (boolean);
#X text 117 403 Bitwise And;
#X text 117 423 Exclusive Or;
#X text 117 443 Bitwise Or;
#X text 117 463 Logical And (boolean);
#X text 117 483 Logical Or (boolean);
#X text 117 163 Divide (division by zero detected);
#X text 138 815 absolute value;
#X obj 22 613 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 36 612 expr if(a \, b \, c);
#X floatatom 238 880 5 0 0 0 - - -, f 5;
#X obj 238 901 v c;
#X text 147 637 (See expr-if subpatch for more details);
#X text 117 855 get signed fractional value from floating point number
;
#X floatatom 152 1201 5 0 0 0 - - -, f 5;
#X floatatom 200 1200 5 0 0 0 - - -, f 5;
#X obj 152 1221 v a;
#X obj 200 1221 v b;
#X obj 22 664 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 36 663 expr random(a \, b);
#X obj 36 989 expr pow(a \, b);
#X text 149 987 raise a to the power of b;
#X obj 36 1009 expr sqrt(a);
#X text 149 1007 square root;
#X obj 36 1029 expr exp(a);
#X text 149 1027 e raised to the power of a;
#X obj 36 1049 expr ln(a);
#X text 149 1047 natural log;
#X obj 36 1069 expr log(a);
#X text 149 1067 natural log (same as above);
#X obj 36 1089 expr log10(a);
#X text 149 1087 log base 10;
#X obj 36 1109 expr fact(a);
#X text 149 1107 factorial;
#X obj 36 1170 expr ldexp(a);
#X obj 22 1310 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1330 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1350 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1370 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1390 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1410 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1430 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1450 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1470 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1491 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 36 1575 0 0 0 0 - - -;
#X text 9 1511 *;
#X floatatom 152 1575 5 0 0 0 - - -, f 5;
#X floatatom 200 1574 5 0 0 0 - - -, f 5;
#X obj 152 1595 v a;
#X obj 200 1595 v b;
#X obj 36 1309 expr sin(a);
#X text 149 1307 sine;
#X obj 36 1329 expr cos(a);
#X text 149 1327 cosine;
#X obj 36 1349 expr tan(a);
#X text 149 1347 tangent;
#X obj 36 1369 expr asin(a);
#X text 149 1367 arc sine;
#X obj 36 1389 expr acos(a);
#X text 149 1387 arc cosine;
#X obj 36 1409 expr atan(a);
#X text 149 1407 arc tangent;
#X obj 36 1429 expr atan2(a \, b);
#X text 149 1427 arc tangent of 2 variables;
#X obj 36 1449 expr sinh(a);
#X text 149 1447 hyperbolic sine;
#X obj 36 1469 expr cosh(a);
#X text 149 1467 hyperbolic cosine;
#X obj 22 1512 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1532 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 22 1552 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 36 1490 expr tanh(a);
#X text 149 1487 hyperbolic tangent;
#X obj 36 1511 expr floor(a \, 0);
#X text 149 1509 largest integral value not greater than argument;
#X obj 36 1531 expr ceil(a \, 0);
#X text 149 1529 smallest integral value not less than argument;
#X text 149 1549 floating-point remainder function;
#X obj 36 1551 expr fmod(a \, b);
#X text 9 1531 *;
#X obj 22 144 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 164 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 184 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 204 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 224 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 244 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 264 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 284 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 304 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 324 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 344 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 364 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 384 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 404 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 22 424 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 36 143 expr a * b;
#X obj 36 163 expr a / b;
#X obj 36 183 expr a % b;
#X obj 36 203 expr a + b;
#X obj 36 223 expr a - b;
#X obj 36 243 expr a << b;
#X obj 36 263 expr a >> b;
#X obj 36 283 expr a < b;
#X obj 36 303 expr a <= b;
#X obj 36 323 expr a > b;
#X obj 36 343 expr a >= b;
#X obj 36 363 expr a == b;
#X obj 36 383 expr a != b;
#X obj 36 403 expr a & b;
#X obj 36 423 expr a ^ b;
#X obj 22 444 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 36 443 expr a | b;
#X obj 22 464 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 36 463 expr a && b;
#X obj 22 484 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 36 483 expr a || b;
#X obj 22 124 bng 12 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 36 123 expr a ~ b;
#X obj 36 836 expr imodf(a);
#X floatatom 131 1971 5 0 0 0 - - -, f 5;
#X floatatom 179 1970 5 0 0 0 - - -, f 5;
#X obj 131 1991 v a;
#X obj 179 1991 v b;
#X text 18 2277 cbrt(a);
#X text 18 2297 erf(a);
#X text 18 2317 erfc(a);
#X text 18 2357 loglp(a);
#X text 18 2377 isinf(a);
#X text 18 2397 finite(a);
#X text 18 2417 isnan(a);
#X text 18 2457 drem(a);
#X text 18 2477 asinh(a);
#X text 18 2497 acosh(a);
#X text 18 2517 atanh(a);
#X text 98 2277 cube root;
#X text 98 2297 error function;
#X text 98 2317 complementary error function;
#X text 18 2337 expm1(a);
#X text 98 2337 exponential minus 1;
#X text 98 2357 logarithm of 1 plus;
#X text 98 2377 is the value infinite;
#X text 98 2397 is the value finite;
#X text 98 2417 is the value not a number;
#X text 98 2437 copy the sign of a number;
#X text 98 2457 floating-point remainder function;
#X text 98 2477 inverse hyperbolic sine;
#X text 98 2497 inverse hyperbolic cosine;
#X text 98 2517 inverse hyperbolic tangent;
#X obj 36 1843 expr size("expr_array");
#X text 242 524 ***Scroll Down for more***;
#X obj 1 572 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12
0 14 -261106 -33289 0;
#X obj 1 949 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12
0 14 -261106 -33289 0;
#X obj 1 1269 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12
0 14 -261106 -33289 0;
#X text 7 1269 Trigonometric Functions;
#X text 7 949 Power Functions;
#X text 7 572 General Purpose Functions;
#X obj 1 1705 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12
0 14 -261106 -33289 0;
#X text 7 1705 Array/Table Functions;
#X obj 1 2241 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12
0 14 -261106 -33289 0;
#X text 7 2241 Functions Not Available in Windows;
#X text 148 612 conditional \; if (condition \, ifTrue-expr \, ifFalse-expr)
;
#X text 147 663 random number between a and b. The value will;
#X text 148 676 be less than the upper boundary and greater;
#X text 148 688 than or equal to the lower boundary.;
#X text 149 1180 power of 2;
#X text 149 1167 multiply floating-point number by integral;
#X text 217 1882 sum of an array within boundaries;
#X text 219 1922 average of elements within boundaries;
#X text 239 1942 store a value in an array;
#X text 239 1955 ("array_name" \, index \, value);
#X text 19 2032 Note: the quotation marks inside the parentheses are
also required when using a variable \, like "$s2". When using array/table
names like "array-name" or "\$0-table" \, use a variable-- otherwise
the dash and the \$0 will get interpreted as an operator and a value
\, respectively.;
#X obj 35 2131 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 35 2195 5 0 0 0 - - -, f 5;
#X obj 35 2150 symbol \$0-expr-array;
#X obj 35 2172 expr size("$s1");
#X obj 36 1863 expr sum("expr_array");
#X text 19 2096 For a table name like "\$0-array2" \, send the array
name as a message:;
#X text 239 1981 than the size of the table \,;
#X text 239 1968 If the index is greater;
#X text 240 1994 a modulo the size of the;
#X text 240 2007 table is made.;
#X text 109 1790 Note: The array name in [expr] must be in quotes;
#X text 146 1803 when using these functions.;
#X text 109 1816 (even when for a variable like "$s2");
#X obj 36 1883 expr Sum("expr_array" \, 6 \, 0);
#X obj 36 1903 expr avg("expr_array");
#X obj 36 1923 expr Avg("expr_array" \, 1 \, 3);
#X obj 36 1943 expr store("expr_array" \, 0 \, 3);
#X text 254 2439 ***;
#X text 17 2540 *** bug: copysign is spelled "copysig" in the source
;
#X text 18 2437 copysign(a);
#X obj 1 82 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12
0 14 -261106 -33289 0;
#X text 19 37 The following operators and functions are available as
arguments to the [expr] \, [expr~] \, and [fexpr~] objects.;
#X text 7 82 Operators (from highest to lowest precedence);
#X obj 1 2568 cnv 15 445 20 empty \$0-pddp.cnv.footer empty 20 12 0
14 -233017 -33289 0;
#N canvas 375 387 494 164 META 0;
#X text 12 105 HELP_PATCH_AUTHORS Dave Sabine \, May 5 \, 2003 . Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 85 LIBRARY PDDP;
#X text 12 45 KEYWORDS;
#X text 12 5 GENRE all_about_pd;
#X text 12 25 NAME expr expr~ fexpr~;
#X text 12 65 DESCRIPTION complete list of functions and operators
for expr family objects;
#X restore 392 2570 pd META;
#N canvas 218 414 428 140 Related_objects 0;
#X obj 0 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -261106 -33289 0;
#X text 6 1 [expr] Functions and Operators- Related Objects;
#X restore 103 2570 pd Related_objects;
#X obj 6 2570 pddp/pddplink all_about.pd -text All About Pd;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 6 0 12 0;
#X connect 7 0 27 0;
#X connect 8 0 6 0;
#X connect 9 0 28 0;
#X connect 10 0 29 0;
#X connect 11 0 30 0;
#X connect 13 0 96 0;
#X connect 14 0 98 0;
#X connect 15 0 100 0;
#X connect 16 0 102 0;
#X connect 17 0 104 0;
#X connect 18 0 106 0;
#X connect 19 0 108 0;
#X connect 20 0 31 0;
#X connect 21 0 32 0;
#X connect 22 0 33 0;
#X connect 23 0 110 0;
#X connect 24 0 195 0;
#X connect 25 0 34 0;
#X connect 27 0 12 0;
#X connect 28 0 12 0;
#X connect 29 0 12 0;
#X connect 30 0 12 0;
#X connect 31 0 26 0;
#X connect 32 0 26 0;
#X connect 33 0 12 0;
#X connect 34 0 12 0;
#X connect 36 0 225 0;
#X connect 37 0 252 0;
#X connect 38 0 261 0;
#X connect 39 0 262 0;
#X connect 40 0 263 0;
#X connect 41 0 264 0;
#X connect 59 0 61 0;
#X connect 60 0 62 0;
#X connect 84 0 85 0;
#X connect 85 0 12 0;
#X connect 86 0 87 0;
#X connect 90 0 92 0;
#X connect 91 0 93 0;
#X connect 94 0 95 0;
#X connect 96 0 26 0;
#X connect 98 0 26 0;
#X connect 100 0 26 0;
#X connect 102 0 26 0;
#X connect 104 0 26 0;
#X connect 106 0 26 0;
#X connect 108 0 26 0;
#X connect 110 0 26 0;
#X connect 111 0 127 0;
#X connect 112 0 129 0;
#X connect 113 0 131 0;
#X connect 114 0 133 0;
#X connect 115 0 135 0;
#X connect 116 0 137 0;
#X connect 117 0 139 0;
#X connect 118 0 141 0;
#X connect 119 0 143 0;
#X connect 120 0 148 0;
#X connect 123 0 125 0;
#X connect 124 0 126 0;
#X connect 127 0 121 0;
#X connect 129 0 121 0;
#X connect 131 0 121 0;
#X connect 133 0 121 0;
#X connect 135 0 121 0;
#X connect 137 0 121 0;
#X connect 139 0 121 0;
#X connect 141 0 121 0;
#X connect 143 0 121 0;
#X connect 145 0 150 0;
#X connect 146 0 152 0;
#X connect 147 0 155 0;
#X connect 148 0 121 0;
#X connect 150 0 121 0;
#X connect 152 0 121 0;
#X connect 155 0 121 0;
#X connect 157 0 172 0;
#X connect 158 0 173 0;
#X connect 159 0 174 0;
#X connect 160 0 175 0;
#X connect 161 0 176 0;
#X connect 162 0 177 0;
#X connect 163 0 178 0;
#X connect 164 0 179 0;
#X connect 165 0 180 0;
#X connect 166 0 181 0;
#X connect 167 0 182 0;
#X connect 168 0 183 0;
#X connect 169 0 184 0;
#X connect 170 0 185 0;
#X connect 171 0 186 0;
#X connect 172 0 63 0;
#X connect 173 0 63 0;
#X connect 174 0 63 0;
#X connect 175 0 63 0;
#X connect 176 0 63 0;
#X connect 177 0 63 0;
#X connect 178 0 63 0;
#X connect 179 0 63 0;
#X connect 180 0 63 0;
#X connect 181 0 63 0;
#X connect 182 0 63 0;
#X connect 183 0 63 0;
#X connect 184 0 63 0;
#X connect 185 0 63 0;
#X connect 186 0 63 0;
#X connect 187 0 188 0;
#X connect 188 0 63 0;
#X connect 189 0 190 0;
#X connect 190 0 63 0;
#X connect 191 0 192 0;
#X connect 192 0 63 0;
#X connect 193 0 194 0;
#X connect 194 0 63 0;
#X connect 195 0 12 0;
#X connect 196 0 198 0;
#X connect 197 0 199 0;
#X connect 225 0 42 0;
#X connect 248 0 250 0;
#X connect 250 0 251 0;
#X connect 251 0 249 0;
#X connect 252 0 42 0;
#X connect 261 0 42 0;
#X connect 262 0 42 0;
#X connect 263 0 42 0;
#X connect 264 0 42 0;
#N canvas 427 33 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header append 3 12 0 18
-204280 -1 0;
#X obj 0 226 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 563 355 411 274 META 0;
#X text 12 145 LIBRARY internal;
#X text 12 185 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 25 LICENSE SIBSD;
#X text 12 165 AUTHOR Miller Puckette;
#X text 12 225 HELP_PATCH_AUTHORS Updated for Pd version 0.4. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 5 KEYWORDS control data_structure;
#X text 12 105 INLET_R pointer;
#X text 12 125 OUTLET_0 pointer;
#X text 12 65 INLET_0 float list;
#X text 12 85 INLET_N float;
#X text 12 205 RELEASE_DATE 1997;
#X text 12 45 DESCRIPTION add a scalar to a canvas;
#X restore 500 597 pd META;
#X obj 0 392 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 436 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 527 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X obj 78 319 cnv 17 3 35 empty \$0-pddp.cnv.let.n n 5 9 0 16 -228856
-162280 0;
#X obj 78 235 cnv 17 3 78 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 319 float;
#N canvas 214 524 428 101 Related_objects 0;
#X obj 14 38 get;
#X obj 46 38 set;
#X obj 136 38 getsize;
#X obj 193 38 setsize;
#X obj 121 63 element;
#X obj 13 64 sublist;
#X obj 79 38 pointer;
#X obj 69 63 struct;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 8 2 [append] Related Objects;
#X restore 101 597 pd Related_objects;
#X obj 498 12 append;
#N canvas 116 162 428 109 help-append-template1 0;
#X obj 22 69 filledpolygon z z 0 0 0 20 0 20 30 0 30;
#X obj 22 42 struct help-append-template1 float x float y float z;
#X obj 0 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [append] Template for "help-append-template1";
#X restore 372 196 pd help-append-template1;
#N canvas 554 168 428 207 help-append-data 0;
#X obj 0 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [append] Data Window;
#X restore 372 174 pd help-append-data;
#X obj 281 104 pointer;
#X msg 281 80 traverse pd-help-append-data \, bang;
#X obj 80 152 append help-append-template1 x y z;
#X floatatom 80 95 5 26 400 0 - - -, f 5;
#X obj 80 115 t f f;
#X msg 372 138 \; pd-help-append-data clear;
#X text 98 234 float;
#X text 98 264 list;
#X obj 78 401 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 401 pointer;
#X obj 78 360 cnv 17 3 27 empty \$0-pddp.cnv.let.r r 5 9 0 16 -228856
-162280 0;
#X text 98 360 pointer;
#X text 98 531 You may append objects of different templates using
different [append] objects.;
#X text 168 360 - the final inlet takes a pointer to a scalar (or to
the head of a list).;
#X text 168 234 - a float to the left inlet initializes the field(s)
of a scalar and appends the scalar to a glist.;
#X text 168 264 - a list to the first inlet is distributed among the
inlets of [append]. In the example above \, you can use the message
box to assign the values "5" \, "6" \, and "7" to fields "x" \, "y"
\, and "z" \, respectively.;
#X text 168 319 - an additional inlet is created for each field specified
by the creation arguments. A float sent to one of these inlets will
be stored for later use.;
#X text 168 401 - after [append] receives a value at its left inlet
\, it outputs a pointer to the new scalar that has been created.;
#X text 15 74 2) ...then here;
#X text 224 174 3) result is in here ->;
#X text 279 56 1) go to (and output) "head" of the list;
#X text 168 482 - all subsequent arguments are names of fields to initialize.
At least one field must be specified in order to append a new scalar.
;
#X text 80 455 1) symbol atom;
#X text 80 482 n) symbol atom;
#X text 168 455 - a [struct] name that specifies the template of a
new scalar to append.;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 98 572 pddp/pddplink ../4.data.structures/04.append.pd -text
doc/4.data.structures/04.append.pd;
#X obj 98 557 pddp/pddplink all_about_z_order.pd;
#X obj 325 557 pddp/pddplink scalar-help.pd;
#X text 11 23 add a scalar to a canvas;
#X msg 18 95 10 75 2;
#X connect 14 0 16 3;
#X connect 15 0 14 0;
#X connect 17 0 18 0;
#X connect 18 0 16 0;
#X connect 18 1 16 1;
#X connect 18 1 16 2;
#X connect 44 0 16 0;
#N canvas 430 33 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header bag 3 12 0 18 -204280
-1 0;
#X obj 0 288 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 562 360 414 263 META 0;
#X text 12 125 LIBRARY internal;
#X text 12 165 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 25 LICENSE SIBSD;
#X text 12 145 AUTHOR Miller Puckette;
#X text 12 205 HELP_PATCH_AUTHORS Updated for Pd v0.41. Revised by
Jonathan Wilkes to conform to the PDDP template for Pd version 0.42.
;
#X text 12 45 DESCRIPTION collection of numbers;
#X text 12 85 INLET_1 float;
#X text 12 105 OUTLET_0 float;
#X text 12 65 INLET_0 float list flush clear;
#X text 12 5 KEYWORDS control storage list_op;
#X text 12 185 RELEASE_DATE 2009;
#X restore 500 597 pd META;
#X obj 0 495 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 538 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 566 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X text 98 542 (none);
#N canvas 225 510 428 109 Related_objects 0;
#X obj 62 43 makenote;
#X obj 22 43 poly;
#X obj 123 43 list;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 8 2 [bag] Related Objects;
#X restore 102 598 pd Related_objects;
#X obj 79 297 cnv 17 3 130 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 296 float;
#X text 98 353 list;
#X text 98 503 float;
#X obj 79 504 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 79 440 cnv 17 3 45 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 439 float;
#X text 98 383 flush;
#X text 98 413 clear;
#X text 168 383 - output all values one by one \, in the order they
were received \, and clear the collection.;
#X text 168 503 - upon sending the "flush" message to the left inlet
\, [bag] will output each value in the order it was received.;
#X text 99 570 You can use [bag] to mimic a sustain pedal \, for example.
;
#X msg 162 88 60 64;
#X msg 213 88 60 0;
#X msg 257 88 62 64;
#X msg 304 88 62 0;
#X obj 162 215 print;
#X text 207 216 Output is in the printout window.;
#X msg 304 134 clear;
#X msg 303 111 flush;
#X obj 162 185 bag;
#X text 168 353 - a (value \, flag) pair is distributed to the two
inlets. Lists with more than two elements will be truncated.;
#X text 11 23 collection of numbers;
#X obj 518 10 bag;
#X text 168 413 - clear the collection.;
#X text 167 439 - a float to the right inlet sets the "flag": if zero
\, values to the left inlet will not be added to the collection. If
nonzero \, values to the right inlet will be added to the collection.
;
#X text 168 296 - a float to the left inlet will be added to the collection
if the last value the right inlet received was nonzero. If the last
value the right inlet received was zero \, the float sent to the right
inlet will be removed from the collection.;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X connect 21 0 29 0;
#X connect 22 0 29 0;
#X connect 23 0 29 0;
#X connect 24 0 29 0;
#X connect 27 0 29 0;
#X connect 28 0 29 0;
#X connect 29 0 25 0;
#N canvas 428 36 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header bang 3 12 0 18 -204280
-1 0;
#X obj 0 329 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 570 331 408 299 META 0;
#X text 12 125 LIBRARY internal;
#X text 12 165 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 45 LICENSE SIBSD;
#X text 12 145 AUTHOR Miller Puckette;
#X text 12 205 HELP_PATCH_AUTHORS This document was updated for Pd
version 0.35 test 28 by Dave Sabine as part of a project called pddp
proposed by Krzysztof Czaja to build comprehensive documentation for
Pd. Revised by Jonathan Wilkes to conform to the PDDP template for
Pd version 0.42.;
#X text 12 65 DESCRIPTION output a "bang" message whatever the input
;
#X text 12 85 INLET_0 anything;
#X text 12 105 OUTLET_0 bang;
#X text 12 5 ALIAS b;
#X text 12 25 KEYWORDS control bang_op;
#X text 12 185 RELEASE_DATE 2009;
#X restore 500 597 pd META;
#X obj 0 373 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 409 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 437 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X obj 78 338 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 413 (none);
#N canvas 215 518 428 108 Related_objects 0;
#X obj 21 42 trigger;
#X obj 191 43 loadbang;
#X msg 91 43;
#X obj 262 43 until;
#X obj 144 43 bang;
#X obj 312 43 metro;
#X obj 0 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [bang] Related Objects;
#X restore 101 598 pd Related_objects;
#X text 98 381 bang;
#X obj 78 381 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 468 11 bang;
#X obj 139 224 print;
#X msg 152 171 walk the cat;
#X msg 139 145 45;
#X obj 139 199 bang;
#X obj 288 199 print;
#X msg 288 147 walk the cat;
#X obj 288 175 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 310 173 <- gui "bng" object;
#X text 98 337 anything;
#N canvas 57 48 428 509 More_bang_objects 0;
#X obj 23 42 bang;
#X obj 66 42 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 43 116 bang;
#X text 20 115 1;
#X text 19 172 2;
#X obj 43 173 bng 15 250 50 0 empty empty empty 18 7 0 8 -262144 -1
-1;
#X text 178 42 - sending "bang" messages;
#X obj 140 42 t b;
#X msg 92 42 bang;
#X text 19 288 3;
#X msg 45 289 bang;
#X msg 98 342 bang \, bang;
#X obj 98 368 f;
#X obj 131 368 + 1;
#X floatatom 98 393 5 0 0 0 - - -, f 5;
#X msg 46 342 bang;
#X text 19 418 4;
#X obj 43 419 trigger bang;
#X text 151 419 Abbrevation:;
#X obj 253 419 t b;
#X obj 271 471 b;
#X text 43 138 This version uses minimal CPU but serves essentially
the same purpose as the GUI version below.;
#X text 42 309 The word "bang" in a message box (CTRL+2) makes a clickable
bang object. Use commas to send multiple messages:;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [bang] Common Objects for Sending bang Messages;
#X text 20 65 The [bang] object is one of the basic building blocks
of PD and is normally used to activate events. The four basic ways
to send a "bang" message are:;
#X text 42 441 When given a single argument of "bang" \, the trigger
object is essentially the same as #1 above \, so in this case it's
preferable (and less typing) to use:;
#X text 67 174 a.k.a. [bng];
#X text 42 191 This version uses a little more CPU than its cousin
because it lights up when it receives a message or is clicked on and
can be coloured \, resized \, or renamed. It is sometimes 'friendlier'
as well because it can act as its own send and receive object (see
properties...). This object can be put in a Pd patch either by keyboard
shortcut: ALT+SHIFT+B or by creating an object (CTRL+1) and naming
it "bng".;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 12 0 14 0;
#X connect 13 0 12 1;
#X connect 15 0 12 0;
#X restore 100 473 pd More_bang_objects;
#X text 98 441 Many objects in Pd output a "bang" message. Click the
subpatch below to read about the most common ones:;
#X obj 100 569 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 98 498 It is important to note that "bang" is not boolean.
It's neither a zero or a one \; it's not true or false \; it's just
"bang". For a boolean object \, you should check out [toggle]:;
#X text 11 23 output a "bang" message whatever the input;
#X text 122 567 <- Right click and choose "Help" for [toggle] helpfile.
;
#X text 168 381 - the [bang] object always outputs a bang message.
;
#X text 168 337 - [bang] takes any message supplied to its inlet and
outputs a bang message in response.;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 520 11 b;
#X text 500 11 or;
#X connect 14 0 16 0;
#X connect 15 0 16 0;
#X connect 16 0 13 0;
#X connect 18 0 19 0;
#X connect 19 0 17 0;
#N canvas 426 35 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header bang~ 3 12 0 18
-204280 -1 0;
#X obj 0 445 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 585 389 387 241 META 0;
#X text 12 105 LIBRARY internal;
#X text 12 145 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 25 LICENSE SIBSD;
#X text 12 125 AUTHOR Miller Puckette;
#X text 12 185 HELP_PATCH_AUTHORS Updated for Pd version 0.33. Revised
by Jonathan Wilkes to conform to the PDDP template for Pd version 0.42.
;
#X text 12 45 DESCRIPTION output a "bang" message after each DSP cycle
;
#X text 12 65 INLET_0;
#X text 12 85 OUTLET_0 bang;
#X text 12 5 KEYWORDS signal conversion bang_op;
#X text 12 165 RELEASE_DATE 2009;
#X restore 500 597 pd META;
#X obj 0 482 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 537 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 565 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X obj 78 454 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 541 (none);
#N canvas 214 518 428 114 Related_objects 0;
#X obj 15 34 print~;
#X obj 72 34 bang;
#X obj 0 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 6 1 [bang~] Related Objects;
#X restore 102 597 pd Related_objects;
#X text 98 491 bang;
#X obj 78 491 cnv 17 3 35 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 505 12 bang~;
#X obj 116 213 bang~;
#X obj 116 281 print;
#X text 228 169 click to test;
#X obj 116 249 spigot;
#X msg 190 253 dsp \$1;
#X obj 190 280 s pd;
#X msg 190 171 bang;
#X obj 190 219 1;
#X obj 226 219 0;
#X obj 226 195 delay 10;
#X obj 340 170 loadbang;
#X msg 340 196 dsp 0;
#X obj 340 221 s pd;
#X text 11 23 output a "bang" message after each DSP cycle;
#X text 168 453 - the inlet of [bang~] is not used.;
#X text 168 491 - [bang~] outputs a bang after each DSP cycle (at the
same logical time as the DSP cycle). This is primarily useful for sampling
the outputs of analysis algorithms.;
#X text 98 453 (inactive);
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X connect 13 0 16 0;
#X connect 16 0 14 0;
#X connect 17 0 18 0;
#X connect 19 0 20 0;
#X connect 19 0 22 0;
#X connect 20 0 16 1;
#X connect 20 0 17 0;
#X connect 21 0 16 1;
#X connect 21 0 17 0;
#X connect 22 0 21 0;
#X connect 23 0 24 0;
#X connect 24 0 25 0;
#N canvas 427 32 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header bendin 3 12 0 18
-204280 -1 0;
#X obj 0 395 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 477 282 494 344 META 0;
#X text 12 105 LIBRARY internal;
#X text 12 145 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 25 LICENSE SIBSD;
#X text 12 125 AUTHOR Miller Puckette;
#X text 12 185 HELP_PATCH_AUTHORS This document was updated for Pd
version 0.35 by Michal Seta as part of a project called pddp proposed
by Krzysztof Czaja \, managed and edited by Dave Sabine \, to build
comprehensive documentation for Pd. Jonathan Wilkes revised the patch
to conform to the PDDP template for Pd version 0.42.;
#X text 12 5 KEYWORDS control MIDI;
#X text 12 45 DESCRIPTION read incoming pitch bend values;
#X text 12 65 OUTLET_0 float;
#X text 12 85 OUTLET_1 float;
#X text 12 165 RELEASE_DATE 1997;
#X restore 500 597 pd META;
#X obj 0 430 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 495 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 560 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X text 98 439 float;
#N canvas 213 167 428 456 Related_objects 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [bendin] Related Objects;
#X obj 75 89 ctlin;
#X obj 25 116 pgmin;
#X obj 25 89 bendin;
#X obj 205 116 touchin;
#X obj 69 116 polytouchin;
#X obj 119 89 midiin;
#X obj 149 116 sysexin;
#X obj 131 176 noteout;
#X obj 25 176 ctlout;
#X obj 25 36 bendout;
#X obj 161 203 touchout;
#X obj 75 203 polytouchout;
#X obj 75 176 midiout;
#X obj 25 203 pgmout;
#X obj 25 258 makenote;
#X text 22 235 MIDI note construction:;
#X text 22 149 MIDI output:;
#X text 22 66 MIDI input:;
#X obj 185 258 stripnote;
#X text 22 305 Additional useful objects for MIDI processing (Maxlib
by Olaf Matthes);
#X text 21 384 Also \, from cyclone (alpha) by Krzysztof Czaja:;
#X obj 169 89 notein;
#X text 182 235 MIDI note deconstruction:;
#X text 22 286 Externals;
#X obj 22 335 pddp/helplink maxlib/pitch;
#X obj 22 350 pddp/helplink maxlib/score;
#X obj 22 365 pddp/helplink maxlib/chord;
#X obj 22 400 pddp/helplink cyclone/midiformat;
#X obj 22 415 pddp/helplink cyclone/midiparse;
#X obj 22 430 pddp/helplink cyclone/midiflush;
#X obj 185 344 pitch;
#X obj 186 365 chord;
#X restore 101 597 pd Related_objects;
#X obj 497 10 bendin;
#X text 98 405 (none);
#X obj 78 439 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 78 467 cnv 17 3 17 empty \$0-pddp.cnv.let.0 1 5 9 0 16 -228856
-162280 0;
#X text 98 467 float;
#X floatatom 148 171 5 0 0 0 - - -, f 5;
#X floatatom 191 171 5 0 0 0 - - -, f 5;
#X obj 148 144 bendin;
#X text 85 221 The [bendin] object reads incoming pitch bend values
and reports them. If started with no arguments it reports the channel
number through the right outlet.;
#X obj 260 144 bendin 2;
#X floatatom 260 171 5 0 0 0 - - -, f 5;
#X text 311 171 <-- pitch bend values on channel 2;
#X obj 99 564 pddp/pddplink all_about_midi_flags.pd -text all_about_midi_flags
;
#X text 11 23 read incoming pitch bend values;
#X text 167 514 - (optional) a single MIDI channel number from which
to read. If the argument is present \, the [bendin] object does not
show the second (right) outlet.;
#X text 168 405 - [bendin] reads directly from the MIDI port.;
#X text 168 439 - pitchbend value (a 14-bit integer).;
#X text 168 467 - MIDI channel number (available unless argument is
given).;
#X text 80 514 1) float;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X connect 16 0 14 0;
#X connect 16 1 15 0;
#X connect 18 0 19 0;