Преглед изворни кода

Initial commit
- kinect pose detector seems working fine
- pure data patch that can gather a list of detected pose and let the user select one to activate/desactivate control modes in UE4

Etienne Landon пре 8 година
комит
7bd36e82b3
100 измењених фајлова са 3498 додато и 0 уклоњено
  1. BIN
      KinectPoseDetectorv2/KinectPose.exe
  2. 1 0
      KinectPoseDetectorv2/Start-displayAll.bat
  3. 1 0
      KinectPoseDetectorv2/Start-reset.bat
  4. BIN
      KinectPoseDetectorv2/libiconv.dll
  5. BIN
      KinectPoseDetectorv2/libxml2.dll
  6. BIN
      KinectPoseDetectorv2/msvcp120.dll
  7. BIN
      KinectPoseDetectorv2/msvcp120d.dll
  8. BIN
      KinectPoseDetectorv2/msvcr120.dll
  9. BIN
      KinectPoseDetectorv2/msvcr120d.dll
  10. BIN
      KinectPoseDetectorv2/opencv_core2410.dll
  11. BIN
      KinectPoseDetectorv2/opencv_core2410d.dll
  12. BIN
      KinectPoseDetectorv2/opencv_highgui2410.dll
  13. BIN
      KinectPoseDetectorv2/opencv_highgui2410d.dll
  14. 15 0
      KinectPoseDetectorv2/poses.dtd
  15. 2 0
      KinectPoseDetectorv2/poses.xml
  16. BIN
      KinectPoseDetectorv2/pthreadVC2.dll
  17. BIN
      KinectPoseDetectorv2/zlib.dll
  18. 1 0
      README.md
  19. 676 0
      extra/flatgui/LICENSE.txt
  20. 3 0
      extra/flatgui/README.txt
  21. 148 0
      extra/flatgui/entry-help.pd
  22. BIN
      extra/flatgui/entry.dll
  23. 38 0
      extra/flatgui/examples/clock.pd
  24. 7 0
      extra/flatgui/flatgui-meta.pd
  25. 15 0
      extra/flatgui/knob-help.pd
  26. BIN
      extra/flatgui/knob.dll
  27. 39 0
      extra/flatgui/popup-help.pd
  28. BIN
      extra/flatgui/popup.dll
  29. BIN
      extra/mrpeach/I_Wanna_Be_Sedated.mid
  30. 14 0
      extra/mrpeach/b2f-help.pd
  31. BIN
      extra/mrpeach/b2f.dll
  32. 106 0
      extra/mrpeach/binfile-help.pd
  33. BIN
      extra/mrpeach/binfile.dll
  34. 100 0
      extra/mrpeach/bits.pd
  35. 18 0
      extra/mrpeach/cd4000-help.pd
  36. BIN
      extra/mrpeach/cd4000.dll
  37. 13 0
      extra/mrpeach/cd4001-help.pd
  38. BIN
      extra/mrpeach/cd4001.dll
  39. 19 0
      extra/mrpeach/cd4002-help.pd
  40. BIN
      extra/mrpeach/cd4002.dll
  41. 87 0
      extra/mrpeach/cd4008-help.pd
  42. BIN
      extra/mrpeach/cd4008.dll
  43. 13 0
      extra/mrpeach/cd4011-help.pd
  44. BIN
      extra/mrpeach/cd4011.dll
  45. 20 0
      extra/mrpeach/cd4012-help.pd
  46. BIN
      extra/mrpeach/cd4012.dll
  47. 43 0
      extra/mrpeach/cd4013-help.pd
  48. BIN
      extra/mrpeach/cd4013.dll
  49. 50 0
      extra/mrpeach/cd4014-help.pd
  50. BIN
      extra/mrpeach/cd4014.dll
  51. 25 0
      extra/mrpeach/cd4015-help.pd
  52. BIN
      extra/mrpeach/cd4015.dll
  53. 99 0
      extra/mrpeach/cd4017-help.pd
  54. BIN
      extra/mrpeach/cd4017.dll
  55. 91 0
      extra/mrpeach/cd40193-help.pd
  56. BIN
      extra/mrpeach/cd40193.dll
  57. 16 0
      extra/mrpeach/cd4023-help.pd
  58. BIN
      extra/mrpeach/cd4023.dll
  59. 32 0
      extra/mrpeach/cd4024-help.pd
  60. BIN
      extra/mrpeach/cd4024.dll
  61. 16 0
      extra/mrpeach/cd4025-help.pd
  62. BIN
      extra/mrpeach/cd4025.dll
  63. 36 0
      extra/mrpeach/cd4027-help.pd
  64. BIN
      extra/mrpeach/cd4027.dll
  65. 13 0
      extra/mrpeach/cd4070-help.pd
  66. BIN
      extra/mrpeach/cd4070.dll
  67. 13 0
      extra/mrpeach/cd4071-help.pd
  68. BIN
      extra/mrpeach/cd4071.dll
  69. 19 0
      extra/mrpeach/cd4072-help.pd
  70. BIN
      extra/mrpeach/cd4072.dll
  71. 16 0
      extra/mrpeach/cd4073-help.pd
  72. BIN
      extra/mrpeach/cd4073.dll
  73. 16 0
      extra/mrpeach/cd4075-help.pd
  74. BIN
      extra/mrpeach/cd4075.dll
  75. 59 0
      extra/mrpeach/cd4076-help.pd
  76. BIN
      extra/mrpeach/cd4076.dll
  77. 13 0
      extra/mrpeach/cd4081-help.pd
  78. BIN
      extra/mrpeach/cd4081.dll
  79. 19 0
      extra/mrpeach/cd4082-help.pd
  80. BIN
      extra/mrpeach/cd4082.dll
  81. 49 0
      extra/mrpeach/cd4094-help.pd
  82. BIN
      extra/mrpeach/cd4094.dll
  83. 88 0
      extra/mrpeach/cd4516-help.pd
  84. BIN
      extra/mrpeach/cd4516.dll
  85. 28 0
      extra/mrpeach/f2b-help.pd
  86. BIN
      extra/mrpeach/f2b.dll
  87. 40 0
      extra/mrpeach/flist2tab-help.pd
  88. BIN
      extra/mrpeach/flist2tab.dll
  89. 104 0
      extra/mrpeach/httpreceive-help.pd
  90. BIN
      extra/mrpeach/httpreceive.dll
  91. 104 0
      extra/mrpeach/httpreq-help.pd
  92. BIN
      extra/mrpeach/httpreq.dll
  93. 727 0
      extra/mrpeach/life2x-help.pd
  94. BIN
      extra/mrpeach/life2x.dll
  95. 339 0
      extra/mrpeach/midifile-help.pd
  96. BIN
      extra/mrpeach/midifile.dll
  97. 7 0
      extra/mrpeach/mrpeach-meta.pd
  98. 6 0
      extra/mrpeach/net-meta.pd
  99. 94 0
      extra/mrpeach/op~-help.pd
  100. 0 0
      extra/mrpeach/op~.dll

BIN
KinectPoseDetectorv2/KinectPose.exe


+ 1 - 0
KinectPoseDetectorv2/Start-displayAll.bat

@@ -0,0 +1 @@
+start KinectPose.exe --display-all

+ 1 - 0
KinectPoseDetectorv2/Start-reset.bat

@@ -0,0 +1 @@
+start KinectPose.exe --display-all --reset

BIN
KinectPoseDetectorv2/libiconv.dll


BIN
KinectPoseDetectorv2/libxml2.dll


BIN
KinectPoseDetectorv2/msvcp120.dll


BIN
KinectPoseDetectorv2/msvcp120d.dll


BIN
KinectPoseDetectorv2/msvcr120.dll


BIN
KinectPoseDetectorv2/msvcr120d.dll


BIN
KinectPoseDetectorv2/opencv_core2410.dll


BIN
KinectPoseDetectorv2/opencv_core2410d.dll


BIN
KinectPoseDetectorv2/opencv_highgui2410.dll


BIN
KinectPoseDetectorv2/opencv_highgui2410d.dll


+ 15 - 0
KinectPoseDetectorv2/poses.dtd

@@ -0,0 +1,15 @@
+<!ELEMENT poses (pose*)>
+
+<!ELEMENT pose (name, joints*)>
+
+<!ELEMENT joints (joint*)>
+
+<!ELEMENT joint (name, positionX, positionY, positionZ, orientationX, orientationY, orientationZ)>
+
+<!ELEMENT name (#PCDATA)>
+<!ELEMENT positionX (#PCDATA)>
+<!ELEMENT positionY (#PCDATA)>
+<!ELEMENT positionZ (#PCDATA)>
+<!ELEMENT orientationX (#PCDATA)>
+<!ELEMENT orientationY (#PCDATA)>
+<!ELEMENT orientationZ (#PCDATA)>

Разлика између датотеке није приказан због своје велике величине
+ 2 - 0
KinectPoseDetectorv2/poses.xml


BIN
KinectPoseDetectorv2/pthreadVC2.dll


BIN
KinectPoseDetectorv2/zlib.dll


+ 1 - 0
README.md

@@ -0,0 +1 @@
+ID-JAsselin

+ 676 - 0
extra/flatgui/LICENSE.txt

@@ -0,0 +1,676 @@
+
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  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
+them 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 prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  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.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+ 
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey 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;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+  
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If 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 convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU 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 that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  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.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+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.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+		     END OF TERMS AND CONDITIONS
+
+	    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
+state 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) <year>  <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 3 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, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+    <program>  Copyright (C) <year>  <name of author>
+    This program 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, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+  The GNU 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 Lesser General
+Public License instead of this License.  But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+

+ 3 - 0
extra/flatgui/README.txt

@@ -0,0 +1,3 @@
+
+flatgui is a library of GUI objects that were part of the old
+'flatspace' collection that was discontinued.  

+ 148 - 0
extra/flatgui/entry-help.pd

@@ -0,0 +1,148 @@
+#N canvas 216 22 793 604 10;
+#X obj 72 208 entry 150 100 grey yellow;
+#X obj 11 84 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 32 316 print;
+#X msg 109 73 clear;
+#X msg 127 94 set one two three four five six;
+#X msg 31 29 fgcolour yellow;
+#X msg 94 4 bgcolour purple;
+#X obj 29 526 entry 155 48 grey70 purple;
+#X text 9 355 Creation arguments are: width height bgcolor fgcolor.
+The width and height are in pixels.;
+#X obj 251 254 select return;
+#X obj 79 317 pddp/print;
+#X obj 218 165 trigger bang bang;
+#X msg 218 186 clear;
+#X symbolatom 216 319 10 0 0 1 last_key_typed - -;
+#X text 255 275 ^-- hit return to output;
+#X msg 123 490 size 400 200;
+#X msg 6 4 bgcolour grey;
+#X msg 52 52 fgcolour black;
+#X text 12 396 The size message currently only takes affect after a
+save and reopen.;
+#X msg 138 117 append seven eight nine;
+#X msg 142 137 append ten eleven.;
+#X msg 30 459 fontsize \$1;
+#X msg 52 432 12;
+#X msg 20 431 9;
+#X msg 85 429 98;
+#X obj 148 31 pddp/pddplink http://tcl.tk/man/tcl8.5/TkCmd/text.htm
+;
+#X obj 395 132 entry 300 50 grey70 black;
+#X msg 571 101 option relief \$1;
+#X obj 570 80 symbol;
+#X msg 468 45 flat;
+#X msg 503 45 groove;
+#X msg 550 45 raised;
+#X msg 598 44 ridge;
+#X msg 639 44 solid;
+#X msg 680 44 sunken;
+#X obj 610 233 symbol;
+#X msg 591 208 normal;
+#X msg 637 208 disabled;
+#X msg 609 256 option state \$1;
+#X msg 124 465 size 100 50;
+#X text 663 235 disable editing;
+#X obj 448 297 entry 250 80 grey70 black;
+#X obj 440 200 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 10 -262144
+-1 -1 0 1;
+#X obj 263 509 entry 100 50 grey70 black;
+#X obj 262 464 symbol;
+#X obj 210 559 pddp/pddplink http://tcl.tk/man/tcl8.5/TkCmd/cursors.htm
+;
+#X msg 260 429 boat;
+#X msg 263 485 option cursor \$1;
+#X msg 220 429 clock;
+#X msg 356 429 dot;
+#X msg 386 429 dotbox;
+#X msg 433 429 gumby;
+#X msg 476 429 gobbler;
+#X msg 477 498 pirate;
+#X msg 477 455 mouse;
+#X msg 477 477 target;
+#X msg 438 227 option insertwidth \$1;
+#X obj 385 82 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 10 -262144
+-1 -1 0 1;
+#X msg 382 102 option borderwidth \$1;
+#X msg 456 269 scrollbar \$1;
+#X obj 456 249 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
+1;
+#X obj 566 417 keyup;
+#X msg 566 456 key \$1;
+#X floatatom 583 438 5 0 0 0 - - -;
+#X msg 269 210 key 3322;
+#X obj 566 492 entry 166 54 grey70 black;
+#X text 561 393 type single chars:;
+#X msg 656 442 key a;
+#X msg 657 464 key 9;
+#X obj 500 559 pddp/pddplink http://tcl.tk/man/tcl8.5/TkCmd/cursors.htm
+;
+#X text 367 538 for more cursors:;
+#X text 551 544 for more keynums:;
+#X msg 648 423 key 65228;
+#X msg 477 519 pencil;
+#X msg 295 429 coffee_mug;
+#X msg 700 464 key 32;
+#X connect 0 0 2 0;
+#X connect 0 0 10 0;
+#X connect 0 1 9 0;
+#X connect 0 1 13 0;
+#X connect 1 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 9 0 11 0;
+#X connect 11 0 12 0;
+#X connect 11 1 0 0;
+#X connect 12 0 0 0;
+#X connect 15 0 7 0;
+#X connect 16 0 0 0;
+#X connect 17 0 0 0;
+#X connect 19 0 0 0;
+#X connect 20 0 0 0;
+#X connect 21 0 7 0;
+#X connect 22 0 21 0;
+#X connect 23 0 21 0;
+#X connect 24 0 21 0;
+#X connect 27 0 26 0;
+#X connect 28 0 27 0;
+#X connect 29 0 28 0;
+#X connect 30 0 28 0;
+#X connect 31 0 28 0;
+#X connect 32 0 28 0;
+#X connect 33 0 28 0;
+#X connect 34 0 28 0;
+#X connect 35 0 38 0;
+#X connect 36 0 35 0;
+#X connect 37 0 35 0;
+#X connect 38 0 41 0;
+#X connect 39 0 7 0;
+#X connect 42 0 56 0;
+#X connect 44 0 47 0;
+#X connect 46 0 44 0;
+#X connect 47 0 43 0;
+#X connect 48 0 44 0;
+#X connect 49 0 44 0;
+#X connect 50 0 44 0;
+#X connect 51 0 44 0;
+#X connect 52 0 44 0;
+#X connect 53 0 44 0;
+#X connect 54 0 44 0;
+#X connect 55 0 44 0;
+#X connect 56 0 41 0;
+#X connect 57 0 58 0;
+#X connect 58 0 26 0;
+#X connect 59 0 41 0;
+#X connect 60 0 59 0;
+#X connect 61 0 62 0;
+#X connect 61 0 63 0;
+#X connect 62 0 65 0;
+#X connect 64 0 0 0;
+#X connect 67 0 65 0;
+#X connect 68 0 65 0;
+#X connect 72 0 65 0;
+#X connect 73 0 44 0;
+#X connect 74 0 44 0;
+#X connect 75 0 65 0;

BIN
extra/flatgui/entry.dll


+ 38 - 0
extra/flatgui/examples/clock.pd

@@ -0,0 +1,38 @@
+#N canvas 499 272 303 143 10;
+#X obj 27 42 knob 20 20 0 660 0 0 *nil* *hour* empty 0 -8 192 8 -1109
+-1109 -42246 891 1;
+#X obj 17 32 knob 40 40 0 55 0 0 *nil* *minute* empty 0 -8 192 8 -258699
+-258699 -42246 168 1;
+#N canvas 0 0 337 294 gettime 0;
+#X msg 63 92 bang;
+#X obj 63 118 time;
+#X obj 50 40 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X floatatom 13 157 5 0 0;
+#X floatatom 77 157 5 0 0;
+#X floatatom 122 157 5 0 0;
+#X obj 35 258 s *hour*;
+#X obj 77 211 s *minute*;
+#X obj 77 181 expr ($f1 + 28) % 60 + 0.37;
+#X obj 51 63 metro 60000;
+#X obj 50 17 loadbang;
+#X obj 33 212 f;
+#X obj 33 181 t b f;
+#X obj 35 235 expr (($f1 * 60) + $f2 + 335) % 720 + 0.37;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 1 1 4 0;
+#X connect 1 2 5 0;
+#X connect 2 0 9 0;
+#X connect 3 0 11 0;
+#X connect 4 0 8 0;
+#X connect 4 0 12 0;
+#X connect 8 0 7 0;
+#X connect 9 0 0 0;
+#X connect 10 0 2 0;
+#X connect 11 0 13 0;
+#X connect 12 0 11 0;
+#X connect 12 1 13 1;
+#X connect 13 0 6 0;
+#X restore 5 6 pd gettime;
+#X text 122 51 written by Orm Finnendahl;

+ 7 - 0
extra/flatgui/flatgui-meta.pd

@@ -0,0 +1,7 @@
+#N canvas 15 49 200 200 10;
+#N canvas 25 49 420 300 META 1;
+#X text 13 41 NAME flatgui;
+#X text 10 25 AUTHOR Ben Bogart \, Christoph Kummerer \, Frank Barknect \, Guenther Geiger \, Hans-Christoph Steiner \, Krzystof Czaja \, Miller Puckette \, Olaf Matthes \, Thomas Musil;
+#X text 10 10 VERSION 0.1;
+#X text 10 100 LICENSE GPLv3;
+#X restore 10 10 pd META;

+ 15 - 0
extra/flatgui/knob-help.pd

@@ -0,0 +1,15 @@
+#N canvas 380 59 361 316 10;
+#X obj 142 44 knob 20 20 0 127 0 0 knob knob knob 0 -8 192 8 -143491
+-260818 -1 0 1;
+#X obj 90 121 knob 128 128 100 -100 0 1 knob knob empty 0 -8 192 8
+-262144 -258699 -1 4300 0;
+#X obj 129 269 nbx 5 14 -1e+37 1e+37 0 0 knob knob empty 0 -6 192 10
+-262144 -1 -1 0 256;
+#X obj 136 75 knob 32 32 0 127 0 0 knob knob empty 0 -8 192 8 -262144
+-24198 -1 0 1;
+#X obj 271 162 knob 32 32 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-250685 -62784 2 1;
+#X floatatom 271 207 8 0 0;
+#X floatatom 271 135 5 0 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 0;

BIN
extra/flatgui/knob.dll


+ 39 - 0
extra/flatgui/popup-help.pd

@@ -0,0 +1,39 @@
+#N canvas 119 198 626 449 10;
+#X obj 106 340 popup 124 25 grey90 duh! one two three four five six
+seven eight nine ten eleven twelve thirteen i14 i15 i16 i17 i18 i19
+i20 i21 i22 i23 i24 i25 i26 i27 i28 i29 i30;
+#X obj 152 399 print index;
+#X msg 30 98 name popup;
+#X obj 239 399 print symbol;
+#X floatatom 163 292 5 0 0 0 - - -;
+#X text 14 43 Left outlet sends out a bang on load \, used to set default
+value. Using a loadbang to send a float will result in a crash.;
+#X msg 107 225 options;
+#X msg 100 176 options one two three four five six seven eight nine
+ten eleven twelve thirteen i14 i15 i16 i17 i18 i19 i20 i21 i22 i23
+i24 i25 i26 i27 i28 i29 i30;
+#X msg 118 251 append append-one append-two append-three;
+#X obj 106 372 route bang;
+#X msg 33 338 10;
+#X text 187 372 Choose 10 as the default value on load \, does send
+output.;
+#X msg 53 123 bgcolour #047992;
+#X msg 83 150 bgcolour grey90;
+#X symbolatom 223 315 10 0 0 0 - - -;
+#X text 209 289 Select by index;
+#X text 302 314 Select by symbol name;
+#X text 13 11 popup \, a popup menu for PD. Copyright Ben Bogart 2004
+\, 2005 Released under the GPL.;
+#X connect 0 0 9 0;
+#X connect 0 1 3 0;
+#X connect 2 0 0 0;
+#X connect 4 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 10 0;
+#X connect 9 1 1 0;
+#X connect 10 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 0 1;

BIN
extra/flatgui/popup.dll


BIN
extra/mrpeach/I_Wanna_Be_Sedated.mid


+ 14 - 0
extra/mrpeach/b2f-help.pd

@@ -0,0 +1,14 @@
+#N canvas 666 174 450 300 10;
+#X obj 103 178 b2f;
+#X msg 103 83 0 1 2 3;
+#X text 77 53 [b2f] converts lists of 4 bytes to floats.;
+#X text 43 17 Assuming you received 4 bytes as a binary representation
+of a floating-point number \,;
+#X text 234 258 Martin Peach 2013_03_13;
+#X msg 181 83 208 15 73 64;
+#X floatatom 103 209 12 0 0 0 - - -;
+#X msg 269 83 219 15 73 64;
+#X connect 0 0 6 0;
+#X connect 1 0 0 0;
+#X connect 5 0 0 0;
+#X connect 7 0 0 0;

BIN
extra/mrpeach/b2f.dll


+ 106 - 0
extra/mrpeach/binfile-help.pd

@@ -0,0 +1,106 @@
+#N canvas 237 152 1080 699 12;
+#X msg 103 98 rewind;
+#X obj 267 577 textfile;
+#X msg 80 75 bang;
+#X msg 179 174 clear;
+#X msg 282 277 set 2 4 6 8;
+#X obj 181 -89 binfile;
+#X text 246 -90 read and write binary files;
+#X msg 202 197 add 10 20 255;
+#X obj 410 425 binfile;
+#X text 344 576 to read and write text files;
+#X msg 305 300 write afile.bin;
+#X text 534 449 This outlet gives a bang when you hit the end of the
+sequence.;
+#X text 481 539 This outlet gives the bytes in sequence \, or bangs
+if no more bytes.;
+#X text 370 275 clear the buffer and then add some bytes;
+#X text 224 173 empty the buffer;
+#X text 155 98 set the read pointer to the beginnning of the buffer
+;
+#X text 119 75 output one byte from the buffer as a float;
+#X text 422 298 write the entire buffer to a file;
+#X obj 410 545 print one;
+#X obj 35 60 bng 15 250 50 0 empty empty empty 17 7 0 10 -4034 -257985
+-1;
+#X text 266 559 See also:;
+#X obj 57 -13 openpanel;
+#X obj 57 -37 bng 15 250 50 0 empty empty read_any_file_into_buffer
+17 7 0 10 -4032 -258113 -1;
+#X msg 57 52 read \$1;
+#X obj 39 354 bng 15 250 50 0 empty empty save_buffer_as_any_file 17
+7 0 10 -4032 -258113 -1;
+#X msg 397 392 write \$1;
+#X obj 400 369 savepanel;
+#X msg 237 232 77 128 129 130;
+#X text 254 -50 The binfile object reads and writes binary files to
+and from a buffer in memory. You can read a file and output its contents
+one byte at a time as floats.;
+#X text 442 46 To add bytes to the buffer \, first send "clear" to
+empty the buffer and then "add" to add bytes. Finally \, "write" will
+save the entire buffer as a binary file.;
+#X floatatom 259 255 5 0 0 0 - - -;
+#X text 299 253 add one byte \, same as "add";
+#X text 349 231 add a list of bytes \, same as "add";
+#X msg 15 10 info;
+#X obj 433 515 print info;
+#X obj 466 455 print end;
+#X msg 328 323 readat 3;
+#X msg 351 346 writeat 3;
+#X text 425 346 set the write position;
+#X text 395 323 set the read position;
+#X text 512 509 This outlet gives a list of current parameters from
+the info message.;
+#X text 303 197 add a list of byte-floats to the buffer at the current
+write offset;
+#X text 65 10 output current buffer length and pointer values through
+the middle outlet.;
+#X text 233 121 read a file into the buffer and make it the new buffer
+;
+#X obj 456 493 tgl 15 0 empty empty empty 17 7 0 10 -258113 -257985
+-1 0 1;
+#N canvas 507 310 494 344 META 0;
+#X text 12 175 HELP_PATCH_AUTHORS "pd meta" information added by Jonathan
+Wilkes for Pd version 0.42.;
+#X text 12 25 LICENSE GPL v2 or later;
+#X text 12 5 KEYWORDS control filesystem;
+#X text 12 45 DESCRIPTION read and write binary files;
+#X text 12 65 INLET_0 float bang list info read rewind clear add set
+write readat writeat symbol;
+#X text 12 95 OUTLET_0 float bang;
+#X text 12 115 OUTLET_1 list;
+#X text 12 135 OUTLET_2 bang;
+#X text 12 155 AUTHOR Martin Peach;
+#X restore 882 607 pd META;
+#X text 525 363 You can also use this object simply for storing heterogeneous
+sequences of bytes.;
+#X text 481 404 Optional arguments for filename and length to be read
+(same as [read( message;
+#X msg 151 146 read test.txt 5;
+#X msg 126 121 read test.txt;
+#X text 267 145 read the first 5 bytes of a file into the buffer;
+#X text 760 580 Martin Peach 2014/01/27;
+#X connect 0 0 8 0;
+#X connect 2 0 8 0;
+#X connect 3 0 8 0;
+#X connect 4 0 8 0;
+#X connect 7 0 8 0;
+#X connect 8 0 18 0;
+#X connect 8 1 34 0;
+#X connect 8 2 35 0;
+#X connect 8 2 44 0;
+#X connect 10 0 8 0;
+#X connect 19 0 2 0;
+#X connect 21 0 23 0;
+#X connect 22 0 21 0;
+#X connect 23 0 8 0;
+#X connect 24 0 26 0;
+#X connect 25 0 8 0;
+#X connect 26 0 25 0;
+#X connect 27 0 8 0;
+#X connect 30 0 8 0;
+#X connect 33 0 8 0;
+#X connect 36 0 8 0;
+#X connect 37 0 8 0;
+#X connect 48 0 8 0;
+#X connect 49 0 8 0;

BIN
extra/mrpeach/binfile.dll


+ 100 - 0
extra/mrpeach/bits.pd

@@ -0,0 +1,100 @@
+#N canvas 218 231 1058 225 10;
+#X obj 37 29 inlet;
+#X obj 37 159 outlet;
+#X obj 37 77 & 32768;
+#X obj 87 77 & 16384;
+#X obj 137 77 & 8192;
+#X obj 187 77 & 4096;
+#X obj 237 77 & 2048;
+#X obj 287 77 & 1024;
+#X obj 337 77 & 512;
+#X obj 387 77 & 256;
+#X obj 437 77 & 128;
+#X obj 487 77 & 64;
+#X obj 537 77 & 32;
+#X obj 587 77 & 16;
+#X obj 637 77 & 8;
+#X obj 687 77 & 4;
+#X obj 737 77 & 2;
+#X obj 787 77 & 1;
+#X text 837 84 Martin Peach 2013_02_21;
+#X obj 37 118 != 0;
+#X obj 87 159 outlet;
+#X obj 87 118 != 0;
+#X obj 137 159 outlet;
+#X obj 137 118 != 0;
+#X obj 187 159 outlet;
+#X obj 187 118 != 0;
+#X obj 237 159 outlet;
+#X obj 237 118 != 0;
+#X obj 287 159 outlet;
+#X obj 287 118 != 0;
+#X obj 337 159 outlet;
+#X obj 337 118 != 0;
+#X obj 387 159 outlet;
+#X obj 387 118 != 0;
+#X obj 437 159 outlet;
+#X obj 437 118 != 0;
+#X obj 487 159 outlet;
+#X obj 487 118 != 0;
+#X obj 537 159 outlet;
+#X obj 537 118 != 0;
+#X obj 587 159 outlet;
+#X obj 587 118 != 0;
+#X obj 637 159 outlet;
+#X obj 637 118 != 0;
+#X obj 687 159 outlet;
+#X obj 687 118 != 0;
+#X obj 737 159 outlet;
+#X obj 737 118 != 0;
+#X obj 787 159 outlet;
+#X obj 787 118 != 0;
+#X text 104 30 [bits] outputs up to 16 bits of a number;
+#X connect 0 0 2 0;
+#X connect 0 0 3 0;
+#X connect 0 0 4 0;
+#X connect 0 0 5 0;
+#X connect 0 0 6 0;
+#X connect 0 0 7 0;
+#X connect 0 0 8 0;
+#X connect 0 0 9 0;
+#X connect 0 0 10 0;
+#X connect 0 0 11 0;
+#X connect 0 0 12 0;
+#X connect 0 0 13 0;
+#X connect 0 0 14 0;
+#X connect 0 0 15 0;
+#X connect 0 0 16 0;
+#X connect 0 0 17 0;
+#X connect 2 0 19 0;
+#X connect 3 0 21 0;
+#X connect 4 0 23 0;
+#X connect 5 0 25 0;
+#X connect 6 0 27 0;
+#X connect 7 0 29 0;
+#X connect 8 0 31 0;
+#X connect 9 0 33 0;
+#X connect 10 0 35 0;
+#X connect 11 0 37 0;
+#X connect 12 0 39 0;
+#X connect 13 0 41 0;
+#X connect 14 0 43 0;
+#X connect 15 0 45 0;
+#X connect 16 0 47 0;
+#X connect 17 0 49 0;
+#X connect 19 0 1 0;
+#X connect 21 0 20 0;
+#X connect 23 0 22 0;
+#X connect 25 0 24 0;
+#X connect 27 0 26 0;
+#X connect 29 0 28 0;
+#X connect 31 0 30 0;
+#X connect 33 0 32 0;
+#X connect 35 0 34 0;
+#X connect 37 0 36 0;
+#X connect 39 0 38 0;
+#X connect 41 0 40 0;
+#X connect 43 0 42 0;
+#X connect 45 0 44 0;
+#X connect 47 0 46 0;
+#X connect 49 0 48 0;

+ 18 - 0
extra/mrpeach/cd4000-help.pd

@@ -0,0 +1,18 @@
+#N canvas 670 174 482 236 12;
+#X obj 86 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 151 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 1 1;
+#X obj 217 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 106 cd4000 triple nor;
+#X text 16 29 cd4000 emulates 1/2 of the CMOS three-input NOR gate
+;
+#X text 210 170 20070315_Martin_Peach;
+#X text 170 48 (inverter not included);
+#X connect 0 0 4 0;
+#X connect 1 0 4 1;
+#X connect 3 0 4 2;
+#X connect 4 0 2 0;

BIN
extra/mrpeach/cd4000.dll


+ 13 - 0
extra/mrpeach/cd4001-help.pd

@@ -0,0 +1,13 @@
+#N canvas 670 174 486 240 12;
+#X obj 86 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 161 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 0 1;
+#X text 210 170 20070315_Martin_Peach;
+#X obj 86 106 cd4001 nor;
+#X text 16 29 cd4001 emulates 1/4 of the CMOS two-input NOR gate;
+#X connect 0 0 4 0;
+#X connect 1 0 4 1;
+#X connect 4 0 2 0;

BIN
extra/mrpeach/cd4001.dll


+ 19 - 0
extra/mrpeach/cd4002-help.pd

@@ -0,0 +1,19 @@
+#N canvas 670 174 490 244 12;
+#X obj 86 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 111 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 1 1;
+#X text 210 170 20070315_Martin_Peach;
+#X obj 86 106 cd4002 nor;
+#X obj 136 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 161 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X text 16 29 cd4002 emulates 1/2 of the CMOS four-input NOR gate;
+#X connect 0 0 4 0;
+#X connect 1 0 4 1;
+#X connect 4 0 2 0;
+#X connect 5 0 4 2;
+#X connect 6 0 4 3;

BIN
extra/mrpeach/cd4002.dll


+ 87 - 0
extra/mrpeach/cd4008-help.pd

@@ -0,0 +1,87 @@
+#N canvas 580 256 530 325 12;
+#X obj 8 136 cd4008 4 bit full adder;
+#X obj 8 33 tgl 15 0 empty empty Carry_In 17 7 0 10 -44926 -258699
+-1 0 1;
+#X obj 30 64 tgl 15 0 empty empty A1 17 7 0 10 -44926 -258699 -1 1
+1;
+#X obj 52 80 tgl 15 0 empty empty A2 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 75 96 tgl 15 0 empty empty A3 17 7 0 10 -44926 -258699 -1 1
+1;
+#X obj 97 111 tgl 15 0 empty empty A4 17 7 0 10 -44926 -258699 -1 1
+1;
+#X obj 119 63 tgl 15 0 empty empty B1 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 142 79 tgl 15 0 empty empty B2 17 7 0 10 -44926 -258699 -1 1
+1;
+#X obj 164 95 tgl 15 0 empty empty B3 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 187 110 tgl 15 0 empty empty B4 17 7 0 10 -44926 -258699 -1
+1 1;
+#X obj 8 174 tgl 15 0 empty empty S1 17 7 0 10 -258699 -241291 -1 1
+1;
+#X obj 52 174 tgl 15 0 empty empty S2 17 7 0 10 -258699 -241291 -1
+1 1;
+#X obj 97 174 tgl 15 0 empty empty S3 17 7 0 10 -258699 -241291 -1
+1 1;
+#X obj 142 174 tgl 15 0 empty empty S4 17 7 0 10 -258699 -241291 -1
+0 1;
+#X obj 187 190 tgl 15 0 empty empty Carry_Out 17 7 0 10 -258699 -241291
+-1 1 1;
+#X obj 214 170 cd4008 4 bit full adder;
+#X obj 236 98 tgl 15 0 empty empty A1 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 258 114 tgl 15 0 empty empty A2 17 7 0 10 -44926 -258699 -1
+1 1;
+#X obj 281 130 tgl 15 0 empty empty A3 17 7 0 10 -44926 -258699 -1
+0 1;
+#X obj 303 145 tgl 15 0 empty empty A4 17 7 0 10 -44926 -258699 -1
+0 1;
+#X obj 325 97 tgl 15 0 empty empty B1 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 348 113 tgl 15 0 empty empty B2 17 7 0 10 -44926 -258699 -1
+1 1;
+#X obj 370 129 tgl 15 0 empty empty B3 17 7 0 10 -44926 -258699 -1
+0 1;
+#X obj 393 144 tgl 15 0 empty empty B4 17 7 0 10 -44926 -258699 -1
+1 1;
+#X obj 214 208 tgl 15 0 empty empty S1 17 7 0 10 -258699 -241291 -1
+1 1;
+#X obj 258 208 tgl 15 0 empty empty S2 17 7 0 10 -258699 -241291 -1
+0 1;
+#X obj 303 208 tgl 15 0 empty empty S3 17 7 0 10 -258699 -241291 -1
+1 1;
+#X obj 348 208 tgl 15 0 empty empty S4 17 7 0 10 -258699 -241291 -1
+1 1;
+#X obj 393 208 tgl 15 0 empty empty Carry_Out 17 7 0 10 -258699 -241291
+-1 0 1;
+#X text 87 9 cd4008 emulates the CMOS 4-bit full adder.;
+#X text 194 279 20070315_MartinPeach;
+#X connect 0 0 10 0;
+#X connect 0 1 11 0;
+#X connect 0 2 12 0;
+#X connect 0 3 13 0;
+#X connect 0 4 14 0;
+#X connect 0 4 15 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;
+#X connect 3 0 0 2;
+#X connect 4 0 0 3;
+#X connect 5 0 0 4;
+#X connect 6 0 0 5;
+#X connect 7 0 0 6;
+#X connect 8 0 0 7;
+#X connect 9 0 0 8;
+#X connect 15 0 24 0;
+#X connect 15 1 25 0;
+#X connect 15 2 26 0;
+#X connect 15 3 27 0;
+#X connect 15 4 28 0;
+#X connect 16 0 15 1;
+#X connect 17 0 15 2;
+#X connect 18 0 15 3;
+#X connect 19 0 15 4;
+#X connect 20 0 15 5;
+#X connect 21 0 15 6;
+#X connect 22 0 15 7;
+#X connect 23 0 15 8;

BIN
extra/mrpeach/cd4008.dll


+ 13 - 0
extra/mrpeach/cd4011-help.pd

@@ -0,0 +1,13 @@
+#N canvas 670 174 490 244 12;
+#X obj 86 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 169 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 0 1;
+#X text 210 170 20070315_Martin_Peach;
+#X text 16 29 cd4011 emulates 1/4 of the CMOS two-input NAND gate;
+#X obj 86 106 cd4011 nand;
+#X connect 0 0 5 0;
+#X connect 1 0 5 1;
+#X connect 5 0 2 0;

BIN
extra/mrpeach/cd4011.dll


+ 20 - 0
extra/mrpeach/cd4012-help.pd

@@ -0,0 +1,20 @@
+#N canvas 670 174 494 248 12;
+#X obj 86 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 113 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 1 1;
+#X text 210 170 20070315_Martin_Peach;
+#X obj 141 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 169 82 tgl 15 1 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X text 18 31 cd4012 emulates 1/2 of the CMOS four-input NAND gate
+;
+#X obj 86 106 cd4012 nand;
+#X connect 0 0 7 0;
+#X connect 1 0 7 1;
+#X connect 4 0 7 2;
+#X connect 5 0 7 3;
+#X connect 7 0 2 0;

BIN
extra/mrpeach/cd4012.dll


+ 43 - 0
extra/mrpeach/cd4013-help.pd

@@ -0,0 +1,43 @@
+#N canvas 581 224 651 219 12;
+#X obj 79 38 tgl 15 0 empty empty CLK 17 7 0 10 -24198 -62784 -1 0
+1;
+#X obj 98 53 tgl 15 0 empty empty SET 17 7 0 10 -24198 -62784 -1 0
+1;
+#X obj 118 68 tgl 15 0 empty empty RESET 17 7 0 10 -24198 -62784 -1
+0 1;
+#X obj 138 83 tgl 15 0 empty empty D 17 7 0 10 -24198 -62784 -1 0 1
+;
+#X obj 138 172 tgl 15 0 empty empty /Q 17 7 0 10 -143491 -241291 -1
+0 1;
+#X obj 79 172 tgl 15 0 empty empty Q 17 7 0 10 -143491 -241291 -1 1
+1;
+#X obj 6 67 tgl 15 0 empty empty empty 17 7 0 10 -44926 -90881 -1 0
+1;
+#X text 27 5 cd4013 emulates one half of the CMOS logic D flipflop.
+;
+#X obj 79 146 cd4013 v;
+#X text 172 80 D is clocked to the output on rising edge of a clock.
+;
+#X text 133 35 A 0-1 transition or a bang clocks D to the outlets.
+;
+#X text 147 50 Sets Q=1. Overrides Reset and Clock.;
+#X text 183 65 Sets Q=0. Overrides Clock.;
+#X obj 170 145 spigot;
+#X obj 213 123 tgl 15 0 empty empty feedback 17 7 0 10 -44926 -1109
+-1 1 1;
+#X obj 42 115 bng 15 250 50 0 empty empty empty 17 7 0 10 -24198 -241291
+-1;
+#X obj 6 89 metro 500;
+#X text 272 172 20070308_Martin_Peach;
+#X connect 0 0 8 0;
+#X connect 1 0 8 1;
+#X connect 2 0 8 2;
+#X connect 3 0 8 3;
+#X connect 4 0 13 0;
+#X connect 6 0 16 0;
+#X connect 8 0 5 0;
+#X connect 8 1 4 0;
+#X connect 13 0 3 0;
+#X connect 14 0 13 1;
+#X connect 15 0 8 0;
+#X connect 16 0 15 0;

BIN
extra/mrpeach/cd4013.dll


+ 50 - 0
extra/mrpeach/cd4014-help.pd

@@ -0,0 +1,50 @@
+#N canvas 633 293 527 277 12;
+#X obj 95 151 cd4014 shift register;
+#X obj 95 32 tgl 15 0 empty empty Clock 17 7 0 10 -44926 -258699 -1
+0 1;
+#X obj 40 48 bng 15 250 50 0 empty empty empty 17 7 0 10 -44926 -258699
+-1;
+#X obj 111 49 tgl 15 0 empty empty P1 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 127 65 tgl 15 0 empty empty P2 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 143 81 tgl 15 0 empty empty P3 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 160 98 tgl 15 0 empty empty P4 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 176 49 tgl 15 0 empty empty P5 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 192 65 tgl 15 0 empty empty P6 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 209 81 tgl 15 0 empty empty P7 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 225 98 tgl 15 0 empty empty P8 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 241 49 tgl 15 0 empty empty ParallelSerial 17 7 0 10 -44926
+-258699 -1 0 1;
+#X obj 258 66 tgl 15 0 empty empty SerialIn 17 7 0 10 -44926 -258699
+-1 0 1;
+#X obj 95 181 tgl 15 0 empty empty Q6 17 7 0 10 -258699 -241291 -1
+0 1;
+#X obj 176 181 tgl 15 0 empty empty Q7 17 7 0 10 -258699 -241291 -1
+0 1;
+#X obj 258 181 tgl 15 0 empty empty Q8 17 7 0 10 -258699 -241291 -1
+0 1;
+#X text 18 0 cd4014 emulates the CMOS 8-stage static shift register
+;
+#X text 147 226 20070315_MartinPeach;
+#X connect 0 0 13 0;
+#X connect 0 1 14 0;
+#X connect 0 2 15 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 1;
+#X connect 4 0 0 2;
+#X connect 5 0 0 3;
+#X connect 6 0 0 4;
+#X connect 7 0 0 5;
+#X connect 8 0 0 6;
+#X connect 9 0 0 7;
+#X connect 10 0 0 8;
+#X connect 11 0 0 9;
+#X connect 12 0 0 10;

BIN
extra/mrpeach/cd4014.dll


+ 25 - 0
extra/mrpeach/cd4015-help.pd

@@ -0,0 +1,25 @@
+#N canvas 693 303 454 304 12;
+#X obj 125 135 cd4015 4bit shift register;
+#X obj 125 84 tgl 15 0 empty empty Clk 17 7 0 10 -44926 -258699 -1
+0 1;
+#X obj 226 84 tgl 15 0 empty empty D 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 328 84 tgl 15 0 empty empty R 17 7 0 10 -44926 -258699 -1 0
+1;
+#X obj 125 183 tgl 15 0 empty empty Q1 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 192 183 tgl 15 0 empty empty Q2 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 260 183 tgl 15 0 empty empty Q3 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 328 183 tgl 15 0 empty empty Q4 17 7 0 10 -24198 -258699 -1
+0 1;
+#X text 32 22 cd4016 emulates 1/2 of the CMOS shift register;
+#X text 165 239 20070319_MartinPeach;
+#X connect 0 0 4 0;
+#X connect 0 1 5 0;
+#X connect 0 2 6 0;
+#X connect 0 3 7 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;
+#X connect 3 0 0 2;

BIN
extra/mrpeach/cd4015.dll


+ 99 - 0
extra/mrpeach/cd4017-help.pd

@@ -0,0 +1,99 @@
+#N canvas 0 0 684 247 10;
+#X obj 9 123 cd4017 vvvvvvvvvvvvvvvvvvvvvvv;
+#X obj 9 78 tgl 15 0 empty empty clock 17 7 0 10 -24198 -225271 -1
+0 1;
+#X obj 111 88 tgl 15 0 empty empty clock_inhibit 17 7 0 10 -24198 -225271
+-1 0 1;
+#X obj 214 103 tgl 15 0 empty empty reset 17 7 0 10 -24198 -225271
+-1 0 1;
+#X obj 9 39 metro 100;
+#X obj 9 9 tgl 15 0 empty empty run 17 7 0 10 -24198 -225271 -1 1 1
+;
+#X obj 9 152 tgl 15 0 empty empty 0 3 23 0 10 -44926 -250685 -1 0 1
+;
+#X obj 29 152 tgl 15 0 empty empty 1 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 50 152 tgl 15 0 empty empty 2 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 70 152 tgl 15 0 empty empty 3 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 91 152 tgl 15 0 empty empty 4 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 111 152 tgl 15 0 empty empty 5 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 132 152 tgl 15 0 empty empty 6 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 152 152 tgl 15 0 empty empty 7 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 173 152 tgl 15 0 empty empty 8 3 23 0 10 -44926 -250685 -1 1
+1;
+#X obj 193 152 tgl 15 0 empty empty 9 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 214 152 tgl 15 0 empty empty carry_out 3 23 0 10 -44926 -250685
+-1 0 1;
+#X text 122 7 The CD4017 is a CMOS digital logic IC.;
+#X text 123 25 It counts up to ten and sets one of the numbered outlets
+high whenever it is clocked.;
+#X text 123 55 A clock can be a bang or a 1 following a 0;
+#X obj 332 142 cd4017 vvvvvvvvvvvvvvvvvvvvvvv;
+#X obj 332 97 tgl 15 0 empty empty clock 17 7 0 10 -24198 -225271 -1
+0 1;
+#X obj 434 107 tgl 15 0 empty empty clock_inhibit 17 7 0 10 -24198
+-225271 -1 0 1;
+#X obj 537 122 tgl 15 0 empty empty reset 17 7 0 10 -24198 -225271
+-1 0 1;
+#X obj 332 171 tgl 15 0 empty empty 0 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 352 171 tgl 15 0 empty empty 1 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 373 171 tgl 15 0 empty empty 2 3 23 0 10 -44926 -250685 -1 1
+1;
+#X obj 393 171 tgl 15 0 empty empty 3 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 414 171 tgl 15 0 empty empty 4 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 434 171 tgl 15 0 empty empty 5 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 455 171 tgl 15 0 empty empty 6 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 475 171 tgl 15 0 empty empty 7 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 496 171 tgl 15 0 empty empty 8 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 516 171 tgl 15 0 empty empty 9 3 23 0 10 -44926 -250685 -1 0
+1;
+#X obj 537 171 tgl 15 0 empty empty carry_out 3 23 0 10 -44926 -250685
+-1 1 1;
+#X text 452 229 2007MartinPeach;
+#X connect 0 0 6 0;
+#X connect 0 1 7 0;
+#X connect 0 2 8 0;
+#X connect 0 3 9 0;
+#X connect 0 4 10 0;
+#X connect 0 5 11 0;
+#X connect 0 6 12 0;
+#X connect 0 7 13 0;
+#X connect 0 8 14 0;
+#X connect 0 9 15 0;
+#X connect 0 10 16 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;
+#X connect 3 0 0 2;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X connect 16 0 21 0;
+#X connect 20 0 24 0;
+#X connect 20 1 25 0;
+#X connect 20 2 26 0;
+#X connect 20 3 27 0;
+#X connect 20 4 28 0;
+#X connect 20 5 29 0;
+#X connect 20 6 30 0;
+#X connect 20 7 31 0;
+#X connect 20 8 32 0;
+#X connect 20 9 33 0;
+#X connect 20 10 34 0;
+#X connect 21 0 20 0;
+#X connect 22 0 20 1;
+#X connect 23 0 20 2;
+#X connect 29 0 23 0;

BIN
extra/mrpeach/cd4017.dll


+ 91 - 0
extra/mrpeach/cd40193-help.pd

@@ -0,0 +1,91 @@
+#N canvas 406 127 739 406 12;
+#X obj 75 5 cd40193 up down counter;
+#X obj 75 -53 tgl 15 1 empty empty up_clock 17 7 0 10 -44926 -258699
+-1 1 1;
+#X obj 100 -37 tgl 15 1 empty empty down_clock 17 7 0 10 -44926 -258699
+-1 1 1;
+#X obj 126 -88 tgl 15 1 empty empty clear 17 7 0 10 -44926 -258699
+-1 0 1;
+#X obj 151 -111 tgl 15 1 empty empty load 17 7 0 10 -44926 -258699
+-1 1 1;
+#X obj 177 -24 tgl 15 0 empty empty A 17 7 0 10 -260818 -258699 -1
+0 1;
+#X obj 202 -24 tgl 15 0 empty empty B 17 7 0 10 -260818 -258699 -1
+0 1;
+#X obj 228 -24 tgl 15 0 empty empty C 17 7 0 10 -260818 -258699 -1
+0 1;
+#X obj 254 -24 tgl 15 0 empty empty D 17 7 0 10 -260818 -258699 -1
+0 1;
+#X obj 75 47 tgl 15 0 empty empty QA 17 7 0 10 -24198 -258699 -1 1
+1;
+#X obj 110 47 tgl 15 0 empty empty QB 17 7 0 10 -24198 -258699 -1 1
+1;
+#X obj 146 47 tgl 15 0 empty empty QC 17 7 0 10 -24198 -258699 -1 1
+1;
+#X obj 182 47 tgl 15 0 empty empty QD 17 7 0 10 -24198 -258699 -1 1
+1;
+#X obj 218 29 tgl 15 0 empty empty Carry 17 7 0 10 -62784 -258699 -1
+1 1;
+#X obj 254 47 tgl 15 0 empty empty Borrow 17 7 0 10 -62784 -258699
+-1 1 1;
+#X obj 349 106 cd40193 up down counter;
+#X obj 451 77 tgl 15 0 empty empty A 17 7 0 10 -260818 -258699 -1 0
+1;
+#X obj 476 77 tgl 15 0 empty empty B 17 7 0 10 -260818 -258699 -1 0
+1;
+#X obj 502 77 tgl 15 0 empty empty C 17 7 0 10 -260818 -258699 -1 0
+1;
+#X obj 528 77 tgl 15 0 empty empty D 17 7 0 10 -260818 -258699 -1 0
+1;
+#X obj 349 148 tgl 15 0 empty empty QA 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 384 148 tgl 15 0 empty empty QB 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 420 148 tgl 15 0 empty empty QC 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 456 148 tgl 15 0 empty empty QD 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 492 130 tgl 15 0 empty empty Carry 17 7 0 10 -62784 -258699
+-1 1 1;
+#X obj 528 148 tgl 15 0 empty empty Borrow 17 7 0 10 -62784 -258699
+-1 1 1;
+#X text 32 -155 cd40193 emulates the CMOS synchronous up/down counter
+;
+#X text 212 -113 0 loads data into counter;
+#X text 197 -90 1 clears counter;
+#X text 202 -65 0 to 1 transition on a clock counts only if the other
+clock = 1 and clear = 0 and load = 1;
+#X text 285 204 20070314_MartinPeach;
+#X obj 9 -121 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 9 -89 metro 100;
+#X connect 0 0 9 0;
+#X connect 0 1 10 0;
+#X connect 0 2 11 0;
+#X connect 0 3 12 0;
+#X connect 0 4 13 0;
+#X connect 0 4 15 0;
+#X connect 0 5 14 0;
+#X connect 0 5 15 1;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;
+#X connect 3 0 0 2;
+#X connect 3 0 15 2;
+#X connect 4 0 0 3;
+#X connect 4 0 15 3;
+#X connect 5 0 0 4;
+#X connect 6 0 0 5;
+#X connect 7 0 0 6;
+#X connect 8 0 0 7;
+#X connect 15 0 20 0;
+#X connect 15 1 21 0;
+#X connect 15 2 22 0;
+#X connect 15 3 23 0;
+#X connect 15 4 24 0;
+#X connect 15 5 25 0;
+#X connect 16 0 15 4;
+#X connect 17 0 15 5;
+#X connect 18 0 15 6;
+#X connect 19 0 15 7;
+#X connect 31 0 32 0;
+#X connect 32 0 1 0;

BIN
extra/mrpeach/cd40193.dll


+ 16 - 0
extra/mrpeach/cd4023-help.pd

@@ -0,0 +1,16 @@
+#N canvas 670 174 478 232 12;
+#X obj 86 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 155 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 1 1;
+#X obj 225 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 86 106 cd4023 triple nand;
+#X text 18 47 cd4023 emulates 1/3 of the CMOS triple NAND gate;
+#X text 210 170 20070319_Martin_Peach;
+#X connect 0 0 4 0;
+#X connect 1 0 4 1;
+#X connect 3 0 4 2;
+#X connect 4 0 2 0;

BIN
extra/mrpeach/cd4023.dll


+ 32 - 0
extra/mrpeach/cd4024-help.pd

@@ -0,0 +1,32 @@
+#N canvas 627 296 564 304 12;
+#X obj 138 127 cd4024 7-stage counter;
+#X obj 138 103 tgl 15 0 empty empty Clk 17 7 0 10 -44926 -258699 -1
+1 1;
+#X obj 309 103 tgl 15 0 empty empty Reset 17 7 0 10 -44926 -258699
+-1 0 1;
+#X obj 138 174 tgl 15 0 empty empty Q1 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 170 174 tgl 15 0 empty empty Q2 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 202 174 tgl 15 0 empty empty Q3 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 234 174 tgl 15 0 empty empty Q4 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 267 174 tgl 15 0 empty empty Q5 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 300 174 tgl 15 0 empty empty Q6 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 334 174 tgl 15 0 empty empty Q7 17 7 0 10 -24198 -258699 -1
+0 1;
+#X text 15 16 cd4024 emulates the CMOS 7-stage ripple carry binary
+counter;
+#X text 242 250 20070319_MartinPeach;
+#X connect 0 0 3 0;
+#X connect 0 1 4 0;
+#X connect 0 2 5 0;
+#X connect 0 3 6 0;
+#X connect 0 4 7 0;
+#X connect 0 5 8 0;
+#X connect 0 6 9 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;

BIN
extra/mrpeach/cd4024.dll


+ 16 - 0
extra/mrpeach/cd4025-help.pd

@@ -0,0 +1,16 @@
+#N canvas 670 174 478 232 12;
+#X obj 86 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 151 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 1 1;
+#X obj 217 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X text 210 170 20070319_Martin_Peach;
+#X text 18 47 cd4025 emulates 1/3 of the CMOS triple NOR gate;
+#X obj 86 106 cd4025 triple nor;
+#X connect 0 0 6 0;
+#X connect 1 0 6 1;
+#X connect 3 0 6 2;
+#X connect 6 0 2 0;

BIN
extra/mrpeach/cd4025.dll


+ 36 - 0
extra/mrpeach/cd4027-help.pd

@@ -0,0 +1,36 @@
+#N canvas 581 224 647 312 12;
+#X obj 79 38 tgl 15 0 empty empty CLK 17 7 0 10 -24198 -62784 -1 1
+1;
+#X obj 93 53 tgl 15 0 empty empty SET 17 7 0 10 -24198 -62784 -1 0
+1;
+#X obj 108 68 tgl 15 0 empty empty RESET 17 7 0 10 -24198 -62784 -1
+0 1;
+#X obj 123 83 tgl 15 0 empty empty J 17 7 0 10 -24198 -62784 -1 1 1
+;
+#X obj 138 98 tgl 15 0 empty empty K 17 7 0 10 -24198 -62784 -1 1 1
+;
+#X obj 79 146 cd4027 v;
+#X obj 138 172 tgl 15 0 empty empty /Q 17 7 0 10 -143491 -241291 -1
+0 1;
+#X obj 79 172 tgl 15 0 empty empty Q 17 7 0 10 -143491 -241291 -1 1
+1;
+#X text 173 65 Sets Q=0. Overrides Clock;
+#X text 133 35 A 0-1 transition or a bang clocks the flipflop.;
+#X text 142 50 Sets Q=1. Overrides Reset and Clock;
+#X text 237 264 20070307MartinPeach;
+#X text 27 5 cd4027 emulates one half of the CMOS logic J/K flipflop.
+;
+#X text 157 80 When Q=0 and J=1 \, Q will change on next clock.;
+#X text 168 96 When Q=1 and K=1 \, Q will change on next clock.;
+#X obj 6 89 metro 100;
+#X obj 6 67 tgl 15 0 empty empty empty 17 7 0 10 -44926 -90881 -1 0
+1;
+#X connect 0 0 5 0;
+#X connect 1 0 5 1;
+#X connect 2 0 5 2;
+#X connect 3 0 5 3;
+#X connect 4 0 5 4;
+#X connect 5 0 7 0;
+#X connect 5 1 6 0;
+#X connect 15 0 5 0;
+#X connect 16 0 15 0;

BIN
extra/mrpeach/cd4027.dll


+ 13 - 0
extra/mrpeach/cd4070-help.pd

@@ -0,0 +1,13 @@
+#N canvas 670 174 454 208 12;
+#X obj 86 107 cd4070;
+#X obj 86 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 129 83 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 0 1;
+#X text 18 47 cd4070 emulates 1/4 of the CMOS Exclusive Or gate;
+#X text 167 138 20070308_Martin_Peach;
+#X connect 0 0 3 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;

BIN
extra/mrpeach/cd4070.dll


+ 13 - 0
extra/mrpeach/cd4071-help.pd

@@ -0,0 +1,13 @@
+#N canvas 670 174 458 212 12;
+#X obj 86 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 129 83 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 0 1;
+#X text 167 138 20070308_Martin_Peach;
+#X text 18 47 cd4071 emulates 1/4 of the CMOS OR gate;
+#X obj 86 107 cd4071;
+#X connect 0 0 5 0;
+#X connect 1 0 5 1;
+#X connect 5 0 2 0;

BIN
extra/mrpeach/cd4071.dll


+ 19 - 0
extra/mrpeach/cd4072-help.pd

@@ -0,0 +1,19 @@
+#N canvas 670 174 470 224 12;
+#X obj 86 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 121 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 0 1;
+#X obj 157 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 193 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X text 210 170 20070312_Martin_Peach;
+#X text 18 47 cd4072 emulates 1/2 of the CMOS quad OR gate;
+#X obj 86 106 cd4072 quad or;
+#X connect 0 0 7 0;
+#X connect 1 0 7 1;
+#X connect 3 0 7 2;
+#X connect 4 0 7 3;
+#X connect 7 0 2 0;

BIN
extra/mrpeach/cd4072.dll


+ 16 - 0
extra/mrpeach/cd4073-help.pd

@@ -0,0 +1,16 @@
+#N canvas 670 174 474 228 12;
+#X obj 86 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 151 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 0 1;
+#X obj 217 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X text 210 170 20070312_Martin_Peach;
+#X text 18 47 cd4073 emulates 1/3 of the CMOS triple AND gate;
+#X obj 86 106 cd4073 triple and;
+#X connect 0 0 6 0;
+#X connect 1 0 6 1;
+#X connect 3 0 6 2;
+#X connect 6 0 2 0;

BIN
extra/mrpeach/cd4073.dll


+ 16 - 0
extra/mrpeach/cd4075-help.pd

@@ -0,0 +1,16 @@
+#N canvas 670 174 478 232 12;
+#X obj 86 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 147 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 1 1;
+#X obj 209 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X text 210 170 20070312_Martin_Peach;
+#X text 18 47 cd4075 emulates 1/3 of the CMOS triple OR gate;
+#X obj 86 106 cd4075 triple or;
+#X connect 0 0 6 0;
+#X connect 1 0 6 1;
+#X connect 3 0 6 2;
+#X connect 6 0 2 0;

BIN
extra/mrpeach/cd4075.dll


+ 59 - 0
extra/mrpeach/cd4076-help.pd

@@ -0,0 +1,59 @@
+#N canvas 581 224 661 399 12;
+#X obj 49 39 tgl 15 0 empty empty CP 17 7 0 10 -24198 -62784 -1 0 1
+;
+#X obj 68 54 tgl 15 0 empty empty CLEAR 17 7 0 10 -24198 -62784 -1
+0 1;
+#X obj 87 70 tgl 15 0 empty empty Input_Disable_1 17 7 0 10 -24198
+-62784 -1 0 1;
+#X obj 106 88 tgl 15 0 empty empty Input_Disable_2 17 7 0 10 -24198
+-62784 -1 0 1;
+#X obj 106 304 tgl 15 0 empty empty B 17 7 0 10 -143491 -241291 -1
+0 1;
+#X obj 49 304 tgl 15 0 empty empty A 17 7 0 10 -143491 -241291 -1 0
+1;
+#X obj 26 157 tgl 15 0 empty empty empty 17 7 0 10 -44926 -90881 -1
+0 1;
+#X text 89 36 A 0-1 transition or a bang clocks D to the outlets.;
+#X obj 26 221 bng 15 250 50 0 empty empty empty 17 7 0 10 -24198 -241291
+-1;
+#X obj 26 187 metro 500;
+#X text 27 5 cd4076 emulates the CMOS quad D flipflop.;
+#X obj 220 304 tgl 15 0 empty empty D 17 7 0 10 -143491 -241291 -1
+0 1;
+#X obj 163 304 tgl 15 0 empty empty C 17 7 0 10 -143491 -241291 -1
+0 1;
+#X text 131 50 Sets outputs to 0 Overrides CP.;
+#X text 250 74 Prevents input from being clocked to output.;
+#X obj 125 106 tgl 15 0 empty empty Output_Disable_1 17 7 0 10 -24198
+-62784 -1 0 1;
+#X obj 144 124 tgl 15 0 empty empty Output_Disable_1 17 7 0 10 -24198
+-62784 -1 0 1;
+#X text 291 107 Inhibits output.;
+#X text 74 341 20070312_Martin_Peach;
+#X obj 163 141 tgl 15 0 empty empty InA 17 7 0 10 -260818 -143491 -1
+0 1;
+#X obj 182 158 tgl 15 0 empty empty InB 17 7 0 10 -260818 -143491 -1
+0 1;
+#X obj 201 177 tgl 15 0 empty empty InC 17 7 0 10 -260818 -143491 -1
+0 1;
+#X obj 220 194 tgl 15 0 empty empty InD 17 7 0 10 -260818 -143491 -1
+0 1;
+#X text 236 142 Data inputs;
+#X obj 49 263 cd4076 quad d flipflop;
+#X connect 0 0 24 0;
+#X connect 1 0 24 1;
+#X connect 2 0 24 2;
+#X connect 3 0 24 3;
+#X connect 6 0 9 0;
+#X connect 8 0 24 0;
+#X connect 9 0 8 0;
+#X connect 15 0 24 4;
+#X connect 16 0 24 5;
+#X connect 19 0 24 6;
+#X connect 20 0 24 7;
+#X connect 21 0 24 8;
+#X connect 22 0 24 9;
+#X connect 24 0 5 0;
+#X connect 24 1 4 0;
+#X connect 24 2 12 0;
+#X connect 24 3 11 0;

BIN
extra/mrpeach/cd4076.dll


+ 13 - 0
extra/mrpeach/cd4081-help.pd

@@ -0,0 +1,13 @@
+#N canvas 670 174 462 216 12;
+#X obj 86 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 129 83 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 1 1;
+#X text 167 138 20070308_Martin_Peach;
+#X obj 86 106 cd4081;
+#X text 18 47 cd4081 emulates 1/4 of the CMOS AND gate;
+#X connect 0 0 4 0;
+#X connect 1 0 4 1;
+#X connect 4 0 2 0;

BIN
extra/mrpeach/cd4081.dll


+ 19 - 0
extra/mrpeach/cd4082-help.pd

@@ -0,0 +1,19 @@
+#N canvas 670 174 466 220 12;
+#X obj 86 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 124 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 86 137 tgl 15 0 empty empty empty 17 7 0 10 -258699 -241291
+-1 1 1;
+#X obj 162 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 201 82 tgl 15 0 empty empty empty 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 86 106 cd4082 quad and;
+#X text 18 47 cd4082 emulates 1/2 of the CMOS quad AND gate;
+#X text 210 170 20070312_Martin_Peach;
+#X connect 0 0 5 0;
+#X connect 1 0 5 1;
+#X connect 3 0 5 2;
+#X connect 4 0 5 3;
+#X connect 5 0 2 0;

BIN
extra/mrpeach/cd4082.dll


+ 49 - 0
extra/mrpeach/cd4094-help.pd

@@ -0,0 +1,49 @@
+#N canvas 657 97 532 308 12;
+#X obj 130 135 cd4094 shift register;
+#X obj 130 173 tgl 15 0 empty empty Q1 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 148 189 tgl 15 0 empty empty Q2 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 166 173 tgl 15 0 empty empty Q3 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 184 189 tgl 15 0 empty empty Q4 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 202 173 tgl 15 0 empty empty Q5 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 220 189 tgl 15 0 empty empty Q6 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 238 173 tgl 15 0 empty empty Q7 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 256 189 tgl 15 0 empty empty Q8 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 274 173 tgl 15 0 empty empty QS 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 292 189 tgl 15 0 empty empty Q'S 17 7 0 10 -24198 -123526 -1
+0 1;
+#X obj 130 51 tgl 15 0 empty empty CLOCK 17 7 0 10 -258699 -42246 -1
+1 1;
+#X obj 184 73 tgl 15 0 empty empty STROBE 17 7 0 10 -24198 -143491
+-1 1 1;
+#X obj 238 93 tgl 15 0 empty empty DATA 17 7 0 10 -24198 -143491 -1
+0 1;
+#X obj 293 110 tgl 15 0 empty empty OUTPUT_ENABLE 17 7 0 10 -24198
+-143491 -1 1 1;
+#X text 52 10 cd4094 emulates the CMOS shift register;
+#X text 166 239 20030313_MartinPeach;
+#X text 200 48 0 to 1 transition clocks data...;
+#X text 255 70 ...only if strobe is 1;
+#X text 316 121 enables outputs Q1-Q8.;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 0 2 3 0;
+#X connect 0 3 4 0;
+#X connect 0 4 5 0;
+#X connect 0 5 6 0;
+#X connect 0 6 7 0;
+#X connect 0 7 8 0;
+#X connect 0 8 9 0;
+#X connect 0 9 10 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 1;
+#X connect 13 0 0 2;
+#X connect 14 0 0 3;

BIN
extra/mrpeach/cd4094.dll


+ 88 - 0
extra/mrpeach/cd4516-help.pd

@@ -0,0 +1,88 @@
+#N canvas 406 127 747 414 12;
+#X obj 75 -57 tgl 15 1 empty empty clock 17 7 0 10 -44926 -258699 -1
+0 1;
+#X obj 96 -37 tgl 15 1 empty empty up_down 17 7 0 10 -44926 -258699
+-1 1 1;
+#X obj 117 -88 tgl 15 1 empty empty reset 17 7 0 10 -44926 -258699
+-1 0 1;
+#X obj 139 -111 tgl 15 1 empty empty preset_enable 17 7 0 10 -44926
+-258699 -1 0 1;
+#X obj 177 -24 tgl 15 0 empty empty P1 17 7 0 10 -260818 -258699 -1
+1 1;
+#X obj 211 -24 tgl 15 0 empty empty P2 17 7 0 10 -260818 -258699 -1
+0 1;
+#X obj 243 -24 tgl 15 0 empty empty P3 17 7 0 10 -260818 -258699 -1
+1 1;
+#X obj 283 -24 tgl 15 0 empty empty P4 17 7 0 10 -260818 -258699 -1
+0 1;
+#X obj 75 47 tgl 15 0 empty empty Q1 17 7 0 10 -24198 -258699 -1 1
+1;
+#X obj 117 47 tgl 15 0 empty empty Q2 17 7 0 10 -24198 -258699 -1 0
+1;
+#X obj 160 47 tgl 15 0 empty empty Q3 17 7 0 10 -24198 -258699 -1 1
+1;
+#X obj 203 47 tgl 15 0 empty empty Q4 17 7 0 10 -24198 -258699 -1 1
+1;
+#X obj 246 47 tgl 15 0 empty empty carry_out 17 7 0 10 -62784 -258699
+-1 1 1;
+#X text 197 -90 1 clears counter;
+#X text 285 204 20070314_MartinPeach;
+#X obj 9 -121 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 9 -89 metro 100;
+#X obj 75 5 cd4516 up down counter;
+#X text 283 -115 1 loads data into counter;
+#X obj 160 -55 tgl 15 1 empty empty carry_in 17 7 0 10 -44926 -258699
+-1 0 1;
+#X text 32 -155 cd4516 emulates the CMOS binary up/down counter;
+#X text 271 -1 0 to 1 transition on clock counts if reset = 0 and preset_enable
+= 0 and carry_in = 0;
+#X obj 208 82 tgl 15 0 empty empty P1 17 7 0 10 -260818 -258699 -1
+0 1;
+#X obj 242 82 tgl 15 0 empty empty P2 17 7 0 10 -260818 -258699 -1
+0 1;
+#X obj 274 82 tgl 15 0 empty empty P3 17 7 0 10 -260818 -258699 -1
+1 1;
+#X obj 314 82 tgl 15 0 empty empty P4 17 7 0 10 -260818 -258699 -1
+1 1;
+#X obj 143 163 tgl 15 0 empty empty Q1 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 185 163 tgl 15 0 empty empty Q2 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 228 163 tgl 15 0 empty empty Q3 17 7 0 10 -24198 -258699 -1
+0 1;
+#X obj 271 163 tgl 15 0 empty empty Q4 17 7 0 10 -24198 -258699 -1
+1 1;
+#X obj 314 163 tgl 15 0 empty empty carry_out 17 7 0 10 -62784 -258699
+-1 1 1;
+#X obj 123 108 cd4516 up down counter;
+#X connect 0 0 17 0;
+#X connect 0 0 31 0;
+#X connect 1 0 17 1;
+#X connect 1 0 31 1;
+#X connect 2 0 17 2;
+#X connect 2 0 31 2;
+#X connect 3 0 17 3;
+#X connect 3 0 31 3;
+#X connect 4 0 17 5;
+#X connect 5 0 17 6;
+#X connect 6 0 17 7;
+#X connect 7 0 17 8;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X connect 17 0 8 0;
+#X connect 17 1 9 0;
+#X connect 17 2 10 0;
+#X connect 17 3 11 0;
+#X connect 17 4 12 0;
+#X connect 17 4 31 4;
+#X connect 19 0 17 4;
+#X connect 22 0 31 5;
+#X connect 23 0 31 6;
+#X connect 24 0 31 7;
+#X connect 25 0 31 8;
+#X connect 31 0 26 0;
+#X connect 31 1 27 0;
+#X connect 31 2 28 0;
+#X connect 31 3 29 0;
+#X connect 31 4 30 0;

BIN
extra/mrpeach/cd4516.dll


+ 28 - 0
extra/mrpeach/f2b-help.pd

@@ -0,0 +1,28 @@
+#N canvas 626 544 450 300 10;
+#X obj 57 151 f2b;
+#X msg 57 118 3.14159;
+#X obj 57 187 unpack 0 0 0 0;
+#X floatatom 57 228 5 0 0 0 - - -;
+#X floatatom 92 228 5 0 0 0 - - -;
+#X floatatom 127 228 5 0 0 0 - - -;
+#X floatatom 162 228 5 0 0 0 - - -;
+#X text 244 268 Martin Peach 2013_03_13;
+#X msg 135 118 100000;
+#X text 53 8 [f2b] converts floats to lists of four bytes suitable
+for sending through a serial connection. This is the binary representation
+\, so the receiver must use the same floating-point format.;
+#X obj 213 114 * 4;
+#X floatatom 213 141 12 0 0 0 - - -;
+#X obj 213 91 atan;
+#X msg 213 68 1;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 2 2 5 0;
+#X connect 2 3 6 0;
+#X connect 8 0 0 0;
+#X connect 10 0 11 0;
+#X connect 10 0 0 0;
+#X connect 12 0 10 0;
+#X connect 13 0 12 0;

BIN
extra/mrpeach/f2b.dll


+ 40 - 0
extra/mrpeach/flist2tab-help.pd

@@ -0,0 +1,40 @@
+#N canvas 1 53 420 332 10;
+#X obj -12 175 table pig;
+#X obj 115 203 flist2tab pig;
+#X obj 92 163 any2string;
+#X msg 92 140 Hello;
+#X floatatom 190 162 5 0 0 0 - - -;
+#X msg 6 77 81 28 0 33 55 1 2 3;
+#X text -45 -12 flist2tab loads floats or lists of floats into a table
+;
+#X text -45 4 at an offset determined by a float in the second inlet.
+;
+#X text -45 20 Negative offsets will be ignored.;
+#X obj -12 152 table twig;
+#X msg 36 107 set twig;
+#X text 93 106 set the working table;
+#X text 203 203 argument is table name;
+#X text -45 36 Offsets greater than the table length cause the table
+to be resized to fit.;
+#X text 224 162 default offset is 0;
+#X floatatom 62 220 7 0 0 0 - - -;
+#X text 108 220 Array size is output after each input.;
+#X text 202 260 2009_01_28 Martin Peach;
+#N canvas 425 246 494 344 META 0;
+#X text 12 155 HELP_PATCH_AUTHORS "pd meta" information added by Jonathan
+Wilkes for Pd version 0.42.;
+#X text 12 135 AUTHOR Martin Peach;
+#X text 12 75 INLET_0 float list set;
+#X text 12 95 INLET_1 float;
+#X text 12 115 OUTLET_0 float;
+#X text 12 45 DESCRIPTION load floats or lists of floats into a table
+at an offset determined by a float in the second inlet;
+#X text 12 5 KEYWORDS control array list_op conversion;
+#X text 12 25 LICENSE GPL v2 or later;
+#X restore 314 297 pd META;
+#X connect 1 0 15 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 1 1;
+#X connect 5 0 1 0;
+#X connect 10 0 1 0;

BIN
extra/mrpeach/flist2tab.dll


+ 104 - 0
extra/mrpeach/httpreceive-help.pd

@@ -0,0 +1,104 @@
+#N canvas 525 51 712 894 10;
+#X obj 119 146 httpreq;
+#X obj 44 56 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X msg 84 94 GET http://132.205.142.12/index.php;
+#X obj 136 309 unpack 0 0 0 0;
+#X floatatom 136 332 3 0 0 0 - - -;
+#X floatatom 163 332 3 0 0 0 - - -;
+#X floatatom 190 332 3 0 0 0 - - -;
+#X floatatom 217 332 3 0 0 0 - - -;
+#X text 81 350 from;
+#X obj 119 257 tcpclient;
+#X obj 153 283 tgl 15 0 empty empty connected 18 7 0 8 -24198 -13381
+-1 0 1;
+#X text 190 256 tcpclient opens a tcp socket to send and receive bytes
+on;
+#X floatatom 270 342 9 0 0 0 - - -;
+#X floatatom 313 320 9 0 0 0 - - -;
+#X text 382 319 Size of the send buffer;
+#X obj 270 274 route sent buf blocked;
+#X text 340 341 Number of bytes sent;
+#X obj 356 298 print sender_blocked!;
+#X msg 85 206 connect 132.205.142.12 80;
+#X obj 119 450 httpreceive;
+#X floatatom 182 483 5 0 0 0 - - -;
+#X symbolatom 150 642 10 0 0 0 - - -;
+#X obj 150 620 prepend set;
+#X symbolatom 216 600 50 0 0 0 - - -;
+#X obj 216 578 prepend set;
+#X obj 150 526 route reason Date Content-Length Content-Type;
+#X symbolatom 350 568 50 0 0 0 - - -;
+#X obj 350 546 prepend set;
+#X floatatom 283 558 5 0 0 0 - - -;
+#X msg 64 74 GET http://132.205.142.12/nothing;
+#X msg 44 165 dump \$1;
+#X obj 44 139 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 37 328 tgl 15 0 empty empty empty 17 7 0 10 -4034 -257985 -1
+0 1;
+#X msg 37 351 verbosity \$1;
+#X obj 457 543 print more_status;
+#X obj 76 392 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X text 515 726 Author: Martin Peach;
+#X text 515 743 Date: 2011/01/13;
+#X text 224 481 The right outlet is the status code.;
+#X text 166 693 The left outlet is the message body as a list of bytes
+;
+#X text 154 505 The middle outlet is the status header as name/value
+pairs;
+#X obj 119 693 spigot;
+#X obj 119 723 print message_body;
+#X obj 152 671 tgl 15 0 empty empty printing_long_messages_can_hang_Pd
+17 7 0 10 -4034 -257985 -1 0 1;
+#X text 175 147 [httpreq] sends an HTTP/1.1 request as a list of bytes
+(actually float atoms) \, suitable for [tcpclient];
+#X text 195 444 [htpreceive] expects an HTTP/1.1 response as one or
+more lists of bytes.;
+#X text 187 557 message length:;
+#X obj 27 14 tgl 15 0 empty empty empty 17 7 0 10 -4034 -257985 -1
+1 1;
+#X msg 27 37 verbosity \$1;
+#X msg 105 115 HEAD http://132.205.142.12/index.php;
+#X text 175 185 So far only GET and HEAD requests are supported;
+#X text 274 73 should return 404 not found;
+#X text 306 93 should return a web page;
+#X text 332 114 should return only the metainformation;
+#X connect 0 0 9 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 3 3 7 0;
+#X connect 9 0 19 0;
+#X connect 9 1 3 0;
+#X connect 9 2 10 0;
+#X connect 9 3 15 0;
+#X connect 15 0 12 0;
+#X connect 15 1 13 0;
+#X connect 15 2 17 0;
+#X connect 18 0 9 0;
+#X connect 19 0 41 0;
+#X connect 19 1 25 0;
+#X connect 19 2 20 0;
+#X connect 22 0 21 0;
+#X connect 24 0 23 0;
+#X connect 25 0 22 0;
+#X connect 25 1 24 0;
+#X connect 25 2 28 0;
+#X connect 25 3 27 0;
+#X connect 25 4 34 0;
+#X connect 27 0 26 0;
+#X connect 29 0 0 0;
+#X connect 30 0 9 0;
+#X connect 31 0 30 0;
+#X connect 32 0 33 0;
+#X connect 33 0 19 0;
+#X connect 35 0 19 0;
+#X connect 41 0 42 0;
+#X connect 43 0 41 1;
+#X connect 47 0 48 0;
+#X connect 48 0 0 0;
+#X connect 49 0 0 0;

BIN
extra/mrpeach/httpreceive.dll


+ 104 - 0
extra/mrpeach/httpreq-help.pd

@@ -0,0 +1,104 @@
+#N canvas 525 51 712 894 10;
+#X obj 119 146 httpreq;
+#X obj 44 56 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X msg 84 94 GET http://132.205.142.12/index.php;
+#X obj 136 309 unpack 0 0 0 0;
+#X floatatom 136 332 3 0 0 0 - - -;
+#X floatatom 163 332 3 0 0 0 - - -;
+#X floatatom 190 332 3 0 0 0 - - -;
+#X floatatom 217 332 3 0 0 0 - - -;
+#X text 81 350 from;
+#X obj 119 257 tcpclient;
+#X obj 153 283 tgl 15 0 empty empty connected 18 7 0 8 -24198 -13381
+-1 0 1;
+#X text 190 256 tcpclient opens a tcp socket to send and receive bytes
+on;
+#X floatatom 270 342 9 0 0 0 - - -;
+#X floatatom 313 320 9 0 0 0 - - -;
+#X text 382 319 Size of the send buffer;
+#X obj 270 274 route sent buf blocked;
+#X text 340 341 Number of bytes sent;
+#X obj 356 298 print sender_blocked!;
+#X msg 85 206 connect 132.205.142.12 80;
+#X obj 119 450 httpreceive;
+#X floatatom 182 483 5 0 0 0 - - -;
+#X symbolatom 150 642 10 0 0 0 - - -;
+#X obj 150 620 prepend set;
+#X symbolatom 216 600 50 0 0 0 - - -;
+#X obj 216 578 prepend set;
+#X obj 150 526 route reason Date Content-Length Content-Type;
+#X symbolatom 350 568 50 0 0 0 - - -;
+#X obj 350 546 prepend set;
+#X floatatom 283 558 5 0 0 0 - - -;
+#X msg 64 74 GET http://132.205.142.12/nothing;
+#X msg 44 165 dump \$1;
+#X obj 44 139 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 37 328 tgl 15 0 empty empty empty 17 7 0 10 -4034 -257985 -1
+0 1;
+#X msg 37 351 verbosity \$1;
+#X obj 457 543 print more_status;
+#X obj 76 392 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X text 515 726 Author: Martin Peach;
+#X text 515 743 Date: 2011/01/13;
+#X text 224 481 The right outlet is the status code.;
+#X text 166 693 The left outlet is the message body as a list of bytes
+;
+#X text 154 505 The middle outlet is the status header as name/value
+pairs;
+#X obj 119 693 spigot;
+#X obj 119 723 print message_body;
+#X obj 152 671 tgl 15 0 empty empty printing_long_messages_can_hang_Pd
+17 7 0 10 -4034 -257985 -1 0 1;
+#X text 175 147 [httpreq] sends an HTTP/1.1 request as a list of bytes
+(actually float atoms) \, suitable for [tcpclient];
+#X text 195 444 [htpreceive] expects an HTTP/1.1 response as one or
+more lists of bytes.;
+#X text 187 557 message length:;
+#X obj 27 14 tgl 15 0 empty empty empty 17 7 0 10 -4034 -257985 -1
+1 1;
+#X msg 27 37 verbosity \$1;
+#X msg 105 115 HEAD http://132.205.142.12/index.php;
+#X text 175 185 So far only GET and HEAD requests are supported;
+#X text 274 73 should return 404 not found;
+#X text 306 93 should return a web page;
+#X text 332 114 should return only the metainformation;
+#X connect 0 0 9 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 3 3 7 0;
+#X connect 9 0 19 0;
+#X connect 9 1 3 0;
+#X connect 9 2 10 0;
+#X connect 9 3 15 0;
+#X connect 15 0 12 0;
+#X connect 15 1 13 0;
+#X connect 15 2 17 0;
+#X connect 18 0 9 0;
+#X connect 19 0 41 0;
+#X connect 19 1 25 0;
+#X connect 19 2 20 0;
+#X connect 22 0 21 0;
+#X connect 24 0 23 0;
+#X connect 25 0 22 0;
+#X connect 25 1 24 0;
+#X connect 25 2 28 0;
+#X connect 25 3 27 0;
+#X connect 25 4 34 0;
+#X connect 27 0 26 0;
+#X connect 29 0 0 0;
+#X connect 30 0 9 0;
+#X connect 31 0 30 0;
+#X connect 32 0 33 0;
+#X connect 33 0 19 0;
+#X connect 35 0 19 0;
+#X connect 41 0 42 0;
+#X connect 43 0 41 1;
+#X connect 47 0 48 0;
+#X connect 48 0 0 0;
+#X connect 49 0 0 0;

BIN
extra/mrpeach/httpreq.dll


+ 727 - 0
extra/mrpeach/life2x-help.pd

@@ -0,0 +1,727 @@
+#N canvas 1 53 898 909 10;
+#X obj 369 293 bng 15 250 50 0 empty empty single_step 17 7 0 10 -4160
+-4034 -4034;
+#X msg 124 46 dump;
+#X msg 103 25 clear;
+#X msg 250 172 reset;
+#X msg 271 193 return;
+#X msg 166 88 flipv;
+#X msg 145 67 fliph;
+#X msg 187 109 invert \$1;
+#X obj 259 94 tgl 15 0 empty empty empty 17 7 0 10 -4160 -4034 -1 0
+1;
+#X floatatom -9 224 2 0 0 0 - - -;
+#X floatatom 8 224 2 0 0 0 - - -;
+#X floatatom 25 224 2 0 0 0 - - -;
+#X floatatom 43 224 2 0 0 0 - - -;
+#X floatatom 60 224 2 0 0 0 - - -;
+#X floatatom 78 224 2 0 0 0 - - -;
+#X floatatom 95 224 2 0 0 0 - - -;
+#X floatatom 112 224 2 0 0 0 - - -;
+#X floatatom 130 224 2 0 0 0 - - -;
+#X floatatom 147 224 2 0 0 0 - - -;
+#X floatatom 165 224 2 0 0 0 - - -;
+#X floatatom 182 224 2 0 0 0 - - -;
+#X floatatom 199 224 2 0 0 0 - - -;
+#X floatatom 217 224 2 0 0 0 - - -;
+#X floatatom 234 224 2 0 0 0 - - -;
+#X floatatom 252 224 2 0 0 0 - - -;
+#X obj 398 337 life2x 16 16 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+;
+#X obj -1 204 unpack 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
+#X obj -43 187 r c0;
+#X obj 398 361 s c0;
+#X floatatom -9 266 2 0 0 0 - - -;
+#X floatatom 8 266 2 0 0 0 - - -;
+#X floatatom 25 266 2 0 0 0 - - -;
+#X floatatom 43 266 2 0 0 0 - - -;
+#X floatatom 60 266 2 0 0 0 - - -;
+#X floatatom 78 266 2 0 0 0 - - -;
+#X floatatom 95 266 2 0 0 0 - - -;
+#X floatatom 112 266 2 0 0 0 - - -;
+#X floatatom 130 266 2 0 0 0 - - -;
+#X floatatom 147 266 2 0 0 0 - - -;
+#X floatatom 165 266 2 0 0 0 - - -;
+#X floatatom 182 266 2 0 0 0 - - -;
+#X floatatom 199 266 2 0 0 0 - - -;
+#X floatatom 217 266 2 0 0 0 - - -;
+#X floatatom 234 266 2 0 0 0 - - -;
+#X floatatom 252 266 2 0 0 0 - - -;
+#X obj -9 246 unpack 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
+#X floatatom -10 309 2 0 0 0 - - -;
+#X floatatom 7 309 2 0 0 0 - - -;
+#X floatatom 24 309 2 0 0 0 - - -;
+#X floatatom 42 309 2 0 0 0 - - -;
+#X floatatom 59 309 2 0 0 0 - - -;
+#X floatatom 77 309 2 0 0 0 - - -;
+#X floatatom 94 309 2 0 0 0 - - -;
+#X floatatom 111 309 2 0 0 0 - - -;
+#X floatatom 129 309 2 0 0 0 - - -;
+#X floatatom 146 309 2 0 0 0 - - -;
+#X floatatom 164 309 2 0 0 0 - - -;
+#X floatatom 181 309 2 0 0 0 - - -;
+#X floatatom 198 309 2 0 0 0 - - -;
+#X floatatom 216 309 2 0 0 0 - - -;
+#X floatatom 233 309 2 0 0 0 - - -;
+#X floatatom 251 309 2 0 0 0 - - -;
+#X obj -10 289 unpack 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
+#X floatatom -10 351 2 0 0 0 - - -;
+#X floatatom 7 351 2 0 0 0 - - -;
+#X floatatom 24 351 2 0 0 0 - - -;
+#X floatatom 42 351 2 0 0 0 - - -;
+#X floatatom 59 351 2 0 0 0 - - -;
+#X floatatom 77 351 2 0 0 0 - - -;
+#X floatatom 94 351 2 0 0 0 - - -;
+#X floatatom 111 351 2 0 0 0 - - -;
+#X floatatom 129 351 2 0 0 0 - - -;
+#X floatatom 146 351 2 0 0 0 - - -;
+#X floatatom 164 351 2 0 0 0 - - -;
+#X floatatom 181 351 2 0 0 0 - - -;
+#X floatatom 198 351 2 0 0 0 - - -;
+#X floatatom 216 351 2 0 0 0 - - -;
+#X floatatom 233 351 2 0 0 0 - - -;
+#X floatatom 251 351 2 0 0 0 - - -;
+#X obj -10 331 unpack 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
+#X floatatom -10 393 2 0 0 0 - - -;
+#X floatatom 7 393 2 0 0 0 - - -;
+#X floatatom 24 393 2 0 0 0 - - -;
+#X floatatom 42 393 2 0 0 0 - - -;
+#X floatatom 59 393 2 0 0 0 - - -;
+#X floatatom 77 393 2 0 0 0 - - -;
+#X floatatom 94 393 2 0 0 0 - - -;
+#X floatatom 111 393 2 0 0 0 - - -;
+#X floatatom 129 393 2 0 0 0 - - -;
+#X floatatom 146 393 2 0 0 0 - - -;
+#X floatatom 164 393 2 0 0 0 - - -;
+#X floatatom 181 393 2 0 0 0 - - -;
+#X floatatom 198 393 2 0 0 0 - - -;
+#X floatatom 216 393 2 0 0 0 - - -;
+#X floatatom 233 393 2 0 0 0 - - -;
+#X floatatom 251 393 2 0 0 0 - - -;
+#X obj -10 373 unpack 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
+#X floatatom -10 435 2 0 0 0 - - -;
+#X floatatom 7 435 2 0 0 0 - - -;
+#X floatatom 24 435 2 0 0 0 - - -;
+#X floatatom 42 435 2 0 0 0 - - -;
+#X floatatom 59 435 2 0 0 0 - - -;
+#X floatatom 77 435 2 0 0 0 - - -;
+#X floatatom 94 435 2 0 0 0 - - -;
+#X floatatom 111 435 2 0 0 0 - - -;
+#X floatatom 129 435 2 0 0 0 - - -;
+#X floatatom 146 435 2 0 0 0 - - -;
+#X floatatom 164 435 2 0 0 0 - - -;
+#X floatatom 181 435 2 0 0 0 - - -;
+#X floatatom 198 435 2 0 0 0 - - -;
+#X floatatom 216 435 2 0 0 0 - - -;
+#X floatatom 233 435 2 0 0 0 - - -;
+#X floatatom 251 435 2 0 0 0 - - -;
+#X obj -10 415 unpack 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
+#X floatatom -10 477 2 0 0 0 - - -;
+#X floatatom 7 477 2 0 0 0 - - -;
+#X floatatom 24 477 2 0 0 0 - - -;
+#X floatatom 42 477 2 0 0 0 - - -;
+#X floatatom 59 477 2 0 0 0 - - -;
+#X floatatom 77 477 2 0 0 0 - - -;
+#X floatatom 94 477 2 0 0 0 - - -;
+#X floatatom 111 477 2 0 0 0 - - -;
+#X floatatom 129 477 2 0 0 0 - - -;
+#X floatatom 146 477 2 0 0 0 - - -;
+#X floatatom 164 477 2 0 0 0 - - -;
+#X floatatom 181 477 2 0 0 0 - - -;
+#X floatatom 198 477 2 0 0 0 - - -;
+#X floatatom 216 477 2 0 0 0 - - -;
+#X floatatom 233 477 2 0 0 0 - - -;
+#X floatatom 251 477 2 0 0 0 - - -;
+#X obj -10 457 unpack 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
+#X floatatom -10 518 2 0 0 0 - - -;
+#X floatatom 7 518 2 0 0 0 - - -;
+#X floatatom 24 518 2 0 0 0 - - -;
+#X floatatom 42 518 2 0 0 0 - - -;
+#X floatatom 59 518 2 0 0 0 - - -;
+#X floatatom 77 518 2 0 0 0 - - -;
+#X floatatom 94 518 2 0 0 0 - - -;
+#X floatatom 111 518 2 0 0 0 - - -;
+#X floatatom 129 518 2 0 0 0 - - -;
+#X floatatom 146 518 2 0 0 0 - - -;
+#X floatatom 164 518 2 0 0 0 - - -;
+#X floatatom 181 518 2 0 0 0 - - -;
+#X floatatom 198 518 2 0 0 0 - - -;
+#X floatatom 216 518 2 0 0 0 - - -;
+#X floatatom 233 518 2 0 0 0 - - -;
+#X floatatom 251 518 2 0 0 0 - - -;
+#X obj -10 498 unpack 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
+#X obj 415 384 s c1;
+#X obj 432 361 s c2;
+#X obj 449 384 s c3;
+#X obj 466 361 s c4;
+#X obj 483 384 s c5;
+#X obj 500 361 s c6;
+#X obj 517 384 s c7;
+#X obj 534 361 s c8;
+#X obj 551 384 s c9;
+#X obj 568 361 s c10;
+#X obj 585 384 s c11;
+#X obj 602 361 s c12;
+#X obj 619 384 s c13;
+#X obj 636 361 s c14;
+#X obj 653 384 s c15;
+#X obj -43 229 r c1;
+#X obj -44 272 r c2;
+#X obj -44 314 r c3;
+#X obj -44 356 r c4;
+#X obj -44 398 r c5;
+#X obj -44 440 r c6;
+#X obj -44 481 r c7;
+#X obj 448 270 metro 1000;
+#X obj 417 255 tgl 15 0 empty empty run -3 -8 0 10 -4160 -4034 -4034
+0 1;
+#X floatatom -11 560 2 0 0 0 - - -;
+#X floatatom 6 560 2 0 0 0 - - -;
+#X floatatom 23 560 2 0 0 0 - - -;
+#X floatatom 41 560 2 0 0 0 - - -;
+#X floatatom 58 560 2 0 0 0 - - -;
+#X floatatom 76 560 2 0 0 0 - - -;
+#X floatatom 93 560 2 0 0 0 - - -;
+#X floatatom 110 560 2 0 0 0 - - -;
+#X floatatom 128 560 2 0 0 0 - - -;
+#X floatatom 145 560 2 0 0 0 - - -;
+#X floatatom 163 560 2 0 0 0 - - -;
+#X floatatom 180 560 2 0 0 0 - - -;
+#X floatatom 197 560 2 0 0 0 - - -;
+#X floatatom 215 560 2 0 0 0 - - -;
+#X floatatom 232 560 2 0 0 0 - - -;
+#X floatatom 250 560 2 0 0 0 - - -;
+#X obj -11 540 unpack 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
+#X floatatom -11 602 2 0 0 0 - - -;
+#X floatatom 6 602 2 0 0 0 - - -;
+#X floatatom 23 602 2 0 0 0 - - -;
+#X floatatom 41 602 2 0 0 0 - - -;
+#X floatatom 58 602 2 0 0 0 - - -;
+#X floatatom 76 602 2 0 0 0 - - -;
+#X floatatom 93 602 2 0 0 0 - - -;
+#X floatatom 110 602 2 0 0 0 - - -;
+#X floatatom 128 602 2 0 0 0 - - -;
+#X floatatom 145 602 2 0 0 0 - - -;
+#X floatatom 163 602 2 0 0 0 - - -;
+#X floatatom 180 602 2 0 0 0 - - -;
+#X floatatom 197 602 2 0 0 0 - - -;
+#X floatatom 215 602 2 0 0 0 - - -;
+#X floatatom 232 602 2 0 0 0 - - -;
+#X floatatom 250 602 2 0 0 0 - - -;
+#X obj -11 582 unpack 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
+#X floatatom -12 645 2 0 0 0 - - -;
+#X floatatom 5 645 2 0 0 0 - - -;
+#X floatatom 22 645 2 0 0 0 - - -;
+#X floatatom 40 645 2 0 0 0 - - -;
+#X floatatom 57 645 2 0 0 0 - - -;
+#X floatatom 75 645 2 0 0 0 - - -;
+#X floatatom 92 645 2 0 0 0 - - -;
+#X floatatom 109 645 2 0 0 0 - - -;
+#X floatatom 127 645 2 0 0 0 - - -;
+#X floatatom 144 645 2 0 0 0 - - -;
+#X floatatom 162 645 2 0 0 0 - - -;
+#X floatatom 179 645 2 0 0 0 - - -;
+#X floatatom 196 645 2 0 0 0 - - -;
+#X floatatom 214 645 2 0 0 0 - - -;
+#X floatatom 231 645 2 0 0 0 - - -;
+#X floatatom 249 645 2 0 0 0 - - -;
+#X obj -12 625 unpack 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
+#X floatatom -12 687 2 0 0 0 - - -;
+#X floatatom 5 687 2 0 0 0 - - -;
+#X floatatom 22 687 2 0 0 0 - - -;
+#X floatatom 40 687 2 0 0 0 - - -;
+#X floatatom 57 687 2 0 0 0 - - -;
+#X floatatom 75 687 2 0 0 0 - - -;
+#X floatatom 92 687 2 0 0 0 - - -;
+#X floatatom 109 687 2 0 0 0 - - -;
+#X floatatom 127 687 2 0 0 0 - - -;
+#X floatatom 144 687 2 0 0 0 - - -;
+#X floatatom 162 687 2 0 0 0 - - -;
+#X floatatom 179 687 2 0 0 0 - - -;
+#X floatatom 196 687 2 0 0 0 - - -;
+#X floatatom 214 687 2 0 0 0 - - -;
+#X floatatom 231 687 2 0 0 0 - - -;
+#X floatatom 249 687 2 0 0 0 - - -;
+#X obj -12 667 unpack 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
+#X floatatom -12 729 2 0 0 0 - - -;
+#X floatatom 5 729 2 0 0 0 - - -;
+#X floatatom 22 729 2 0 0 0 - - -;
+#X floatatom 40 729 2 0 0 0 - - -;
+#X floatatom 57 729 2 0 0 0 - - -;
+#X floatatom 75 729 2 0 0 0 - - -;
+#X floatatom 92 729 2 0 0 0 - - -;
+#X floatatom 109 729 2 0 0 0 - - -;
+#X floatatom 127 729 2 0 0 0 - - -;
+#X floatatom 144 729 2 0 0 0 - - -;
+#X floatatom 162 729 2 0 0 0 - - -;
+#X floatatom 179 729 2 0 0 0 - - -;
+#X floatatom 196 729 2 0 0 0 - - -;
+#X floatatom 214 729 2 0 0 0 - - -;
+#X floatatom 231 729 2 0 0 0 - - -;
+#X floatatom 249 729 2 0 0 0 - - -;
+#X obj -12 709 unpack 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
+#X floatatom -12 771 2 0 0 0 - - -;
+#X floatatom 5 771 2 0 0 0 - - -;
+#X floatatom 22 771 2 0 0 0 - - -;
+#X floatatom 40 771 2 0 0 0 - - -;
+#X floatatom 57 771 2 0 0 0 - - -;
+#X floatatom 75 771 2 0 0 0 - - -;
+#X floatatom 92 771 2 0 0 0 - - -;
+#X floatatom 109 771 2 0 0 0 - - -;
+#X floatatom 127 771 2 0 0 0 - - -;
+#X floatatom 144 771 2 0 0 0 - - -;
+#X floatatom 162 771 2 0 0 0 - - -;
+#X floatatom 179 771 2 0 0 0 - - -;
+#X floatatom 196 771 2 0 0 0 - - -;
+#X floatatom 214 771 2 0 0 0 - - -;
+#X floatatom 231 771 2 0 0 0 - - -;
+#X floatatom 249 771 2 0 0 0 - - -;
+#X obj -12 751 unpack 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
+#X floatatom -12 813 2 0 0 0 - - -;
+#X floatatom 5 813 2 0 0 0 - - -;
+#X floatatom 22 813 2 0 0 0 - - -;
+#X floatatom 40 813 2 0 0 0 - - -;
+#X floatatom 57 813 2 0 0 0 - - -;
+#X floatatom 75 813 2 0 0 0 - - -;
+#X floatatom 92 813 2 0 0 0 - - -;
+#X floatatom 109 813 2 0 0 0 - - -;
+#X floatatom 127 813 2 0 0 0 - - -;
+#X floatatom 144 813 2 0 0 0 - - -;
+#X floatatom 162 813 2 0 0 0 - - -;
+#X floatatom 179 813 2 0 0 0 - - -;
+#X floatatom 196 813 2 0 0 0 - - -;
+#X floatatom 214 813 2 0 0 0 - - -;
+#X floatatom 231 813 2 0 0 0 - - -;
+#X floatatom 249 813 2 0 0 0 - - -;
+#X obj -12 793 unpack 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
+#X floatatom -12 854 2 0 0 0 - - -;
+#X floatatom 5 854 2 0 0 0 - - -;
+#X floatatom 22 854 2 0 0 0 - - -;
+#X floatatom 40 854 2 0 0 0 - - -;
+#X floatatom 57 854 2 0 0 0 - - -;
+#X floatatom 75 854 2 0 0 0 - - -;
+#X floatatom 92 854 2 0 0 0 - - -;
+#X floatatom 109 854 2 0 0 0 - - -;
+#X floatatom 127 854 2 0 0 0 - - -;
+#X floatatom 144 854 2 0 0 0 - - -;
+#X floatatom 162 854 2 0 0 0 - - -;
+#X floatatom 179 854 2 0 0 0 - - -;
+#X floatatom 196 854 2 0 0 0 - - -;
+#X floatatom 214 854 2 0 0 0 - - -;
+#X floatatom 231 854 2 0 0 0 - - -;
+#X floatatom 249 854 2 0 0 0 - - -;
+#X obj -12 834 unpack 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
+#X obj -45 523 r c8;
+#X obj -45 565 r c9;
+#X obj -46 608 r c10;
+#X obj -45 651 r c11;
+#X obj -45 692 r c12;
+#X obj -46 734 r c13;
+#X obj -46 776 r c14;
+#X obj -46 817 r c15;
+#X floatatom 268 114 5 0 0 0 - - -;
+#X msg 208 130 novar \$1;
+#X obj 704 407 nbx 5 14 -1e+37 1e+37 0 0 empty empty generation -65
+8 0 10 -4160 -4034 -4034 0 256;
+#X obj 670 441 nbx 5 14 -1e+37 1e+37 0 0 empty empty delta -35 8 0
+10 -4160 -4034 -4034 0 256;
+#X obj 687 424 nbx 5 14 -1e+37 1e+37 0 0 empty empty alive -35 8 0
+10 -4160 -4034 -4034 0 256;
+#X obj 755 389 bng 15 250 50 0 empty empty dead 17 7 0 10 -258113 -262144
+-4034;
+#X obj 738 440 bng 15 250 50 0 empty empty no_variation 17 7 0 10 -258113
+-262144 -4034;
+#X obj 721 360 print dump_id_x_y;
+#X obj 448 197 pack 0 0;
+#X obj 466 162 t b f;
+#X obj 448 126 nbx 3 14 -99 99 0 0 empty empty x_shift -40 8 0 10 -4160
+-4034 -4034 0 256;
+#X obj 466 144 nbx 3 14 -99 99 0 0 empty empty y_shift -40 8 0 10 -4160
+-4034 -4034 0 256;
+#X msg 234 3 23/3;
+#X msg 349 271 rule \$1;
+#X obj 349 135 symbol;
+#X msg 270 39 012345678/;
+#X text 272 1 Rule for Conway life (default): A live cell survives
+if it has 2 or 3 neighbours. A dead cell becomes alive if it has 2
+neighbours.;
+#X text 343 38 Rule to freeze the current state;
+#X msg 291 60 23/36;
+#X text 328 60 "High Life" rule;
+#X msg 312 81 5678/35678;
+#X text 384 81 "Diamoeba" rule;
+#X text 433 320 creation arguments: number of columns \, number of
+rows;
+#X obj 582 256 nbx 5 14 1 1e+37 0 1 empty empty period_(ms) -70 8 0
+10 -4160 -4034 -4034 125 256;
+#X msg 335 104 /123;
+#X msg 292 214 shift \$1 \$2;
+#X obj 382 220 tgl 15 0 empty empty empty 17 7 0 10 -4160 -4034 -4034
+0 1;
+#X msg 313 235 thru \$1;
+#X text 401 219 If thru is on \, output state changes other than generations
+;
+#X msg 533 185 set \$1 \$2 \$3;
+#X obj 533 158 pack 0 0 0;
+#X floatatom 537 107 3 0 0 0 - - -;
+#X floatatom 561 107 3 0 0 0 - - -;
+#X floatatom 590 107 3 0 0 0 - - -;
+#X obj 533 134 f;
+#X obj 533 68 bng 15 250 50 0 empty empty set_cell 17 7 0 10 -4160
+-4034 -4034;
+#X text 587 89 state;
+#X text 535 89 col;
+#X text 558 89 row;
+#X msg 230 151 randomize \$1;
+#X msg 313 134 0.5;
+#X text -28 25 clear the array to 0:;
+#X text -38 151 randomly set a fraction of the array alive:;
+#X text -67 47 output locations of live cells:;
+#X text -2 69 flip array horizontal:;
+#X text 33 89 flip array vertical:;
+#X text 25 109 invert values for display:;
+#X text -40 130 generations of no variation before bang:;
+#N canvas 529 268 494 344 META 0;
+#X text 12 135 HELP_PATCH_AUTHORS "pd meta" information added by Jonathan
+Wilkes for Pd version 0.42.;
+#X text 12 115 AUTHOR Martin Peach;
+#X text 12 65 INLET_0 clear dump fliph flipv invert novar randomize
+reset return shift thru rule set;
+#X text 12 95 OUTLET_N list;
+#X text 12 25 LICENSE GPL v3 or later;
+#X text 12 45 DESCRIPTION Game of Life;
+#X text 12 5 KEYWORDS control;
+#X restore 784 627 pd META;
+#X connect 0 0 25 0;
+#X connect 1 0 25 0;
+#X connect 2 0 25 0;
+#X connect 3 0 25 0;
+#X connect 4 0 25 0;
+#X connect 5 0 25 0;
+#X connect 6 0 25 0;
+#X connect 7 0 25 0;
+#X connect 8 0 7 0;
+#X connect 25 0 28 0;
+#X connect 25 1 148 0;
+#X connect 25 2 149 0;
+#X connect 25 3 150 0;
+#X connect 25 4 151 0;
+#X connect 25 5 152 0;
+#X connect 25 6 153 0;
+#X connect 25 7 154 0;
+#X connect 25 8 155 0;
+#X connect 25 9 156 0;
+#X connect 25 10 157 0;
+#X connect 25 11 158 0;
+#X connect 25 12 159 0;
+#X connect 25 13 160 0;
+#X connect 25 14 161 0;
+#X connect 25 15 162 0;
+#X connect 25 16 319 0;
+#X connect 25 17 320 0;
+#X connect 25 18 318 0;
+#X connect 25 19 323 0;
+#X connect 25 20 322 0;
+#X connect 25 20 356 0;
+#X connect 25 21 321 0;
+#X connect 26 0 9 0;
+#X connect 26 1 10 0;
+#X connect 26 2 11 0;
+#X connect 26 3 12 0;
+#X connect 26 4 13 0;
+#X connect 26 5 14 0;
+#X connect 26 6 15 0;
+#X connect 26 7 16 0;
+#X connect 26 8 17 0;
+#X connect 26 9 18 0;
+#X connect 26 10 19 0;
+#X connect 26 11 20 0;
+#X connect 26 12 21 0;
+#X connect 26 13 22 0;
+#X connect 26 14 23 0;
+#X connect 26 15 24 0;
+#X connect 27 0 26 0;
+#X connect 45 0 29 0;
+#X connect 45 1 30 0;
+#X connect 45 2 31 0;
+#X connect 45 3 32 0;
+#X connect 45 4 33 0;
+#X connect 45 5 34 0;
+#X connect 45 6 35 0;
+#X connect 45 7 36 0;
+#X connect 45 8 37 0;
+#X connect 45 9 38 0;
+#X connect 45 10 39 0;
+#X connect 45 11 40 0;
+#X connect 45 12 41 0;
+#X connect 45 13 42 0;
+#X connect 45 14 43 0;
+#X connect 45 15 44 0;
+#X connect 62 0 46 0;
+#X connect 62 1 47 0;
+#X connect 62 2 48 0;
+#X connect 62 3 49 0;
+#X connect 62 4 50 0;
+#X connect 62 5 51 0;
+#X connect 62 6 52 0;
+#X connect 62 7 53 0;
+#X connect 62 8 54 0;
+#X connect 62 9 55 0;
+#X connect 62 10 56 0;
+#X connect 62 11 57 0;
+#X connect 62 12 58 0;
+#X connect 62 13 59 0;
+#X connect 62 14 60 0;
+#X connect 62 15 61 0;
+#X connect 79 0 63 0;
+#X connect 79 1 64 0;
+#X connect 79 2 65 0;
+#X connect 79 3 66 0;
+#X connect 79 4 67 0;
+#X connect 79 5 68 0;
+#X connect 79 6 69 0;
+#X connect 79 7 70 0;
+#X connect 79 8 71 0;
+#X connect 79 9 72 0;
+#X connect 79 10 73 0;
+#X connect 79 11 74 0;
+#X connect 79 12 75 0;
+#X connect 79 13 76 0;
+#X connect 79 14 77 0;
+#X connect 79 15 78 0;
+#X connect 96 0 80 0;
+#X connect 96 1 81 0;
+#X connect 96 2 82 0;
+#X connect 96 3 83 0;
+#X connect 96 4 84 0;
+#X connect 96 5 85 0;
+#X connect 96 6 86 0;
+#X connect 96 7 87 0;
+#X connect 96 8 88 0;
+#X connect 96 9 89 0;
+#X connect 96 10 90 0;
+#X connect 96 11 91 0;
+#X connect 96 12 92 0;
+#X connect 96 13 93 0;
+#X connect 96 14 94 0;
+#X connect 96 15 95 0;
+#X connect 113 0 97 0;
+#X connect 113 1 98 0;
+#X connect 113 2 99 0;
+#X connect 113 3 100 0;
+#X connect 113 4 101 0;
+#X connect 113 5 102 0;
+#X connect 113 6 103 0;
+#X connect 113 7 104 0;
+#X connect 113 8 105 0;
+#X connect 113 9 106 0;
+#X connect 113 10 107 0;
+#X connect 113 11 108 0;
+#X connect 113 12 109 0;
+#X connect 113 13 110 0;
+#X connect 113 14 111 0;
+#X connect 113 15 112 0;
+#X connect 130 0 114 0;
+#X connect 130 1 115 0;
+#X connect 130 2 116 0;
+#X connect 130 3 117 0;
+#X connect 130 4 118 0;
+#X connect 130 5 119 0;
+#X connect 130 6 120 0;
+#X connect 130 7 121 0;
+#X connect 130 8 122 0;
+#X connect 130 9 123 0;
+#X connect 130 10 124 0;
+#X connect 130 11 125 0;
+#X connect 130 12 126 0;
+#X connect 130 13 127 0;
+#X connect 130 14 128 0;
+#X connect 130 15 129 0;
+#X connect 147 0 131 0;
+#X connect 147 1 132 0;
+#X connect 147 2 133 0;
+#X connect 147 3 134 0;
+#X connect 147 4 135 0;
+#X connect 147 5 136 0;
+#X connect 147 6 137 0;
+#X connect 147 7 138 0;
+#X connect 147 8 139 0;
+#X connect 147 9 140 0;
+#X connect 147 10 141 0;
+#X connect 147 11 142 0;
+#X connect 147 12 143 0;
+#X connect 147 13 144 0;
+#X connect 147 14 145 0;
+#X connect 147 15 146 0;
+#X connect 163 0 45 0;
+#X connect 164 0 62 0;
+#X connect 165 0 79 0;
+#X connect 166 0 96 0;
+#X connect 167 0 113 0;
+#X connect 168 0 130 0;
+#X connect 169 0 147 0;
+#X connect 170 0 25 0;
+#X connect 171 0 170 0;
+#X connect 188 0 172 0;
+#X connect 188 1 173 0;
+#X connect 188 2 174 0;
+#X connect 188 3 175 0;
+#X connect 188 4 176 0;
+#X connect 188 5 177 0;
+#X connect 188 6 178 0;
+#X connect 188 7 179 0;
+#X connect 188 8 180 0;
+#X connect 188 9 181 0;
+#X connect 188 10 182 0;
+#X connect 188 11 183 0;
+#X connect 188 12 184 0;
+#X connect 188 13 185 0;
+#X connect 188 14 186 0;
+#X connect 188 15 187 0;
+#X connect 205 0 189 0;
+#X connect 205 1 190 0;
+#X connect 205 2 191 0;
+#X connect 205 3 192 0;
+#X connect 205 4 193 0;
+#X connect 205 5 194 0;
+#X connect 205 6 195 0;
+#X connect 205 7 196 0;
+#X connect 205 8 197 0;
+#X connect 205 9 198 0;
+#X connect 205 10 199 0;
+#X connect 205 11 200 0;
+#X connect 205 12 201 0;
+#X connect 205 13 202 0;
+#X connect 205 14 203 0;
+#X connect 205 15 204 0;
+#X connect 222 0 206 0;
+#X connect 222 1 207 0;
+#X connect 222 2 208 0;
+#X connect 222 3 209 0;
+#X connect 222 4 210 0;
+#X connect 222 5 211 0;
+#X connect 222 6 212 0;
+#X connect 222 7 213 0;
+#X connect 222 8 214 0;
+#X connect 222 9 215 0;
+#X connect 222 10 216 0;
+#X connect 222 11 217 0;
+#X connect 222 12 218 0;
+#X connect 222 13 219 0;
+#X connect 222 14 220 0;
+#X connect 222 15 221 0;
+#X connect 239 0 223 0;
+#X connect 239 1 224 0;
+#X connect 239 2 225 0;
+#X connect 239 3 226 0;
+#X connect 239 4 227 0;
+#X connect 239 5 228 0;
+#X connect 239 6 229 0;
+#X connect 239 7 230 0;
+#X connect 239 8 231 0;
+#X connect 239 9 232 0;
+#X connect 239 10 233 0;
+#X connect 239 11 234 0;
+#X connect 239 12 235 0;
+#X connect 239 13 236 0;
+#X connect 239 14 237 0;
+#X connect 239 15 238 0;
+#X connect 256 0 240 0;
+#X connect 256 1 241 0;
+#X connect 256 2 242 0;
+#X connect 256 3 243 0;
+#X connect 256 4 244 0;
+#X connect 256 5 245 0;
+#X connect 256 6 246 0;
+#X connect 256 7 247 0;
+#X connect 256 8 248 0;
+#X connect 256 9 249 0;
+#X connect 256 10 250 0;
+#X connect 256 11 251 0;
+#X connect 256 12 252 0;
+#X connect 256 13 253 0;
+#X connect 256 14 254 0;
+#X connect 256 15 255 0;
+#X connect 273 0 257 0;
+#X connect 273 1 258 0;
+#X connect 273 2 259 0;
+#X connect 273 3 260 0;
+#X connect 273 4 261 0;
+#X connect 273 5 262 0;
+#X connect 273 6 263 0;
+#X connect 273 7 264 0;
+#X connect 273 8 265 0;
+#X connect 273 9 266 0;
+#X connect 273 10 267 0;
+#X connect 273 11 268 0;
+#X connect 273 12 269 0;
+#X connect 273 13 270 0;
+#X connect 273 14 271 0;
+#X connect 273 15 272 0;
+#X connect 290 0 274 0;
+#X connect 290 1 275 0;
+#X connect 290 2 276 0;
+#X connect 290 3 277 0;
+#X connect 290 4 278 0;
+#X connect 290 5 279 0;
+#X connect 290 6 280 0;
+#X connect 290 7 281 0;
+#X connect 290 8 282 0;
+#X connect 290 9 283 0;
+#X connect 290 10 284 0;
+#X connect 290 11 285 0;
+#X connect 290 12 286 0;
+#X connect 290 13 287 0;
+#X connect 290 14 288 0;
+#X connect 290 15 289 0;
+#X connect 307 0 291 0;
+#X connect 307 1 292 0;
+#X connect 307 2 293 0;
+#X connect 307 3 294 0;
+#X connect 307 4 295 0;
+#X connect 307 5 296 0;
+#X connect 307 6 297 0;
+#X connect 307 7 298 0;
+#X connect 307 8 299 0;
+#X connect 307 9 300 0;
+#X connect 307 10 301 0;
+#X connect 307 11 302 0;
+#X connect 307 12 303 0;
+#X connect 307 13 304 0;
+#X connect 307 14 305 0;
+#X connect 307 15 306 0;
+#X connect 308 0 188 0;
+#X connect 309 0 205 0;
+#X connect 310 0 222 0;
+#X connect 311 0 239 0;
+#X connect 312 0 256 0;
+#X connect 313 0 273 0;
+#X connect 314 0 290 0;
+#X connect 315 0 307 0;
+#X connect 316 0 317 0;
+#X connect 317 0 25 0;
+#X connect 324 0 341 0;
+#X connect 325 0 324 0;
+#X connect 325 1 324 1;
+#X connect 326 0 324 0;
+#X connect 327 0 325 0;
+#X connect 328 0 330 0;
+#X connect 329 0 25 0;
+#X connect 330 0 329 0;
+#X connect 331 0 330 0;
+#X connect 334 0 330 0;
+#X connect 336 0 330 0;
+#X connect 339 0 170 1;
+#X connect 340 0 330 0;
+#X connect 341 0 25 0;
+#X connect 342 0 343 0;
+#X connect 343 0 25 0;
+#X connect 345 0 25 0;
+#X connect 346 0 345 0;
+#X connect 347 0 350 1;
+#X connect 348 0 346 1;
+#X connect 349 0 346 2;
+#X connect 350 0 346 0;
+#X connect 351 0 350 0;
+#X connect 355 0 25 0;
+#X connect 356 0 355 0;

BIN
extra/mrpeach/life2x.dll


+ 339 - 0
extra/mrpeach/midifile-help.pd

@@ -0,0 +1,339 @@
+#N canvas 1 53 399 237 12;
+#N canvas 189 27 888 819 midifile_write 0;
+#X obj 324 -2 bng 45 250 50 0 empty empty choose 5 23 0 8 -62784 -260818
+-258699;
+#X obj 67 51 tgl 45 0 empty empty record 2 23 0 8 -258699 -241291 -24198
+0 1;
+#X floatatom 553 772 15 0 0 0 tick - -;
+#X obj 67 151 metro 2;
+#X floatatom 113 109 15 0 0 0 - - -;
+#X msg 113 83 2.005;
+#X msg 506 590 verbose \$1;
+#X text 494 545 verbosity defaults to 1;
+#X obj 324 54 savepanel;
+#X msg 409 493 240 1 2 3 4 247;
+#X text 523 492 a sysex message;
+#X obj 553 742 float;
+#X floatatom 506 564 5 0 0 0 - - -;
+#X msg 324 408 write \$1 \$2 \$3;
+#X msg 326 201 29;
+#X msg 364 201 30;
+#X msg 210 201 0;
+#X floatatom 405 275 5 0 0 0 ticks_per_frame - -;
+#X text 80 301 (ticks per quarter note if frames per second is zero)
+;
+#X msg 288 201 25;
+#X msg 248 201 24;
+#X text 79 322 25 20 will give accurate timing with metro ticks at
+2ms;
+#X obj 324 375 pack s 25 20;
+#X obj 559 663 midifile;
+#X text 7 199 time code frames per second:;
+#X text 484 432 default is 90 ticks per quarter note;
+#X msg 349 433 write filename.mid;
+#X msg 374 458 write filename.mid 77;
+#X text 534 458 77 ticks per quarter note;
+#X msg 442 526 flush;
+#X obj 629 96 cnv 15 200 20 empty empty empty 20 12 0 14 -257985 -66577
+0;
+#X floatatom 515 95 5 0 0 0 note - -;
+#X floatatom 515 125 5 0 0 0 velocity - -;
+#X obj 559 283 pack 144 0 0;
+#X obj 578 129 sel 0;
+#X obj 559 156 t b f;
+#X obj 559 257 f;
+#X text 160 658 Martin Peach \, 2010;
+#X text 553 565 set to 3 to debug input;
+#X obj 559 75 notein;
+#X obj 119 -2 cnv 15 200 20 empty empty empty 20 12 0 14 -257985 -66577
+0;
+#X text 121 -3 1: open a file for writing:;
+#X obj 116 50 cnv 15 200 20 empty empty empty 20 12 0 14 -257985 -66577
+0;
+#X text 118 49 2: start recording;
+#X obj 139 526 cnv 15 300 20 empty empty empty 20 12 0 14 -257985 -66577
+0;
+#X text 157 524 4: stop recording and save the file:;
+#X floatatom 513 180 5 0 0 0 channel - -;
+#X obj 610 237 +;
+#X msg 578 185 127;
+#X msg 610 157 143;
+#X floatatom 709 313 5 0 0 0 value - -;
+#X floatatom 709 344 5 0 0 0 controller - -;
+#X floatatom 707 393 5 0 0 0 channel - -;
+#X obj 755 293 ctlin;
+#X obj 755 447 pack 176 0 0;
+#X obj 755 479 print ctl>;
+#X obj 580 324 print note>;
+#X obj 755 329 t b f;
+#X obj 755 393 f;
+#X obj 810 336 + 175;
+#X text 646 93 3: input MIDI as lists;
+#X connect 0 0 8 0;
+#X connect 1 0 3 0;
+#X connect 3 0 23 0;
+#X connect 4 0 3 1;
+#X connect 5 0 4 0;
+#X connect 6 0 23 0;
+#X connect 8 0 22 0;
+#X connect 9 0 23 0;
+#X connect 11 0 2 0;
+#X connect 12 0 6 0;
+#X connect 13 0 23 0;
+#X connect 14 0 22 1;
+#X connect 15 0 22 1;
+#X connect 16 0 22 1;
+#X connect 17 0 22 2;
+#X connect 19 0 22 1;
+#X connect 20 0 22 1;
+#X connect 22 0 13 0;
+#X connect 23 1 11 1;
+#X connect 23 2 11 0;
+#X connect 26 0 23 0;
+#X connect 27 0 23 0;
+#X connect 29 0 23 0;
+#X connect 33 0 23 0;
+#X connect 33 0 56 0;
+#X connect 34 0 48 0;
+#X connect 34 1 49 0;
+#X connect 35 0 36 0;
+#X connect 35 1 33 1;
+#X connect 36 0 33 0;
+#X connect 39 0 31 0;
+#X connect 39 0 35 0;
+#X connect 39 1 32 0;
+#X connect 39 1 34 0;
+#X connect 39 1 33 2;
+#X connect 39 2 46 0;
+#X connect 39 2 47 1;
+#X connect 47 0 36 1;
+#X connect 48 0 47 0;
+#X connect 49 0 47 0;
+#X connect 53 0 50 0;
+#X connect 53 0 57 0;
+#X connect 53 1 51 0;
+#X connect 53 1 54 1;
+#X connect 53 2 52 0;
+#X connect 53 2 59 0;
+#X connect 54 0 55 0;
+#X connect 54 0 23 0;
+#X connect 57 0 58 0;
+#X connect 57 1 54 2;
+#X connect 58 0 54 0;
+#X connect 59 0 58 1;
+#X restore 76 116 pd midifile_write;
+#N canvas 214 27 1028 899 midifile_read 0;
+#X obj 198 518 bng 15 250 50 0 empty empty step 18 7 0 12 -4160 -257985
+-1;
+#X obj -148 60 openpanel;
+#X obj -148 7 bng 45 250 50 0 empty empty choose 3 23 0 12 -62784 -260818
+-258699;
+#X obj -40 146 tgl 45 0 empty empty play -45 23 0 12 -24198 -1 -258699
+0 1;
+#X msg 231 469 rewind;
+#X text 81 468 go to start of file;
+#X floatatom 340 560 15 0 0 0 current_tick - -;
+#X obj 75 292 hradio 15 1 0 16 empty empty track_number 0 -6 0 12 -62784
+-241291 -1 0;
+#X msg 75 313 dump \$1;
+#X msg 194 432 68050;
+#X msg 19 257 track \$1;
+#X obj 19 217 hradio 15 1 0 16 empty empty track_number 0 -6 0 12 -62784
+-241291 -1 0;
+#X obj -40 198 metro 2;
+#X text 24 535 creation arguments: midi_file_name;
+#X text 23 514 output only this track;
+#X text 138 312 parse this track to main window;
+#X msg 255 493 0;
+#X text 82 432 goto tick 68050;
+#X floatatom 104 701 5 0 0 0 note - -;
+#X floatatom 171 701 5 0 0 1 velocity - -;
+#X floatatom 315 615 15 0 0 0 last_tick - -;
+#X msg 151 389 verbose \$1;
+#X text -26 390 verbosity defaults to 1;
+#X text -97 2 1: choose a MIDI file to play;
+#X text 13 140 2: start playing it;
+#X obj 275 415 spigot;
+#X obj 314 381 tgl 25 0 empty empty loop -45 12 0 12 -4160 -257985
+-258113 0 1;
+#X msg -148 90 read \$1;
+#X floatatom 151 365 5 0 0 0 - - -;
+#X obj 151 346 hradio 15 1 0 4 empty empty verbosity 0 -6 0 12 -62784
+-241291 -1 0;
+#X obj 19 234 - 1;
+#X text 684 668 note off events;
+#X obj 275 533 midifile wowo.mid;
+#X obj -95 496 ctlout 123;
+#X msg -95 466 123;
+#X obj 275 640 route 144 145 146 147 148 149 150 151 152 153 154 155
+156 157 158 159;
+#X obj 104 676 unpack 0 0;
+#X obj 451 692 route 128 129 130 131 132 133 134 135 136 137 138 139
+140 141 142 143;
+#X msg -121 117 read I_Wanna_Be_Sedated.mid;
+#X obj -95 438 bng 15 250 50 0 empty empty all_notes_off 17 7 0 10
+-258113 -257985 -1;
+#X obj 453 573 t b b;
+#X floatatom -26 254 5 0 0 0 - - -;
+#X obj 499 588 bng 15 250 50 0 empty empty end 17 7 0 10 -258113 -257985
+-1;
+#X text 407 532 bangs at end of file:;
+#X obj -123 676 print note_on;
+#X obj -124 728 print note_off;
+#X floatatom 456 422 9 0 0 0 loop_start_tick - -;
+#X text 54 234 -1 = play all tracks;
+#X obj 315 593 f;
+#X text -18 562 MIDI messages are output as lists;
+#X text 111 639 select note on events:;
+#X obj 275 816 noteout 1;
+#X obj 346 816 noteout 2;
+#X obj 418 816 noteout 3;
+#X obj 489 816 noteout 4;
+#X text -78 746 select note on events:;
+#X obj 88 747 route 176 177 178 179 180 181 182 183 184 185 186 187
+188 189 190 191 192;
+#X floatatom 88 814 5 0 0 0 controller - -;
+#X floatatom 155 814 5 0 0 1 value - -;
+#X obj 88 789 unpack 0 0;
+#X obj -124 783 print controller;
+#X obj -26 861 ctlout 1;
+#X obj -32 835 f;
+#X obj -32 809 t b f;
+#X obj 499 553 route bang format tracks ticks_per_quarternote;
+#X obj 275 441 f 0;
+#X text 601 830 Martin Peach \, 2011;
+#X floatatom 578 585 3 0 0 1 format - -;
+#X floatatom 658 585 5 0 0 1 tracks - -;
+#X floatatom 738 585 5 0 0 1 ticks_per_quarternote - -;
+#X floatatom 263 55 5 0 0 1 tracks - -;
+#X symbolatom 427 105 40 0 0 0 - - -;
+#X obj 427 79 prepend set;
+#X obj 418 139 unpack 0 0;
+#X floatatom 485 192 15 0 0 0 last_tick - -;
+#X floatatom 418 165 5 0 0 1 track - -;
+#X floatatom 340 105 5 0 0 1 track - -;
+#X obj 340 79 unpack 0 s;
+#X obj 496 231 unpack 0 0 0 0;
+#X floatatom 496 299 3 0 0 1 / - -;
+#X floatatom 527 299 3 0 0 1 - - -;
+#X floatatom 559 268 5 0 0 1 clocks_per_click - -;
+#X floatatom 591 299 5 0 0 1 32nds_per_quarternote - -;
+#X floatatom 714 406 15 0 0 0 microsec_per_quarternote - -;
+#X obj 574 427 /;
+#X floatatom 715 447 15 0 0 0 microsec_per_tick - -;
+#X obj 574 468 / 1000;
+#X floatatom 574 499 15 0 0 0 millisec_per_tick - -;
+#X obj 740 105 print other_meta;
+#X obj 263 18 route seq_num name end time_sig microsec_per_quarternote
+;
+#X obj 652 76 route key_sig;
+#X obj 652 133 unpack 0 0 s;
+#X symbolatom 733 238 10 0 0 0 key - -;
+#X obj 733 212 prepend set;
+#X floatatom 652 162 5 0 0 1 +sharps/-flats - -;
+#X obj 692 191 tgl 15 0 empty empty minor 17 7 0 10 -262144 -1 -1 0
+1;
+#X connect 0 0 32 0;
+#X connect 1 0 27 0;
+#X connect 2 0 1 0;
+#X connect 3 0 12 0;
+#X connect 4 0 32 0;
+#X connect 7 0 8 0;
+#X connect 8 0 32 0;
+#X connect 9 0 32 0;
+#X connect 10 0 32 0;
+#X connect 11 0 30 0;
+#X connect 12 0 32 0;
+#X connect 16 0 32 0;
+#X connect 21 0 32 0;
+#X connect 25 0 65 0;
+#X connect 26 0 25 1;
+#X connect 27 0 32 0;
+#X connect 28 0 21 0;
+#X connect 29 0 28 0;
+#X connect 30 0 10 0;
+#X connect 30 0 41 0;
+#X connect 32 0 35 0;
+#X connect 32 0 56 0;
+#X connect 32 1 6 0;
+#X connect 32 1 48 1;
+#X connect 32 2 64 0;
+#X connect 34 0 33 0;
+#X connect 35 0 36 0;
+#X connect 35 0 44 0;
+#X connect 35 0 51 0;
+#X connect 35 1 52 0;
+#X connect 35 2 53 0;
+#X connect 35 3 54 0;
+#X connect 35 16 37 0;
+#X connect 36 0 18 0;
+#X connect 36 1 19 0;
+#X connect 37 0 45 0;
+#X connect 37 0 51 0;
+#X connect 37 1 52 0;
+#X connect 37 2 53 0;
+#X connect 37 3 54 0;
+#X connect 38 0 32 0;
+#X connect 39 0 34 0;
+#X connect 40 0 25 0;
+#X connect 40 1 48 0;
+#X connect 46 0 65 1;
+#X connect 48 0 20 0;
+#X connect 56 0 59 0;
+#X connect 56 0 60 0;
+#X connect 59 0 57 0;
+#X connect 59 0 63 0;
+#X connect 59 1 58 0;
+#X connect 59 1 62 1;
+#X connect 62 0 61 0;
+#X connect 63 0 62 0;
+#X connect 63 1 61 1;
+#X connect 64 0 42 0;
+#X connect 64 0 40 0;
+#X connect 64 1 67 0;
+#X connect 64 2 68 0;
+#X connect 64 3 69 0;
+#X connect 64 3 84 1;
+#X connect 64 4 89 0;
+#X connect 65 0 32 0;
+#X connect 72 0 71 0;
+#X connect 73 0 75 0;
+#X connect 73 1 74 0;
+#X connect 77 0 76 0;
+#X connect 77 1 72 0;
+#X connect 78 0 79 0;
+#X connect 78 1 80 0;
+#X connect 78 2 81 0;
+#X connect 78 3 82 0;
+#X connect 84 0 85 0;
+#X connect 84 0 86 0;
+#X connect 86 0 87 0;
+#X connect 89 0 70 0;
+#X connect 89 1 77 0;
+#X connect 89 2 73 0;
+#X connect 89 3 78 0;
+#X connect 89 4 83 0;
+#X connect 89 4 84 0;
+#X connect 89 5 90 0;
+#X connect 90 0 91 0;
+#X connect 90 1 88 0;
+#X connect 91 0 94 0;
+#X connect 91 1 95 0;
+#X connect 91 2 93 0;
+#X connect 93 0 92 0;
+#X restore 76 83 pd midifile_read;
+#X text 15 10 midifile reads and writes MIDI files.;
+#X text 152 170 2010/12/11 Martin Peach;
+#N canvas 404 184 494 344 META 0;
+#X text 12 185 HELP_PATCH_AUTHORS "pd meta" information added by Jonathan
+Wilkes for Pd version 0.42.;
+#X text 12 25 LICENSE GPL v2 or later;
+#X text 12 165 AUTHOR Martin Peach;
+#X text 12 5 KEYWORDS control MIDI;
+#X text 12 45 DESCRIPTION read and write MIDI files;
+#X text 12 65 INLET_0 bang float list rewind read track dump verbose
+write flush;
+#X text 12 105 OUTLET_0 list;
+#X text 12 125 OUTLET_1 float;
+#X text 12 145 OUTLET_2 bang;
+#X restore 335 202 pd META;

BIN
extra/mrpeach/midifile.dll


+ 7 - 0
extra/mrpeach/mrpeach-meta.pd

@@ -0,0 +1,7 @@
+#N canvas 18 212 200 200 10;
+#N canvas 28 50 420 300 META 1;
+#X text 13 61 NAME mrpeach;
+#X text 13 85 VERSION 0.2;
+#X text 13 129 AUTHOR Martin Peach;
+#X text 19 189 NOTE:;
+#X restore 10 10 pd META;

+ 6 - 0
extra/mrpeach/net-meta.pd

@@ -0,0 +1,6 @@
+#N canvas 17 107 200 200 10;
+#N canvas 486 145 761 300 META 1;
+#X text 10 5 VERSION 0.1;
+#X text 11 25 NAME net;
+#X text 9 45 AUTHOR Martin Peach martin.peach@sympatico.ca;
+#X restore 10 10 pd META;

+ 94 - 0
extra/mrpeach/op~-help.pd

@@ -0,0 +1,94 @@
+#N canvas 1 53 749 629 10;
+#X obj 152 267 dac~;
+#X obj 168 205 line~;
+#X obj 171 162 hsl 128 15 0 1 0 0 empty empty level -2 -8 0 10 -4034
+-13381 -1 0 1;
+#X msg 168 182 \$1 100;
+#X obj 153 230 *~;
+#X obj 154 99 op~ <;
+#X obj 180 -25 osc~ 120;
+#X obj 153 -46 osc~ 0.01;
+#X obj 154 125 lop~ 10000;
+#X obj -197 216 env~;
+#X floatatom -197 238 5 0 0 0 - - -;
+#X floatatom -196 148 5 0 0 0 - - -;
+#X floatatom -163 170 5 0 0 0 - - -;
+#X obj -196 194 op~ !=;
+#X text -197 94 op~ compares two inlet signals or floats according
+to the operator specified in the creation argument.;
+#X text -186 330 Author: Martin Peach \, 2010/03/23. Based on zexy
+[<~] etc.;
+#X msg 113 41 help;
+#X obj 361 133 op~ >=;
+#X obj 360 68 noise~;
+#X floatatom 394 102 5 0 0 0 - - -;
+#X obj 360 305 dac~;
+#X obj 376 243 line~;
+#X obj 379 200 hsl 128 15 0 1 0 0 empty empty level -2 -8 0 10 -4034
+-13381 -1 0 1;
+#X msg 376 220 \$1 100;
+#X obj 361 268 *~;
+#X obj 362 164 lop~ 100;
+#X msg 22 -50 op <;
+#X msg 42 -30 op >;
+#X msg 62 -10 op ==;
+#X msg 82 10 op !=;
+#X msg 2 -70 op <=;
+#X msg -20 -92 op >=;
+#X msg -105 -177 op ge;
+#X msg -125 -197 op le;
+#X msg -145 -217 op lt;
+#X msg -82 -154 op gt;
+#X msg -61 -133 op eq;
+#X msg -41 -113 op ne;
+#X msg -166 -238 op nop;
+#X text -98 40 Print a list of allowed operators:;
+#X text -148 -92 set operator to >=:;
+#N canvas 529 140 494 344 META 0;
+#X text 12 155 HELP_PATCH_AUTHORS "pd meta" information added by Jonathan
+Wilkes for Pd version 0.42.;
+#X text 12 25 LICENSE GPL v2 or later;
+#X text 12 135 AUTHOR Martin Peach;
+#X text 12 45 DESCRIPTION compare two inlet signals or floats according
+to the operator specified in the creation argument;
+#X text 12 75 INLET_0 signal op;
+#X text 12 95 INLET_1 signal;
+#X text 12 115 OUTLET_0 signal;
+#X text 12 5 KEYWORDS signal;
+#X restore 499 364 pd META;
+#X connect 1 0 4 1;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 4 0 0 1;
+#X connect 5 0 8 0;
+#X connect 6 0 5 1;
+#X connect 7 0 5 0;
+#X connect 8 0 4 0;
+#X connect 9 0 10 0;
+#X connect 11 0 13 0;
+#X connect 12 0 13 1;
+#X connect 13 0 9 0;
+#X connect 16 0 5 0;
+#X connect 17 0 25 0;
+#X connect 18 0 17 0;
+#X connect 19 0 17 1;
+#X connect 21 0 24 1;
+#X connect 22 0 23 0;
+#X connect 23 0 21 0;
+#X connect 24 0 20 0;
+#X connect 24 0 20 1;
+#X connect 25 0 24 0;
+#X connect 26 0 5 0;
+#X connect 27 0 5 0;
+#X connect 28 0 5 0;
+#X connect 29 0 5 0;
+#X connect 30 0 5 0;
+#X connect 31 0 5 0;
+#X connect 32 0 5 0;
+#X connect 33 0 5 0;
+#X connect 34 0 5 0;
+#X connect 35 0 5 0;
+#X connect 36 0 5 0;
+#X connect 37 0 5 0;
+#X connect 38 0 5 0;

+ 0 - 0
extra/mrpeach/op~.dll


Неке датотеке нису приказане због велике количине промена