diff options
95 files changed, 5698 insertions, 0 deletions
diff --git a/COPYING.txt b/COPYING.txt new file mode 100644 index 0000000..486449c --- /dev/null +++ b/COPYING.txt @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <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 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/Example-Patches/Preset-Animation-Example.pd b/Example-Patches/Preset-Animation-Example.pd new file mode 100644 index 0000000..bb6b5d7 --- /dev/null +++ b/Example-Patches/Preset-Animation-Example.pd @@ -0,0 +1,94 @@ +#N canvas 447 137 737 616 10; +#X obj 12 41 pt.window 60; +#X obj 12 273 pt.interp; +#X obj 160 132 pt.translate; +#X obj 160 388 pt.video; +#X obj 160 59 pt.fader; +#X obj 300 388 pt.video; +#X obj 300 132 pt.translate; +#X obj 160 201 pt.rotate; +#X obj 300 201 pt.rotate; +#X obj 440 464 pt.video; +#X obj 440 59 pt.feedback; +#X obj 440 261 pt.rotate; +#X obj 440 192 pt.translate; +#X obj 160 270 pt.squeeze; +#X obj 160 339 pt.scale; +#X obj 300 339 pt.scale; +#X obj 13 388 pt.presets; +#X obj 160 36 pt.layer 1; +#X obj 440 36 pt.layer 3; +#X obj 300 36 pt.layer 2; +#X obj 300 59 pt.fader; +#X obj 300 270 pt.squeeze; +#X text 18 5 Preset Animation Example pixelTANGO CVS: $Revision: 1.1 $ $Date: 2005-11-26 22:21:06 $ +; +#X text 32 473 1 Load the Animation-presets.dat preset file; +#X text 32 493 2 Select preset-01; +#X text 32 513 3 Create the render-window; +#X text 32 533 4 Switch back and forth between preset-01 and preset-02 +OR press the toggle ----------------------------------------->; +#X obj 13 365 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 478 529 tgl 30 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 13 340 metro 3000; +#X obj 580 464 pt.video; +#X obj 580 59 pt.feedback; +#X obj 580 261 pt.rotate; +#X obj 580 192 pt.translate; +#X obj 580 36 pt.layer 4; +#X obj 440 334 pt.fader; +#X obj 440 415 pt.scale; +#X obj 580 334 pt.fader; +#X obj 580 415 pt.scale; +#X connect 2 0 7 0; +#X connect 2 1 7 1; +#X connect 4 0 2 0; +#X connect 4 2 2 1; +#X connect 6 0 8 0; +#X connect 6 1 8 1; +#X connect 7 0 13 0; +#X connect 7 1 13 1; +#X connect 8 0 21 0; +#X connect 8 1 21 1; +#X connect 10 0 12 0; +#X connect 10 1 12 1; +#X connect 11 0 35 0; +#X connect 11 1 35 1; +#X connect 12 0 11 0; +#X connect 12 1 11 1; +#X connect 13 0 14 0; +#X connect 13 1 14 1; +#X connect 14 0 3 0; +#X connect 14 1 3 1; +#X connect 15 0 5 0; +#X connect 15 1 5 1; +#X connect 17 0 4 0; +#X connect 17 1 4 1; +#X connect 18 0 10 0; +#X connect 18 1 10 1; +#X connect 19 0 20 0; +#X connect 19 1 20 1; +#X connect 20 0 6 0; +#X connect 20 2 6 1; +#X connect 21 0 15 0; +#X connect 21 1 15 1; +#X connect 27 0 16 0; +#X connect 28 0 29 0; +#X connect 29 0 27 0; +#X connect 31 0 33 0; +#X connect 31 1 33 1; +#X connect 32 0 37 0; +#X connect 32 1 37 1; +#X connect 33 0 32 0; +#X connect 33 1 32 1; +#X connect 34 0 31 0; +#X connect 34 1 31 1; +#X connect 35 0 36 0; +#X connect 35 2 9 1; +#X connect 36 0 9 0; +#X connect 37 0 38 0; +#X connect 37 2 38 1; +#X connect 38 0 30 0; +#X connect 38 1 30 1; diff --git a/Example-Patches/Two-Layer-Example.pd b/Example-Patches/Two-Layer-Example.pd new file mode 100644 index 0000000..2159ae2 --- /dev/null +++ b/Example-Patches/Two-Layer-Example.pd @@ -0,0 +1,63 @@ +#N canvas 617 54 503 725 10; +#X obj 31 45 pt.window; +#X obj 31 407 pt.interp; +#X obj 31 271 pt.light 1; +#X text 17 5 Two Channel Mixer Example pixelTANGO CVS: $Revision: 1.1 $ $Date: 2005-11-26 22:21:06 $ +; +#X obj 31 473 pt.presets; +#X obj 194 186 pt.loop; +#X obj 194 643 pt.scale; +#X obj 194 689 pt.video; +#X obj 194 328 pt.source; +#X obj 194 70 pt.filelist; +#X obj 194 364 pt.layerfx; +#X obj 194 497 pt.translate; +#X obj 194 570 pt.rotate; +#X obj 194 418 pt.fader; +#X obj 334 186 pt.loop; +#X obj 334 642 pt.scale; +#X obj 334 70 pt.filelist; +#X obj 334 364 pt.layerfx; +#X obj 334 497 pt.translate; +#X obj 334 570 pt.rotate; +#X obj 334 418 pt.fader; +#X obj 334 328 pt.source; +#X obj 334 688 pt.video; +#X obj 194 44 pt.layer 1; +#X obj 334 44 pt.layer 2; +#X connect 5 0 8 0; +#X connect 5 1 8 1; +#X connect 6 0 7 0; +#X connect 6 1 7 1; +#X connect 8 0 10 0; +#X connect 8 1 10 1; +#X connect 9 0 5 0; +#X connect 9 1 5 1; +#X connect 10 0 13 0; +#X connect 10 1 13 1; +#X connect 11 0 12 0; +#X connect 11 1 12 1; +#X connect 12 0 6 0; +#X connect 12 1 6 1; +#X connect 13 0 11 0; +#X connect 13 2 11 1; +#X connect 14 0 21 0; +#X connect 14 1 21 1; +#X connect 15 0 22 0; +#X connect 15 1 22 1; +#X connect 16 0 14 0; +#X connect 16 1 14 1; +#X connect 17 0 20 0; +#X connect 17 1 20 1; +#X connect 18 0 19 0; +#X connect 18 1 19 1; +#X connect 19 0 15 0; +#X connect 19 1 15 1; +#X connect 20 0 18 0; +#X connect 20 2 18 1; +#X connect 21 0 17 0; +#X connect 21 1 17 1; +#X connect 23 0 9 0; +#X connect 23 1 9 1; +#X connect 24 0 16 0; +#X connect 24 1 16 1; diff --git a/Example-Patches/Typical-Example-Feedback.pd b/Example-Patches/Typical-Example-Feedback.pd new file mode 100644 index 0000000..d7ab4c1 --- /dev/null +++ b/Example-Patches/Typical-Example-Feedback.pd @@ -0,0 +1,114 @@ +#N canvas 188 84 1039 708 10; +#X obj 194 128 pt.layerfx; +#X obj 194 329 pt.rotate; +#X obj 49 707 pt.dualfx; +#X obj 669 468 pt.model; +#X obj 524 378 pt.rotate; +#X obj 669 348 pt.rotate; +#X obj 524 305 pt.translate; +#X obj 524 227 pt.fader; +#X obj 364 198 pt.loop; +#X obj 524 498 pt.text; +#X obj 364 341 pt.source; +#X obj 364 645 pt.scale; +#X obj 194 402 pt.scale; +#X obj 524 451 pt.scale; +#X obj 669 421 pt.scale; +#X obj 21 415 pt.interp; +#X obj 194 257 pt.translate; +#X obj 364 509 pt.translate; +#X obj 669 275 pt.translate; +#X obj 194 181 pt.fader; +#X obj 364 432 pt.fader; +#X obj 669 198 pt.fader; +#X obj 21 279 pt.light 1; +#X obj 364 378 pt.layerfx; +#X obj 21 53 pt.window; +#X obj 364 582 pt.rotate; +#X obj 194 92 pt.live 640 480; +#X obj 524 80 pt.entry; +#X obj 194 54 pt.layer 1; +#X obj 364 54 pt.layer 2; +#X obj 364 692 pt.video; +#X obj 194 449 pt.video; +#X obj 817 53 pt.layer 5; +#X obj 817 338 pt.rotate; +#X obj 817 265 pt.translate; +#X obj 817 486 pt.video; +#X obj 817 80 pt.feedback; +#X obj 817 411 pt.squeeze; +#X obj 817 187 pt.fader; +#X obj 524 53 pt.layer 3; +#X obj 669 54 pt.layer 4; +#X text 18 6 Typical Example with Feedback Layer pixelTANGO CVS: $Revision: 1.1 $ +$Date: 2005-11-26 22:21:06 $; +#X obj 364 81 pt.filelist; +#X obj 669 81 pt.filelist; +#X connect 0 0 19 0; +#X connect 0 1 19 1; +#X connect 1 0 12 0; +#X connect 1 1 12 1; +#X connect 4 0 13 0; +#X connect 4 1 13 1; +#X connect 5 0 14 0; +#X connect 5 1 14 1; +#X connect 6 0 4 0; +#X connect 6 1 4 1; +#X connect 7 0 6 0; +#X connect 7 2 6 1; +#X connect 8 0 10 0; +#X connect 8 1 10 1; +#X connect 10 0 23 0; +#X connect 10 1 23 1; +#X connect 11 0 30 0; +#X connect 11 1 30 1; +#X connect 12 0 31 0; +#X connect 12 1 31 1; +#X connect 13 0 9 0; +#X connect 13 1 9 1; +#X connect 14 0 3 0; +#X connect 14 1 3 1; +#X connect 16 0 1 0; +#X connect 16 1 1 1; +#X connect 17 0 25 0; +#X connect 17 1 25 1; +#X connect 18 0 5 0; +#X connect 18 1 5 1; +#X connect 19 0 16 0; +#X connect 19 2 16 1; +#X connect 20 0 17 0; +#X connect 20 2 17 1; +#X connect 21 0 18 0; +#X connect 21 2 18 1; +#X connect 23 0 20 0; +#X connect 23 1 20 1; +#X connect 25 0 11 0; +#X connect 25 1 11 1; +#X connect 26 0 0 0; +#X connect 26 1 0 1; +#X connect 27 0 7 0; +#X connect 27 1 7 1; +#X connect 28 0 26 0; +#X connect 28 1 26 1; +#X connect 29 0 42 0; +#X connect 29 1 42 1; +#X connect 32 0 36 0; +#X connect 32 1 36 1; +#X connect 33 0 37 0; +#X connect 33 1 37 1; +#X connect 34 0 33 0; +#X connect 34 1 33 1; +#X connect 36 0 38 0; +#X connect 36 1 38 1; +#X connect 37 0 35 0; +#X connect 37 1 35 1; +#X connect 38 0 34 0; +#X connect 38 2 34 1; +#X connect 39 0 27 0; +#X connect 39 1 27 1; +#X connect 40 0 43 0; +#X connect 40 1 43 1; +#X connect 42 0 8 0; +#X connect 42 1 8 1; +#X connect 43 0 21 0; +#X connect 43 1 21 1; diff --git a/Example-Patches/Typical-Example-Presets.pd b/Example-Patches/Typical-Example-Presets.pd new file mode 100644 index 0000000..826e4c6 --- /dev/null +++ b/Example-Patches/Typical-Example-Presets.pd @@ -0,0 +1,97 @@ +#N canvas 221 38 895 753 10; +#X obj 194 128 pt.layerfx; +#X obj 194 329 pt.rotate; +#X obj 194 449 pt.video; +#X obj 364 702 pt.video; +#X obj 524 80 pt.entry; +#X obj 669 468 pt.model; +#X obj 194 54 pt.layer 1; +#X obj 524 378 pt.rotate; +#X obj 669 348 pt.rotate; +#X obj 524 305 pt.translate; +#X obj 524 227 pt.fader; +#X obj 364 198 pt.loop; +#X obj 524 498 pt.text; +#X obj 364 54 pt.layer 2; +#X obj 669 54 pt.layer 5; +#X obj 524 53 pt.layer 4; +#X obj 364 341 pt.source; +#X obj 364 655 pt.scale; +#X obj 194 402 pt.scale; +#X obj 524 451 pt.scale; +#X obj 669 421 pt.scale; +#X obj 21 405 pt.interp; +#X obj 194 257 pt.translate; +#X obj 364 509 pt.translate; +#X obj 669 275 pt.translate; +#X obj 194 181 pt.fader; +#X obj 364 432 pt.fader; +#X obj 669 198 pt.fader; +#X obj 21 269 pt.light 1; +#X obj 364 378 pt.layerfx; +#X obj 21 53 pt.window; +#X obj 364 582 pt.rotate; +#X obj 194 92 pt.live 640 480; +#X obj 21 459 pt.presets; +#X text 46 559 2 Create window and start rendering; +#X text 46 579 3 Choose "preset-01" and "preset-02"; +#X text 18 5 Typical Example pixelTANGO CVS: $Revision: 1.1 $ $Date: 2005-11-26 22:21:06 $; +#X text 25 539 ^^ 1 Load the "Typical-presets.dat" file; +#X obj 364 81 pt.filelist; +#X obj 669 81 pt.filelist; +#X connect 0 0 25 0; +#X connect 0 1 25 1; +#X connect 1 0 18 0; +#X connect 1 1 18 1; +#X connect 4 0 10 0; +#X connect 4 1 10 1; +#X connect 6 0 32 0; +#X connect 6 1 32 1; +#X connect 7 0 19 0; +#X connect 7 1 19 1; +#X connect 8 0 20 0; +#X connect 8 1 20 1; +#X connect 9 0 7 0; +#X connect 9 1 7 1; +#X connect 10 0 9 0; +#X connect 10 2 9 1; +#X connect 11 0 16 0; +#X connect 11 1 16 1; +#X connect 13 0 38 0; +#X connect 13 1 38 1; +#X connect 14 0 39 0; +#X connect 14 1 39 1; +#X connect 15 0 4 0; +#X connect 15 1 4 1; +#X connect 16 0 29 0; +#X connect 16 1 29 1; +#X connect 17 0 3 0; +#X connect 17 1 3 1; +#X connect 18 0 2 0; +#X connect 18 1 2 1; +#X connect 19 0 12 0; +#X connect 19 1 12 1; +#X connect 20 0 5 0; +#X connect 20 1 5 1; +#X connect 22 0 1 0; +#X connect 22 1 1 1; +#X connect 23 0 31 0; +#X connect 23 1 31 1; +#X connect 24 0 8 0; +#X connect 24 1 8 1; +#X connect 25 0 22 0; +#X connect 25 2 22 1; +#X connect 26 0 23 0; +#X connect 26 2 23 1; +#X connect 27 0 24 0; +#X connect 27 2 24 1; +#X connect 29 0 26 0; +#X connect 29 1 26 1; +#X connect 31 0 17 0; +#X connect 31 1 17 1; +#X connect 32 0 0 0; +#X connect 32 1 0 1; +#X connect 38 0 11 0; +#X connect 38 1 11 1; +#X connect 39 0 27 0; +#X connect 39 1 27 1; diff --git a/Example-Patches/Typical-Example.pd b/Example-Patches/Typical-Example.pd new file mode 100644 index 0000000..a38d0d8 --- /dev/null +++ b/Example-Patches/Typical-Example.pd @@ -0,0 +1,95 @@ +#N canvas 291 46 895 753 10; +#X obj 194 344 pt.rotate; +#X obj 194 464 pt.video; +#X obj 364 701 pt.video; +#X obj 524 80 pt.entry; +#X obj 669 468 pt.model; +#X obj 194 54 pt.layer 1; +#X obj 524 378 pt.rotate; +#X obj 669 348 pt.rotate; +#X obj 524 305 pt.translate; +#X obj 524 227 pt.fader; +#X obj 364 197 pt.loop; +#X obj 524 498 pt.text; +#X obj 364 54 pt.layer 2; +#X obj 669 54 pt.layer 5; +#X obj 524 53 pt.layer 4; +#X obj 364 340 pt.source; +#X obj 364 654 pt.scale; +#X obj 194 417 pt.scale; +#X obj 524 451 pt.scale; +#X obj 669 421 pt.scale; +#X obj 21 415 pt.interp; +#X obj 194 272 pt.translate; +#X obj 364 508 pt.translate; +#X obj 669 275 pt.translate; +#X obj 194 196 pt.fader; +#X obj 364 431 pt.fader; +#X obj 669 198 pt.fader; +#X obj 21 279 pt.light 1; +#X obj 21 53 pt.window; +#X obj 364 581 pt.rotate; +#X text 18 6 Typical Example pixelTANGO CVS: $Revision: 1.1 $ $Date: 2005-11-26 22:21:06 $; +#X obj 194 143 pt.layerfx; +#X obj 364 377 pt.layerfx; +#X obj 364 81 pt.filelist; +#X obj 669 81 pt.filelist; +#X obj 194 107 pt.live 640 480; +#X msg 204 84 reset; +#X connect 0 0 17 0; +#X connect 0 1 17 1; +#X connect 3 0 9 0; +#X connect 3 1 9 1; +#X connect 5 0 35 0; +#X connect 5 1 35 1; +#X connect 6 0 18 0; +#X connect 6 1 18 1; +#X connect 7 0 19 0; +#X connect 7 1 19 1; +#X connect 8 0 6 0; +#X connect 8 1 6 1; +#X connect 9 0 8 0; +#X connect 9 2 8 1; +#X connect 10 0 15 0; +#X connect 10 1 15 1; +#X connect 12 0 33 0; +#X connect 12 1 33 1; +#X connect 13 0 34 0; +#X connect 13 1 34 1; +#X connect 14 0 3 0; +#X connect 14 1 3 1; +#X connect 15 0 32 0; +#X connect 15 1 32 1; +#X connect 16 0 2 0; +#X connect 16 1 2 1; +#X connect 17 0 1 0; +#X connect 17 1 1 1; +#X connect 18 0 11 0; +#X connect 18 1 11 1; +#X connect 19 0 4 0; +#X connect 19 1 4 1; +#X connect 21 0 0 0; +#X connect 21 1 0 1; +#X connect 22 0 29 0; +#X connect 22 1 29 1; +#X connect 23 0 7 0; +#X connect 23 1 7 1; +#X connect 24 0 21 0; +#X connect 24 2 21 1; +#X connect 25 0 22 0; +#X connect 25 2 22 1; +#X connect 26 0 23 0; +#X connect 26 2 23 1; +#X connect 29 0 16 0; +#X connect 29 1 16 1; +#X connect 31 0 24 0; +#X connect 31 1 24 1; +#X connect 32 0 25 0; +#X connect 32 1 25 1; +#X connect 33 0 10 0; +#X connect 33 1 10 1; +#X connect 34 0 26 0; +#X connect 34 1 26 1; +#X connect 35 0 31 0; +#X connect 35 1 31 1; +#X connect 36 0 35 0; diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..546e546 --- /dev/null +++ b/README.txt @@ -0,0 +1,70 @@ +This is the readme for the pre-release of pixelTANGO. +pixelTANGO CVS Release $Revision: 1.1 $ $Date: 2005-11-26 22:21:06 $ + +PixelTANGO is a set of abstractions and patches that make use +of pd/Gem for creating visuals in a live performance setting. +Of course it can be used for many other things and provides +an interface to use the power of pd/Gem with a less-steep +learning curve. + +PixelTANGO was written by Ben Bogart and Franz Hildgen @ +The SociŽtŽ des arts technologiques (SAT) as part of the +Territoires Ouverts / Open Territories (TOT) project funded +by Heritage Canada. + +For more information: http://www.tot.sat.qc.ca + +pixelTANGO is Copyright Ben Bogart, Franz Hildgen and The +SociŽtŽ des arts technologiques. + +This is a pre-release, and not an official release supported +by the SAT. There are many bugs and the software is incomplete. +Nevertheless it is quite usable and will be the basis of future +releases. + +This program is distributed under the terms of the GNU General Public +License + +PixelTANGO is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +PixelTANGO 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 PixelTANGO; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +USAGE: + +Note this release is only supported by MacOSX (tested on 10.3) the +required externals are available under linux, and the patches should +be fully linux compatible. Feel free to take a crack at running it +under linux. + +You must have PD/Gem installed to use pixelTANGO. +Choose a place for PixelTANGO /usr/local/lib/pd seems natural. +Add the "externals" folder to your PD path. +Add the "abstractions" folder to your PD path. +Add the "abstractions-memento" folder to your PD path. +Add the "scripts" folder to your PD path. + +Run PD will flags such as: + +pd -rt -helppath /usr/local/lib/pd/PixelTANGO-release-0.1/help -path /usr/local/lib/pd/PixelTANGO-release-0.1/abstractions/ -path /usr/local/lib/pd/PixelTANGO-release-0.1/abstractions-memento -path /usr/local/lib/pd/PixelTANGO-release-0.1/externals/ -path /usr/local/lib/pd/PixelTANGO-release-0.1/scripts -nosound -nomidi -lib Gem:zexy:OSC:py + +Linux uses note that pixelTANGO has hard-coded directories for OSX in +pt.entry and pt.layerfx. Open these files in an editor and change the +"/Applications/..." paths to reflect where your fonts (for pt.entry) +and fx/ abstractions (for pt.layerfx) are located. + +Try the included Example-Patches and give it a go. To get a run of +existing PixelTANGO modules open the PixelTANGO-help.pd file. Help +For each abstraction is available through the usual Right-Click or +Bouble-Click menu. + +Have fun! diff --git a/abstractions/arrayRouterIn.pd b/abstractions/arrayRouterIn.pd new file mode 100644 index 0000000..f887db0 --- /dev/null +++ b/abstractions/arrayRouterIn.pd @@ -0,0 +1,21 @@ +#N canvas 218 167 502 352 10; +#X obj 110 129 r \$2-selector; +#X obj 13 249 spigot; +#X obj 13 93 r \$2-in; +#X text 8 9 this abstraction deals with routing the global input if +this is the selected abstraction.; +#X obj 13 274 outlet; +#X text 12 44 The first argument is the selector ID starting at 0 (generated +by dir2abstractionArray) and the second argument is the \$0 variable +for locality.; +#X obj 110 155 == \$1; +#X obj 153 249 spigot; +#X obj 153 274 outlet; +#X obj 153 93 r \$2-in2; +#X connect 0 0 6 0; +#X connect 1 0 4 0; +#X connect 2 0 1 0; +#X connect 6 0 1 1; +#X connect 6 0 7 1; +#X connect 7 0 8 0; +#X connect 9 0 7 0; diff --git a/abstractions/arrayRouterOut.pd b/abstractions/arrayRouterOut.pd new file mode 100644 index 0000000..8fc86a4 --- /dev/null +++ b/abstractions/arrayRouterOut.pd @@ -0,0 +1,19 @@ +#N canvas 552 368 453 387 10; +#X text 8 9 this abstraction deals with routing the global input if +this is the selected abstraction.; +#X obj 18 77 inlet; +#X text 13 43 The only argument is the \$0 variable for locality.; +#X obj 158 77 inlet; +#X obj 18 249 spigot; +#X obj 115 155 == \$1; +#X obj 158 249 spigot; +#X obj 18 313 s \$2-out; +#X obj 158 313 s \$2-out2; +#X obj 115 129 r \$2-selector; +#X connect 1 0 4 0; +#X connect 3 0 6 0; +#X connect 4 0 7 0; +#X connect 5 0 4 1; +#X connect 5 0 6 1; +#X connect 6 0 8 0; +#X connect 9 0 5 0; diff --git a/abstractions/cclearn.pd b/abstractions/cclearn.pd new file mode 100644 index 0000000..f2488c8 --- /dev/null +++ b/abstractions/cclearn.pd @@ -0,0 +1,80 @@ +#N canvas 663 22 592 506 10; +#X obj 117 91 ctlin; +#X obj 61 266 f; +#X text 88 265 CC; +#X obj 144 271 f; +#X text 172 269 Channel; +#X obj 193 400 spigot; +#X obj 45 290 ==; +#X obj 411 124 select 0 1; +#X obj 380 286 invert; +#X obj 128 298 ==; +#X obj 83 319 &&; +#X obj 402 153 t b b; +#X text 132 471 If We're not in learn mode && CC+CH match then pass +number; +#X text 133 457 If we're in learn mode don't pass number; +#X msg 443 153 0; +#X obj 139 347 &&; +#X obj 244 130 f; +#X obj 274 130 f; +#X obj 265 168 spigot; +#X obj 315 168 spigot; +#X obj 380 78 f; +#X obj 193 431 outlet; +#X obj 380 55 inlet; +#X obj 265 188 outlet; +#X obj 315 188 outlet; +#X obj 266 46 inlet; +#X obj 306 46 inlet; +#X text 266 27 CC; +#X text 305 27 Chan; +#X text 412 79 Learn; +#X obj 138 26 unpack f f f; +#X obj 138 4 inlet; +#X obj 213 77 t b b b; +#X obj 212 130 f; +#X connect 0 0 1 1; +#X connect 0 0 6 0; +#X connect 0 0 18 0; +#X connect 0 1 3 1; +#X connect 0 1 9 0; +#X connect 0 1 19 0; +#X connect 0 2 5 0; +#X connect 1 0 6 1; +#X connect 3 0 9 1; +#X connect 5 0 21 0; +#X connect 6 0 10 0; +#X connect 7 0 11 0; +#X connect 7 1 14 0; +#X connect 8 0 15 1; +#X connect 9 0 10 1; +#X connect 10 0 5 1; +#X connect 11 0 1 0; +#X connect 11 1 3 0; +#X connect 14 0 5 1; +#X connect 15 0 5 1; +#X connect 16 0 6 0; +#X connect 16 0 1 1; +#X connect 16 0 18 0; +#X connect 17 0 3 1; +#X connect 17 0 9 0; +#X connect 17 0 19 0; +#X connect 18 0 23 0; +#X connect 19 0 24 0; +#X connect 20 0 7 0; +#X connect 20 0 8 0; +#X connect 20 0 18 1; +#X connect 20 0 19 1; +#X connect 22 0 20 0; +#X connect 25 0 6 1; +#X connect 26 0 9 1; +#X connect 30 0 16 1; +#X connect 30 0 32 0; +#X connect 30 1 17 1; +#X connect 30 2 33 1; +#X connect 31 0 30 0; +#X connect 32 0 33 0; +#X connect 32 1 16 0; +#X connect 32 2 17 0; +#X connect 33 0 5 0; diff --git a/abstractions/createOscName.pd b/abstractions/createOscName.pd new file mode 100644 index 0000000..c4ec111 --- /dev/null +++ b/abstractions/createOscName.pd @@ -0,0 +1,33 @@ +#N canvas 180 174 375 395 10; +#X text 11 7 Create OSC name for this abstraction; +#X obj 53 264 list2osc; +#X text 19 342 OSC Name: /pt/1/pt.fader/1; +#X text 89 355 /pt/[layer]/pt.fader/[instance]; +#X text 11 24 createOscName [abstractioName]; +#X obj 114 69 inlet; +#X obj 114 100 route layerNum instance; +#X obj 53 69 inlet; +#X obj 53 100 bang; +#X obj 79 193 pack f f s; +#X obj 169 174 symbol \$1; +#X obj 169 151 loadbang; +#X obj 53 243 lister; +#X msg 79 214 list pt \$1 \$3 \$2; +#X obj 53 285 outlet; +#X obj 111 163 f; +#X obj 53 136 t b b b; +#X connect 1 0 14 0; +#X connect 5 0 6 0; +#X connect 6 0 9 0; +#X connect 6 1 15 0; +#X connect 7 0 8 0; +#X connect 8 0 16 0; +#X connect 9 0 13 0; +#X connect 10 0 9 2; +#X connect 11 0 10 0; +#X connect 12 0 1 0; +#X connect 13 0 12 1; +#X connect 15 0 9 1; +#X connect 16 0 12 0; +#X connect 16 1 9 0; +#X connect 16 2 15 0; diff --git a/abstractions/dir2abstractionArray.pd b/abstractions/dir2abstractionArray.pd new file mode 100644 index 0000000..2011e75 --- /dev/null +++ b/abstractions/dir2abstractionArray.pd @@ -0,0 +1,115 @@ +#N canvas 393 22 707 710 10; +#X obj 362 408 + 10; +#X obj 365 363 t f f; +#X obj 392 341 + 1; +#X obj 336 318 t a b; +#X obj 360 341 f 0; +#X msg 382 318 0; +#X text 453 221 reset; +#X obj 409 437 f \$0; +#X obj 362 387 * 120; +#X obj 455 240 loadbang; +#X obj 336 297 stripExtension; +#X obj 18 167 inlet; +#X obj 28 190 s \$0-in; +#X obj 28 403 r \$0-out; +#X obj 18 426 outlet; +#X obj 241 115 inlet; +#X obj 467 314 makesymbol pd-%s-array; +#X obj 467 294 f \$0; +#N canvas 198 331 842 530 1590-array 0; +#X restore 19 455 pd \$0-array; +#X obj 313 158 t a b; +#X obj 464 178 s \$0-selector; +#X obj 446 149 inlet; +#X obj 525 441 outlet; +#X text 281 114 which Abst to route through?; +#X text 528 459 List of options; +#X obj 525 421 prepend Passthrough; +#X obj 18 373 spigot; +#X msg 363 182 1; +#X obj 430 178 == 0; +#X obj 382 437 + 1; +#X obj 106 167 inlet; +#X obj 106 426 outlet; +#X obj 106 373 spigot; +#X obj 116 190 s \$0-in2; +#X obj 116 403 r \$0-out2; +#X obj 241 631 makesymbol pd-%s-array; +#X msg 241 651 \; \$1 clear; +#X obj 241 611 f \$0; +#X obj 241 186 route clear; +#X obj 336 470 pack s f f f s f; +#X obj 443 437 f \$1; +#X obj 456 262 t b b b; +#X msg 336 496 \; \$5 obj \$2 10 \$1 \$3 \$4 \$6; +#X text 14 10 This abstraction takes a glob pattern in a directory +and creates an array of the abstractions in that folder in an internal +subpatch called [pd \$0-array]. The abstractions are meant to be routing +objects so they all have a global receive and send \, but only one +abstraction in the array at a time will receive input. The abstractions +must contain at least a arrayRouterIn abstraction to broker the communication. +; +#X obj 313 210 dirlist; +#X msg 313 533 symbol \$1; +#X obj 313 254 drip; +#X obj 313 553 stripPath; +#X obj 313 275 t l l; +#X obj 313 573 makesymbol pd-%s; +#X msg 313 593 \; \$1 loadbang; +#X text 407 600 <- Special Thanks to Roman Haefeli; +#X connect 0 0 39 1; +#X connect 1 0 8 0; +#X connect 1 1 29 0; +#X connect 2 0 4 1; +#X connect 3 0 39 0; +#X connect 3 1 4 0; +#X connect 4 0 2 0; +#X connect 4 0 1 0; +#X connect 5 0 4 1; +#X connect 7 0 39 3; +#X connect 8 0 0 0; +#X connect 9 0 5 0; +#X connect 9 0 27 0; +#X connect 9 0 41 0; +#X connect 10 0 3 0; +#X connect 11 0 12 0; +#X connect 11 0 26 0; +#X connect 13 0 14 0; +#X connect 15 0 19 0; +#X connect 16 0 39 4; +#X connect 17 0 16 0; +#X connect 19 0 38 0; +#X connect 19 1 17 0; +#X connect 19 1 5 0; +#X connect 19 1 27 0; +#X connect 21 0 20 0; +#X connect 21 0 28 0; +#X connect 25 0 22 0; +#X connect 26 0 14 0; +#X connect 27 0 26 1; +#X connect 27 0 32 1; +#X connect 28 0 26 1; +#X connect 28 0 32 1; +#X connect 29 0 39 2; +#X connect 30 0 32 0; +#X connect 30 0 33 0; +#X connect 32 0 31 0; +#X connect 34 0 31 0; +#X connect 35 0 36 0; +#X connect 37 0 35 0; +#X connect 38 0 37 0; +#X connect 38 1 44 0; +#X connect 39 0 42 0; +#X connect 40 0 39 5; +#X connect 41 0 7 0; +#X connect 41 1 17 0; +#X connect 41 2 40 0; +#X connect 44 0 25 0; +#X connect 44 0 46 0; +#X connect 45 0 47 0; +#X connect 46 0 48 0; +#X connect 47 0 49 0; +#X connect 48 0 45 0; +#X connect 48 1 10 0; +#X connect 49 0 50 0; diff --git a/abstractions/dirlist.pd b/abstractions/dirlist.pd new file mode 100644 index 0000000..45946df --- /dev/null +++ b/abstractions/dirlist.pd @@ -0,0 +1,36 @@ +#N canvas 133 243 538 370 10; +#X obj 20 61 inlet; +#X obj 20 234 outlet; +#X obj 215 84 loadbang; +#X text 129 200 \$1 is pattern \$2 is dir; +#N canvas 0 22 462 312 pwd 0; +#X text 18 27 This is where used to be.; +#X obj 35 92 inlet; +#X obj 41 184 outlet; +#X obj 48 153 symbol /; +#X connect 1 0 3 0; +#X connect 3 0 2 0; +#X restore 215 123 pd pwd; +#X text 15 284 ONLY sends absolute pathnames \, otherwise hard to add +before load!; +#X msg 54 175 \$1 \$2; +#X obj 20 210 py pt dirlist; +#X obj 20 84 route pattern set-dir bang; +#X obj 54 154 pack s s; +#X obj 125 122 symbol \$2; +#X obj 54 122 symbol \$1; +#X text 20 17 Lists the files in a set with 'set-dir' selector. Sends +the files matching 'pattern' selector as a list. Requires PWD to provide +a reasonable default location.; +#X connect 0 0 8 0; +#X connect 2 0 4 0; +#X connect 4 0 9 1; +#X connect 6 0 7 1; +#X connect 7 0 1 0; +#X connect 8 0 11 0; +#X connect 8 1 10 0; +#X connect 8 2 10 0; +#X connect 8 2 11 0; +#X connect 9 0 6 0; +#X connect 10 0 9 1; +#X connect 11 0 9 0; diff --git a/abstractions/dirpanel.pd b/abstractions/dirpanel.pd new file mode 100644 index 0000000..fec4612 --- /dev/null +++ b/abstractions/dirpanel.pd @@ -0,0 +1,13 @@ +#N canvas 500 454 458 308 10; +#X obj 39 130 tot .; +#X msg 39 105 query tk_chooseDirectory; +#X obj 39 54 inlet; +#X obj 39 78 bang; +#X obj 39 155 tosymbol; +#X obj 39 180 outlet; +#X text 16 9 Sends the pathname of a directory on bang; +#X connect 0 0 4 0; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 5 0; diff --git a/abstractions/fx/edge.pd b/abstractions/fx/edge.pd new file mode 100644 index 0000000..2389dae --- /dev/null +++ b/abstractions/fx/edge.pd @@ -0,0 +1,31 @@ +#N canvas 454 228 536 486 10; +#X obj 181 254 + 1; +#X obj 184 230 * 7; +#X obj 131 241 * -1; +#X msg 131 299 \$1 \$1 \$1 \$1 \$2 \$1 \$1 \$1 \$1; +#X obj 131 276 pack f f; +#X obj 140 208 t f f; +#X text 26 14 Edge Detection abstraction; +#X text 25 55 Gemchain; +#X text 124 62 fxAmount 0-1; +#X obj 24 375 arrayRouterOut \$1 \$2; +#X obj 24 81 arrayRouterIn \$1 \$2; +#X obj 24 323 pix_convolve 3 3; +#X obj 166 81 inlet; +#X obj 37 295 inlet; +#X obj 144 144 interp1; +#X obj 44 351 outlet; +#X connect 0 0 4 1; +#X connect 1 0 0 0; +#X connect 2 0 4 0; +#X connect 3 0 11 2; +#X connect 4 0 3 0; +#X connect 5 0 2 0; +#X connect 5 1 1 0; +#X connect 10 0 11 0; +#X connect 10 1 14 0; +#X connect 11 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 14 0; +#X connect 13 0 11 0; +#X connect 14 0 5 0; diff --git a/abstractions/fx/emboss.pd b/abstractions/fx/emboss.pd new file mode 100644 index 0000000..54766e4 --- /dev/null +++ b/abstractions/fx/emboss.pd @@ -0,0 +1,11 @@ +#N canvas 576 244 478 328 10; +#X obj 44 230 pix_emboss; +#X obj 22 48 inlet; +#X text 64 47 Gemchain; +#X obj 42 80 arrayRouterIn \$1 \$2; +#X obj 44 286 arrayRouterOut \$1 \$2; +#X obj 61 260 outlet; +#X connect 0 0 4 0; +#X connect 0 0 5 0; +#X connect 1 0 0 0; +#X connect 3 0 0 0; diff --git a/abstractions/fx/gain.pd b/abstractions/fx/gain.pd new file mode 100644 index 0000000..688011d --- /dev/null +++ b/abstractions/fx/gain.pd @@ -0,0 +1,20 @@ +#N canvas 443 137 474 324 10; +#X obj 34 213 pix_gain; +#X obj 59 182 * 5; +#X obj 96 123 inlet; +#X obj 46 125 inlet; +#X text 17 59 Gemchain; +#X text 100 63 fxAmount 0-1; +#X text 25 16 luminosity gain; +#X obj 17 86 arrayRouterIn \$1 \$2; +#X obj 34 264 arrayRouterOut \$1 \$2; +#X obj 59 158 interp1; +#X obj 50 239 outlet; +#X connect 0 0 8 0; +#X connect 0 0 10 0; +#X connect 1 0 0 1; +#X connect 2 0 9 0; +#X connect 3 0 0 0; +#X connect 7 0 0 0; +#X connect 7 1 9 0; +#X connect 9 0 1 0; diff --git a/abstractions/fx/motionblur.pd b/abstractions/fx/motionblur.pd new file mode 100644 index 0000000..4ad2e42 --- /dev/null +++ b/abstractions/fx/motionblur.pd @@ -0,0 +1,18 @@ +#N canvas 0 22 474 324 10; +#X obj 133 131 inlet; +#X obj 39 154 inlet; +#X text 6 67 Gemchain; +#X text 82 66 fxAmount 0-1; +#X obj 28 181 pix_motionblur; +#X text 21 18 Motion Blur; +#X obj 8 89 arrayRouterIn \$1 \$2; +#X obj 28 229 arrayRouterOut \$1 \$2; +#X obj 121 155 interp1; +#X obj 41 206 outlet; +#X connect 0 0 8 0; +#X connect 1 0 4 0; +#X connect 4 0 7 0; +#X connect 4 0 9 0; +#X connect 6 0 4 0; +#X connect 6 1 8 0; +#X connect 8 0 4 1; diff --git a/abstractions/fx/negative.pd b/abstractions/fx/negative.pd new file mode 100644 index 0000000..390f2b2 --- /dev/null +++ b/abstractions/fx/negative.pd @@ -0,0 +1,10 @@ +#N canvas 0 22 462 312 10; +#X text 64 47 Gemchain; +#X obj 37 170 pix_invert; +#X text 19 10 colour Negative; +#X obj 24 81 arrayRouterIn \$1 \$2; +#X obj 37 215 arrayRouterOut \$1 \$2; +#X obj 49 194 outlet; +#X connect 1 0 4 0; +#X connect 1 0 5 0; +#X connect 3 0 1 0; diff --git a/abstractions/fx/normalize.pd b/abstractions/fx/normalize.pd new file mode 100644 index 0000000..50810d1 --- /dev/null +++ b/abstractions/fx/normalize.pd @@ -0,0 +1,12 @@ +#N canvas 0 22 458 308 10; +#X obj 46 138 inlet; +#X text 25 54 Gemchain; +#X obj 32 168 pix_normalize; +#X text 28 16 Normalize pixels; +#X obj 24 81 arrayRouterIn \$1 \$2; +#X obj 32 220 arrayRouterOut \$1 \$2; +#X obj 47 193 outlet; +#X connect 0 0 2 0; +#X connect 2 0 5 0; +#X connect 2 0 6 0; +#X connect 4 0 2 0; diff --git a/abstractions/fx/posterize.pd b/abstractions/fx/posterize.pd new file mode 100644 index 0000000..92fc1d1 --- /dev/null +++ b/abstractions/fx/posterize.pd @@ -0,0 +1,22 @@ +#N canvas 482 104 414 459 10; +#X obj 37 247 pix_posterize; +#X obj 80 222 + 0.01; +#X obj 80 199 * 0.18; +#X obj 116 144 inlet; +#X obj 54 171 inlet; +#X text 24 52 Gemchain; +#X text 96 55 fxAmount 0-1; +#X text 25 4 Posterize; +#X obj 17 78 arrayRouterIn \$1 \$2; +#X obj 37 302 arrayRouterOut \$1 \$2; +#X obj 102 170 interp1; +#X obj 52 274 outlet; +#X connect 0 0 9 0; +#X connect 0 0 11 0; +#X connect 1 0 0 1; +#X connect 2 0 1 0; +#X connect 3 0 10 0; +#X connect 4 0 0 0; +#X connect 8 0 0 0; +#X connect 8 1 10 0; +#X connect 10 0 2 0; diff --git a/abstractions/fx/randomdot.pd b/abstractions/fx/randomdot.pd new file mode 100644 index 0000000..189b143 --- /dev/null +++ b/abstractions/fx/randomdot.pd @@ -0,0 +1,12 @@ +#N canvas 336 435 466 316 10; +#X text 15 9 randomdot; +#X obj 46 113 inlet; +#X text 64 47 Gemchain; +#X obj 32 144 pix_rds; +#X obj 24 81 arrayRouterIn \$1 \$2; +#X obj 32 206 arrayRouterOut \$1 \$2; +#X obj 56 171 outlet; +#X connect 1 0 3 0; +#X connect 3 0 5 0; +#X connect 3 0 6 0; +#X connect 4 0 3 0; diff --git a/abstractions/fx/roll.pd b/abstractions/fx/roll.pd new file mode 100644 index 0000000..0901cb7 --- /dev/null +++ b/abstractions/fx/roll.pd @@ -0,0 +1,20 @@ +#N canvas 506 429 470 320 10; +#X obj 50 188 pix_roll; +#X obj 101 163 * 480; +#X obj 117 107 inlet; +#X obj 58 156 inlet; +#X text 25 59 Gemchain; +#X text 97 57 fxAmount 0-1; +#X text 22 10 Offset pixels over Y.; +#X obj 24 81 arrayRouterIn \$1 \$2; +#X obj 50 258 arrayRouterOut \$1 \$2; +#X obj 101 138 interp1; +#X obj 74 225 outlet; +#X connect 0 0 8 0; +#X connect 0 0 10 0; +#X connect 1 0 0 1; +#X connect 2 0 9 0; +#X connect 3 0 0 0; +#X connect 7 0 0 0; +#X connect 7 1 9 0; +#X connect 9 0 1 0; diff --git a/abstractions/fx/rtx-DANGER_USE_AT_YOUR_OWN_RISK.pd b/abstractions/fx/rtx-DANGER_USE_AT_YOUR_OWN_RISK.pd new file mode 100644 index 0000000..ebe0de4 --- /dev/null +++ b/abstractions/fx/rtx-DANGER_USE_AT_YOUR_OWN_RISK.pd @@ -0,0 +1,12 @@ +#N canvas 0 22 458 308 10; +#X obj 23 146 pix_rtx; +#X obj 37 117 inlet; +#X text 30 55 Gemchain; +#X text 19 18 Time to X mapping; +#X obj 24 81 arrayRouterIn \$1 \$2; +#X obj 40 206 arrayRouterOut \$1 \$2; +#X obj 53 175 outlet; +#X connect 0 0 5 0; +#X connect 0 0 6 0; +#X connect 1 0 0 0; +#X connect 4 0 0 0; diff --git a/abstractions/fx/scanline.pd b/abstractions/fx/scanline.pd new file mode 100644 index 0000000..e2c4e24 --- /dev/null +++ b/abstractions/fx/scanline.pd @@ -0,0 +1,19 @@ +#N canvas 0 22 478 328 10; +#X obj 130 147 inlet; +#X obj 54 191 inlet; +#X text 33 53 Gemchain; +#X text 106 53 fxAmount 0-1; +#X obj 38 221 pix_scanline; +#X obj 118 196 * 500; +#X obj 24 81 arrayRouterIn \$1 \$2; +#X obj 38 285 arrayRouterOut \$1 \$2; +#X obj 117 173 interp1; +#X obj 53 253 outlet; +#X connect 0 0 8 0; +#X connect 1 0 4 0; +#X connect 4 0 7 0; +#X connect 4 0 9 0; +#X connect 5 0 4 1; +#X connect 6 0 4 0; +#X connect 6 1 8 0; +#X connect 8 0 5 0; diff --git a/abstractions/interp1.pd b/abstractions/interp1.pd new file mode 100644 index 0000000..f3cbb13 --- /dev/null +++ b/abstractions/interp1.pd @@ -0,0 +1,85 @@ +#N canvas 859 396 375 365 10; +#X obj 16 227 smooth 0.8 10; +#X obj 16 153 spigot; +#N canvas 591 359 419 260 selector 0; +#X obj 23 34 inlet; +#X obj 34 178 outlet; +#X obj 81 178 outlet; +#X obj 128 178 outlet; +#X obj 34 156 == 0; +#X obj 81 156 == 1; +#X obj 128 156 == 2; +#X obj 42 112 loadbang; +#X text 104 113 Default; +#X msg 42 132 0; +#X text 67 35 Which type? (0-lowpass \, 1-linear \, 2-none); +#X obj 116 86 r init; +#X connect 0 0 4 0; +#X connect 0 0 5 0; +#X connect 0 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 9 0; +#X connect 9 0 4 0; +#X connect 11 0 9 0; +#X restore 53 84 pd selector; +#X obj 116 153 spigot; +#X obj 116 227 line; +#N canvas 0 22 478 328 pack 0; +#X obj 20 35 inlet; +#X obj 90 35 inlet; +#X msg 39 226 \$1 \$2; +#X obj 39 195 pack f f; +#X obj 39 250 outlet; +#X obj 155 95 * 5; +#X obj 155 116 + 10; +#X text 193 96 from 0-100 to 10-510; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 3 1; +#X restore 116 204 pd pack; +#X text 10 29 linear (10 - 510); +#N canvas 0 22 490 340 scl 0; +#X obj 19 16 inlet; +#X obj 17 118 outlet; +#X obj 19 65 / 77; +#X obj 19 40 * -1; +#X obj 19 89 + 1.5; +#X text 57 66 from 0-100 to 1.5-0.2; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X restore 59 204 pd scl; +#X obj 171 152 spigot; +#X obj 53 63 r ptInterpType; +#X obj 129 177 r ptInterpSmoothness; +#X text 9 11 lowpass (1.5 - 0.2); +#X obj 187 111 f; +#X obj 209 83 inlet; +#X obj 175 83 r \$1; +#X obj 81 294 f; +#X obj 81 315 outlet; +#X connect 0 0 15 0; +#X connect 1 0 0 0; +#X connect 2 0 1 1; +#X connect 2 1 3 1; +#X connect 2 2 8 1; +#X connect 3 0 5 0; +#X connect 4 0 15 0; +#X connect 5 0 4 0; +#X connect 7 0 0 1; +#X connect 8 0 15 0; +#X connect 9 0 2 0; +#X connect 10 0 5 1; +#X connect 10 0 7 0; +#X connect 12 0 1 0; +#X connect 12 0 3 0; +#X connect 12 0 8 0; +#X connect 13 0 12 0; +#X connect 14 0 12 0; +#X connect 15 0 16 0; diff --git a/abstractions/interp3.pd b/abstractions/interp3.pd new file mode 100644 index 0000000..58aceb6 --- /dev/null +++ b/abstractions/interp3.pd @@ -0,0 +1,189 @@ +#N canvas 524 405 728 375 10; +#X obj 171 314 outlet; +#X obj 16 277 smooth 0.8 10; +#X obj 16 153 spigot; +#N canvas 591 359 399 240 selector 0; +#X obj 23 34 inlet; +#X obj 33 178 outlet; +#X obj 81 178 outlet; +#X obj 128 178 outlet; +#X obj 34 156 == 0; +#X obj 81 156 == 1; +#X obj 128 156 == 2; +#X obj 42 112 loadbang; +#X text 104 113 Default; +#X msg 42 132 0; +#X text 67 35 Which type? (0-lowpass \, 1-linear \, 2-none); +#X connect 0 0 4 0; +#X connect 0 0 5 0; +#X connect 0 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 9 0; +#X connect 9 0 4 0; +#X restore 263 38 pd selector; +#X obj 116 153 spigot; +#X obj 116 277 line; +#N canvas 0 22 466 316 pack 0; +#X obj 20 35 inlet; +#X obj 90 35 inlet; +#X msg 39 226 \$1 \$2; +#X obj 39 195 pack f f; +#X obj 39 250 outlet; +#X obj 155 95 * 5; +#X obj 155 116 + 10; +#X text 193 96 from 0-100 to 10-510; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 3 1; +#X restore 116 254 pd pack; +#X text 10 29 linear (10 - 510); +#N canvas 0 22 474 324 scl 0; +#X obj 19 16 inlet; +#X obj 17 118 outlet; +#X obj 19 65 / 77; +#X obj 19 40 * -1; +#X obj 19 89 + 1.5; +#X text 57 66 from 0-100 to 1.5-0.2; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X restore 59 254 pd scl; +#X obj 171 152 spigot; +#X obj 263 17 r ptInterpType; +#X obj 294 193 r ptInterpSmoothness; +#X text 9 11 lowpass (1.5 - 0.2); +#X obj 381 313 outlet; +#X obj 226 276 smooth 0.8 10; +#X obj 226 152 spigot; +#X obj 326 152 spigot; +#X obj 326 276 line; +#N canvas 0 22 466 316 pack 0; +#X obj 20 35 inlet; +#X obj 90 35 inlet; +#X msg 39 226 \$1 \$2; +#X obj 39 195 pack f f; +#X obj 39 250 outlet; +#X obj 155 95 * 5; +#X obj 155 116 + 10; +#X text 193 96 from 0-100 to 10-510; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 3 1; +#X restore 326 253 pd pack; +#N canvas 0 22 474 324 scl 0; +#X obj 19 16 inlet; +#X obj 17 118 outlet; +#X obj 19 65 / 77; +#X obj 19 40 * -1; +#X obj 19 89 + 1.5; +#X text 57 66 from 0-100 to 1.5-0.2; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X restore 269 253 pd scl; +#X obj 381 151 spigot; +#X obj 591 312 outlet; +#X obj 436 275 smooth 0.8 10; +#X obj 436 151 spigot; +#X obj 536 151 spigot; +#X obj 536 275 line; +#N canvas 0 22 466 316 pack 0; +#X obj 20 35 inlet; +#X obj 90 35 inlet; +#X msg 39 226 \$1 \$2; +#X obj 39 195 pack f f; +#X obj 39 250 outlet; +#X obj 155 95 * 5; +#X obj 155 116 + 10; +#X text 193 96 from 0-100 to 10-510; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 3 1; +#X restore 536 252 pd pack; +#N canvas 0 22 474 324 scl 0; +#X obj 19 16 inlet; +#X obj 17 118 outlet; +#X obj 19 65 / 77; +#X obj 19 40 * -1; +#X obj 19 89 + 1.5; +#X text 57 66 from 0-100 to 1.5-0.2; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X restore 479 252 pd scl; +#X obj 591 150 spigot; +#X obj 83 72 r \$1; +#X obj 123 72 inlet; +#X obj 116 100 f; +#X obj 333 72 inlet; +#X obj 543 72 inlet; +#X obj 293 72 r \$2; +#X obj 503 72 r \$3; +#X obj 326 99 f; +#X obj 536 98 f; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 3 0 2 1; +#X connect 3 0 15 1; +#X connect 3 0 23 1; +#X connect 3 1 4 1; +#X connect 3 1 16 1; +#X connect 3 1 24 1; +#X connect 3 2 9 1; +#X connect 3 2 20 1; +#X connect 3 2 28 1; +#X connect 4 0 6 0; +#X connect 5 0 0 0; +#X connect 6 0 5 0; +#X connect 8 0 1 1; +#X connect 9 0 0 0; +#X connect 10 0 3 0; +#X connect 11 0 6 1; +#X connect 11 0 8 0; +#X connect 11 0 18 1; +#X connect 11 0 19 0; +#X connect 11 0 26 1; +#X connect 11 0 27 0; +#X connect 14 0 13 0; +#X connect 15 0 14 0; +#X connect 16 0 18 0; +#X connect 17 0 13 0; +#X connect 18 0 17 0; +#X connect 19 0 14 1; +#X connect 20 0 13 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 24 0 26 0; +#X connect 25 0 21 0; +#X connect 26 0 25 0; +#X connect 27 0 22 1; +#X connect 28 0 21 0; +#X connect 29 0 31 0; +#X connect 30 0 31 0; +#X connect 31 0 2 0; +#X connect 31 0 4 0; +#X connect 31 0 9 0; +#X connect 32 0 36 0; +#X connect 33 0 37 0; +#X connect 34 0 36 0; +#X connect 35 0 37 0; +#X connect 36 0 15 0; +#X connect 36 0 16 0; +#X connect 36 0 20 0; +#X connect 37 0 23 0; +#X connect 37 0 24 0; +#X connect 37 0 28 0; diff --git a/abstractions/interp4.pd b/abstractions/interp4.pd new file mode 100644 index 0000000..2a08a4b --- /dev/null +++ b/abstractions/interp4.pd @@ -0,0 +1,246 @@ +#N canvas 175 40 1029 555 10; +#X obj 171 264 outlet; +#X obj 16 227 smooth 0.8 10; +#X obj 16 153 spigot; +#N canvas 591 359 399 240 selector 0; +#X obj 23 34 inlet; +#X obj 33 178 outlet; +#X obj 81 178 outlet; +#X obj 128 178 outlet; +#X obj 34 156 == 0; +#X obj 81 156 == 1; +#X obj 128 156 == 2; +#X obj 42 112 loadbang; +#X text 104 113 Default; +#X msg 42 132 0; +#X text 67 35 Which type? (0-lowpass \, 1-linear \, 2-none); +#X connect 0 0 4 0; +#X connect 0 0 5 0; +#X connect 0 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 9 0; +#X connect 9 0 4 0; +#X restore 400 31 pd selector; +#X obj 116 153 spigot; +#X obj 116 227 line; +#N canvas 0 22 466 316 pack 0; +#X obj 20 35 inlet; +#X obj 90 35 inlet; +#X msg 39 226 \$1 \$2; +#X obj 39 195 pack f f; +#X obj 39 250 outlet; +#X obj 155 95 * 5; +#X obj 155 116 + 10; +#X text 193 96 from 0-100 to 10-510; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 3 1; +#X restore 116 204 pd pack; +#X text 10 29 linear (10 - 510); +#N canvas 0 22 474 324 scl 0; +#X obj 19 16 inlet; +#X obj 17 118 outlet; +#X obj 19 65 / 77; +#X obj 19 40 * -1; +#X obj 19 89 + 1.5; +#X text 57 66 from 0-100 to 1.5-0.2; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X restore 59 204 pd scl; +#X obj 171 152 spigot; +#X obj 400 10 r ptInterpType; +#X obj 129 177 r ptInterpSmoothness; +#X text 9 11 lowpass (1.5 - 0.2); +#X obj 381 263 outlet; +#X obj 226 226 smooth 0.8 10; +#X obj 226 152 spigot; +#X obj 326 152 spigot; +#X obj 326 226 line; +#N canvas 0 22 466 316 pack 0; +#X obj 20 35 inlet; +#X obj 90 35 inlet; +#X msg 39 226 \$1 \$2; +#X obj 39 195 pack f f; +#X obj 39 250 outlet; +#X obj 155 95 * 5; +#X obj 155 116 + 10; +#X text 193 96 from 0-100 to 10-510; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 3 1; +#X restore 326 203 pd pack; +#N canvas 0 22 474 324 scl 0; +#X obj 19 16 inlet; +#X obj 17 118 outlet; +#X obj 19 65 / 77; +#X obj 19 40 * -1; +#X obj 19 89 + 1.5; +#X text 57 66 from 0-100 to 1.5-0.2; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X restore 269 203 pd scl; +#X obj 381 151 spigot; +#X obj 339 176 r ptInterpSmoothness; +#X obj 591 262 outlet; +#X obj 436 225 smooth 0.8 10; +#X obj 436 151 spigot; +#X obj 536 151 spigot; +#X obj 536 225 line; +#N canvas 0 22 466 316 pack 0; +#X obj 20 35 inlet; +#X obj 90 35 inlet; +#X msg 39 226 \$1 \$2; +#X obj 39 195 pack f f; +#X obj 39 250 outlet; +#X obj 155 95 * 5; +#X obj 155 116 + 10; +#X text 193 96 from 0-100 to 10-510; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 3 1; +#X restore 536 202 pd pack; +#N canvas 0 22 474 324 scl 0; +#X obj 19 16 inlet; +#X obj 17 118 outlet; +#X obj 19 65 / 77; +#X obj 19 40 * -1; +#X obj 19 89 + 1.5; +#X text 57 66 from 0-100 to 1.5-0.2; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X restore 479 202 pd scl; +#X obj 591 150 spigot; +#X obj 549 175 r ptInterpSmoothness; +#X obj 801 262 outlet; +#X obj 646 225 smooth 0.8 10; +#X obj 646 151 spigot; +#X obj 746 151 spigot; +#X obj 746 225 line; +#N canvas 0 22 466 316 pack 0; +#X obj 20 35 inlet; +#X obj 90 35 inlet; +#X msg 39 226 \$1 \$2; +#X obj 39 195 pack f f; +#X obj 39 250 outlet; +#X obj 155 95 * 5; +#X obj 155 116 + 10; +#X text 193 96 from 0-100 to 10-510; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 3 1; +#X restore 746 202 pd pack; +#N canvas 0 22 474 324 scl 0; +#X obj 19 16 inlet; +#X obj 17 118 outlet; +#X obj 19 65 / 77; +#X obj 19 40 * -1; +#X obj 19 89 + 1.5; +#X text 57 66 from 0-100 to 1.5-0.2; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X restore 689 202 pd scl; +#X obj 801 150 spigot; +#X obj 759 175 r ptInterpSmoothness; +#X obj 58 65 r \$1; +#X obj 91 65 inlet; +#X obj 78 89 f; +#X obj 291 49 inlet; +#X obj 551 29 inlet; +#X obj 711 59 inlet; +#X obj 258 49 r \$2; +#X obj 518 29 r \$3; +#X obj 678 59 r \$4; +#X obj 708 87 f; +#X obj 498 87 f; +#X obj 288 88 f; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 3 0 2 1; +#X connect 3 0 15 1; +#X connect 3 0 24 1; +#X connect 3 0 33 1; +#X connect 3 1 4 1; +#X connect 3 1 16 1; +#X connect 3 1 25 1; +#X connect 3 1 34 1; +#X connect 3 2 9 1; +#X connect 3 2 20 1; +#X connect 3 2 29 1; +#X connect 3 2 38 1; +#X connect 4 0 6 0; +#X connect 5 0 0 0; +#X connect 6 0 5 0; +#X connect 8 0 1 1; +#X connect 9 0 0 0; +#X connect 10 0 3 0; +#X connect 11 0 6 1; +#X connect 11 0 8 0; +#X connect 14 0 13 0; +#X connect 15 0 14 0; +#X connect 16 0 18 0; +#X connect 17 0 13 0; +#X connect 18 0 17 0; +#X connect 19 0 14 1; +#X connect 20 0 13 0; +#X connect 21 0 18 1; +#X connect 21 0 19 0; +#X connect 23 0 22 0; +#X connect 24 0 23 0; +#X connect 25 0 27 0; +#X connect 26 0 22 0; +#X connect 27 0 26 0; +#X connect 28 0 23 1; +#X connect 29 0 22 0; +#X connect 30 0 27 1; +#X connect 30 0 28 0; +#X connect 32 0 31 0; +#X connect 33 0 32 0; +#X connect 34 0 36 0; +#X connect 35 0 31 0; +#X connect 36 0 35 0; +#X connect 37 0 32 1; +#X connect 38 0 31 0; +#X connect 39 0 36 1; +#X connect 39 0 37 0; +#X connect 40 0 42 0; +#X connect 41 0 42 0; +#X connect 42 0 2 0; +#X connect 42 0 4 0; +#X connect 42 0 9 0; +#X connect 43 0 51 0; +#X connect 44 0 50 0; +#X connect 45 0 49 0; +#X connect 46 0 51 0; +#X connect 47 0 50 0; +#X connect 48 0 49 0; +#X connect 49 0 33 0; +#X connect 49 0 34 0; +#X connect 49 0 38 0; +#X connect 50 0 24 0; +#X connect 50 0 25 0; +#X connect 50 0 29 0; +#X connect 51 0 15 0; +#X connect 51 0 16 0; +#X connect 51 0 20 0; diff --git a/abstractions/invert_scale.pd b/abstractions/invert_scale.pd new file mode 100644 index 0000000..5985e78 --- /dev/null +++ b/abstractions/invert_scale.pd @@ -0,0 +1,15 @@ +#N canvas 343 241 489 295 10; +#X obj 25 74 inlet; +#X obj 45 207 outlet; +#X obj 41 103 * -1; +#X obj 46 141 + \$2; +#X obj 43 172 + \$1; +#X text 83 141 Upper Limit; +#X text 78 173 Lower Limit; +#X text 22 17 Inverts a scale of numbers so that the upper and lower +limits are reversed. This works for all states inbetween limits as +well. Usage: [invert_scale lower upper]; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 1 0; diff --git a/abstractions/list2osc.pd b/abstractions/list2osc.pd new file mode 100644 index 0000000..10757b8 --- /dev/null +++ b/abstractions/list2osc.pd @@ -0,0 +1,13 @@ +#N canvas 341 314 454 304 10; +#X obj 21 132 l2s; +#X msg 37 108 symbol /; +#X obj 21 160 makesymbol /%s; +#X obj 21 188 outlet; +#X obj 37 86 loadbang; +#X obj 21 57 inlet; +#X text 17 9 Make an OSC name from a list; +#X connect 0 0 2 0; +#X connect 1 0 0 1; +#X connect 2 0 3 0; +#X connect 4 0 1 0; +#X connect 5 0 0 0; diff --git a/abstractions/mementoSetup.pd b/abstractions/mementoSetup.pd new file mode 100644 index 0000000..697c4fa --- /dev/null +++ b/abstractions/mementoSetup.pd @@ -0,0 +1,69 @@ +#N canvas 702 30 540 777 10; +#X obj 29 66 t b f; +#X msg 29 90 set; +#X msg 59 90 substate \$1; +#X obj 222 230 route osc; +#X msg 338 160 instance \$1; +#X obj 117 230 prepend create; +#X obj 29 46 r pt.currentPreset; +#X text 16 9 Does all the crap for memento naming/collection and abstraction +registration \$1 is abst-name \$2 is \$0 variable; +#X obj 305 75 inlet; +#X obj 305 262 outlet; +#X text 97 129 Create OSC name here; +#X obj 117 202 createOscName \$1; +#X obj 118 252 originator NOTSET \$2; +#X obj 305 117 register \$1 \$2; +#X obj 87 149 route createOscName; +#X obj 87 174 t b b; +#X obj 50 328 outlet; +#X text 107 329 output a bang after we have created OSC Name; +#X obj 44 438 cnv 15 400 300 empty empty EXPERIMENTAL 20 12 0 14 -259544 +-1 0; +#X obj 216 701 pool OSC; +#X obj 141 490 r \$0-RRADMIN; +#X obj 139 668 prepend set; +#X obj 193 555 symbol \$1; +#X msg 233 670 mkchdir \$1; +#X text 48 359 The following section is experimental \, a design-concept +that will be properly implimented into the next version of memento +for OSC name collection. "commun" and "originator" are hacked versioned +from the offical release. We will hopefully be able to remove this +whole section in the future.; +#X obj 271 554 symbol; +#X obj 164 518 t a b b; +#X obj 223 635 makesymbol %s/%s; +#X obj 223 588 pack s s; +#X obj 334 668 print me; +#X msg 223 611 \$2 \$1; +#X text 97 508 Cut ->; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 1 0 12 0; +#X connect 2 0 12 0; +#X connect 3 0 12 1; +#X connect 4 0 11 1; +#X connect 5 0 12 0; +#X connect 6 0 0 0; +#X connect 8 0 3 0; +#X connect 8 0 11 1; +#X connect 8 0 13 0; +#X connect 8 0 14 0; +#X connect 11 0 5 0; +#X connect 11 0 25 1; +#X connect 13 0 9 0; +#X connect 13 1 4 0; +#X connect 14 0 15 0; +#X connect 15 0 16 0; +#X connect 15 1 11 0; +#X connect 21 0 19 0; +#X connect 22 0 28 0; +#X connect 23 0 19 0; +#X connect 25 0 28 1; +#X connect 26 0 21 0; +#X connect 26 1 22 0; +#X connect 26 2 25 0; +#X connect 27 0 23 0; +#X connect 27 0 29 0; +#X connect 28 0 30 0; +#X connect 30 0 27 0; diff --git a/abstractions/pix_dvts.pd b/abstractions/pix_dvts.pd new file mode 100644 index 0000000..22c16f2 --- /dev/null +++ b/abstractions/pix_dvts.pd @@ -0,0 +1,4 @@ +#N canvas 0 22 454 304 10; +#X text 18 14 pix_dvts placeholder; +#X obj 46 80 inlet; +#X obj 45 137 outlet; diff --git a/abstractions/popup_lister.pd b/abstractions/popup_lister.pd new file mode 100644 index 0000000..501329e --- /dev/null +++ b/abstractions/popup_lister.pd @@ -0,0 +1,19 @@ +#N canvas 0 22 458 308 10; +#X text 20 11 Our special message "options blah blah ..." needs this +kludge to be able to store the message in "lister" temporarily. UGLY! +is this PD or Zexy's fault? (or popup's?); +#X obj 49 183 lister; +#X obj 86 161 prepend list; +#X obj 49 204 route list; +#X obj 86 139 inlet; +#X obj 49 82 inlet; +#X obj 49 225 outlet; +#X obj 49 106 delay \$1; +#X obj 129 139 r \$2; +#X connect 1 0 3 0; +#X connect 2 0 1 1; +#X connect 3 0 6 0; +#X connect 4 0 2 0; +#X connect 5 0 7 0; +#X connect 7 0 1 0; +#X connect 8 0 2 0; diff --git a/abstractions/pt.animate.pd b/abstractions/pt.animate.pd new file mode 100644 index 0000000..af1f33d --- /dev/null +++ b/abstractions/pt.animate.pd @@ -0,0 +1,150 @@ +#N canvas 73 204 530 82 10; +#X obj 1 1 cnv 5 528 80 empty empty Animate_Presets 6 13 1 12 -133153 +-1 0; +#N canvas 349 89 765 585 interna 0; +#X obj 9 22 cnv 15 600 450 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 413 151 inlet; +#X obj 445 294 r \$0-save; +#X obj 430 223 r \$0-load; +#X text 458 150 care-taker commands; +#X obj 413 425 caretaker RRADICAL; +#X obj 430 243 openpanel; +#X obj 445 314 savepanel; +#X msg 445 334 file \$1 \, save RRADICAL; +#X msg 430 263 file \$1 \, load RRADICAL; +#X obj 17 438 outlet; +#X msg 17 416 numFrames \$1; +#X obj 17 353 f \$1; +#X obj 27 329 loadbang; +#X text 10 7 Preset Animation; +#X obj 165 299 + 1; +#X obj 277 299 - 1; +#X obj 165 237 r \$0-right; +#X obj 277 237 r \$0-left; +#X obj 194 151 inlet; +#X text 194 130 Frame; +#X obj 165 340 clip 0 \$1; +#X obj 277 340 clip 0 \$1; +#X obj 181 258 r \$0-slider-out; +#X obj 293 258 r \$0-slider-out; +#X obj 150 188 s \$0-slider-in; +#X obj 165 360 s \$0-slider-in; +#X obj 277 360 s \$0-slider-in; +#X obj 277 279 f; +#X obj 165 279 f; +#X obj 277 319 int; +#X obj 165 319 int; +#X obj 274 123 r \$0-slider-out; +#X obj 274 143 int; +#X obj 274 185 s pt.currentPreset; +#X obj 17 30 inlet; +#X text 24 526 Simple scrubbing interface for states \, dynamic number +of frames!; +#X text 24 501 \$1 Argument Specifies the # of Frames/Presets; +#X obj 111 437 s \$0-slider-in; +#X msg 111 416 range 0 \$1; +#X obj 17 61 route numKeys loopPos; +#X obj 215 416 s \$0-numKeys; +#X text 187 66 numFrames = NumKeys * 100 \, otherwise we're going at +30keyframes/s! too fast. 3s per keyframe is better; +#X obj 17 394 * 30; +#X obj 150 99 expr int($f1/30); +#N canvas 0 22 454 304 defaults 0; +#X obj 37 26 loadbang; +#X obj 37 49 f \$1; +#X obj 37 71 select 0; +#X obj 55 120 print pt.animate; +#X msg 55 98 No arguments given. Using 10 Key-Frames.; +#X msg 37 156 numKeys 10; +#X obj 37 179 outlet; +#X text 28 254 if (arg1 == "0" || not set) then sey numKeys 10; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 2 0 5 0; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X restore 60 30 pd defaults; +#X obj 274 164 change; +#X obj 348 396 bang; +#X text 385 397 Resend numFrames on load/save; +#N canvas 349 89 462 312 OSC-stuff 0; +#X obj 12 13 r pt.osc; +#X obj 12 34 OSCroute /pt; +#X obj 12 55 OSCroute /animate; +#X obj 12 76 OSCroute /frame; +#X text 172 16 How to register this OSC name?; +#X obj 12 97 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X restore 182 31 pd OSC-stuff; +#X text 274 32 Problem of registering this?; +#X connect 1 0 5 0; +#X connect 2 0 7 0; +#X connect 2 0 47 0; +#X connect 3 0 6 0; +#X connect 3 0 47 0; +#X connect 6 0 9 0; +#X connect 7 0 8 0; +#X connect 8 0 5 0; +#X connect 9 0 5 0; +#X connect 11 0 10 0; +#X connect 12 0 39 0; +#X connect 12 0 41 0; +#X connect 12 0 43 0; +#X connect 13 0 12 0; +#X connect 15 0 31 0; +#X connect 16 0 30 0; +#X connect 17 0 29 0; +#X connect 18 0 28 0; +#X connect 19 0 25 0; +#X connect 21 0 26 0; +#X connect 22 0 27 0; +#X connect 23 0 29 1; +#X connect 24 0 28 1; +#X connect 28 0 16 0; +#X connect 29 0 15 0; +#X connect 30 0 22 0; +#X connect 31 0 21 0; +#X connect 32 0 33 0; +#X connect 33 0 46 0; +#X connect 35 0 40 0; +#X connect 39 0 38 0; +#X connect 40 0 12 0; +#X connect 40 0 21 2; +#X connect 40 0 22 2; +#X connect 40 1 44 0; +#X connect 43 0 11 0; +#X connect 44 0 25 0; +#X connect 45 0 40 0; +#X connect 46 0 34 0; +#X connect 47 0 12 0; +#X connect 49 0 25 0; +#X restore 7 148 pd interna; +#X obj 430 6 bng 15 250 50 0 \$0-save \$0 Save 20 8 1 9 -237178 -1 +-1; +#X obj 480 6 bng 15 250 50 0 \$0-load \$0 Load 20 8 1 9 -237178 -1 +-1; +#X obj 92 124 inlet; +#X obj 7 172 outlet; +#X text 4 104 Preset Animation; +#X obj 10 26 hsl 510 30 0 10 0 0 \$0-slider-out \$0-slider-in empty +-2 -6 0 8 -262144 -1 -1 0 0; +#X obj 7 60 nbx 5 14 -1e+37 1e+37 0 0 \$0- pt.currentPreset Current-Key-Frame +60 9 1 12 -262144 -1 -1 0 256; +#X obj 466 60 nbx 5 14 -1e+37 1e+37 0 0 empty \$0-numKeys Number-of-Key-Frames +-145 9 1 12 -262144 -1 -1 10 256; +#X obj 221 6 bng 15 250 50 0 \$0-left \$0 << 18 8 1 12 -237178 -1 -1 +; +#X obj 281 6 bng 15 250 50 0 \$0-right \$0 >> -17 8 1 12 -237178 -1 +-1; +#X obj 47 124 inlet; +#X obj 5 124 inlet; +#X connect 1 0 5 0; +#X connect 4 0 1 2; +#X connect 12 0 1 1; +#X connect 13 0 1 0; +#X coords 0 0 1 1 530 82 1; diff --git a/abstractions/pt.dualfx.pd b/abstractions/pt.dualfx.pd new file mode 100644 index 0000000..6de89b8 --- /dev/null +++ b/abstractions/pt.dualfx.pd @@ -0,0 +1,141 @@ +#N canvas 797 67 403 214 10; +#N canvas 161 339 670 348 interna 0; +#X obj 10 39 cnv 15 350 250 empty empty empty 5 8 1 10 -3121 -1 0; +#N canvas 591 359 469 378 selector 0; +#X obj 23 34 inlet; +#X obj 33 178 outlet; +#X obj 81 178 outlet; +#N canvas 0 22 454 304 another 0; +#X obj 24 75 select 1; +#X obj 74 96 select 2; +#X obj 124 115 select 3; +#X obj 175 136 select 4; +#X msg 25 122 1 0 0 0; +#X msg 75 152 0 1 0 0; +#X msg 125 182 0 0 1 0; +#X msg 175 212 0 0 0 1; +#X obj 26 252 unpack f f f f; +#X connect 0 0 4 0; +#X connect 0 1 1 0; +#X connect 1 0 5 0; +#X connect 1 1 2 0; +#X connect 2 0 6 0; +#X connect 2 1 3 0; +#X connect 3 0 7 0; +#X connect 4 0 8 0; +#X connect 5 0 8 0; +#X connect 6 0 8 0; +#X connect 7 0 8 0; +#X restore 286 75 pd another approach; +#X obj 34 156 == 0; +#X obj 81 156 == 1; +#X obj 44 101 loadbang; +#X msg 44 121 0; +#X text 67 35 Which effect?; +#X connect 0 0 4 0; +#X connect 0 0 5 0; +#X connect 4 0 1 0; +#X connect 5 0 2 0; +#X connect 6 0 7 0; +#X connect 7 0 4 0; +#X restore 256 67 pd selector; +#X obj 22 42 inlet; +#X obj 22 266 outlet; +#X obj 22 200 pix_chroma_key; +#X obj 115 43 inlet; +#X obj 22 180 spigot; +#X obj 188 179 spigot; +#X obj 115 180 spigot; +#X obj 239 179 spigot; +#X obj 256 46 r \$0-effect; +#X text 23 9 2 Channel Pixel Effects; +#X obj 368 39 cnv 15 200 250 empty empty empty 5 8 1 10 -260390 -1 +0; +#X obj 519 46 inlet; +#X obj 519 266 outlet; +#X text 426 268 Passthrough; +#N canvas 0 22 458 308 options 0; +#X obj 13 271 outlet; +#X obj 15 23 r \$0-rv; +#X obj 75 23 r \$0-gv; +#X obj 135 23 r \$0-bv; +#X obj 64 79 pack f f f; +#X obj 64 100 prepend value; +#X obj 145 52 bang; +#X obj 154 199 pack f f f; +#X obj 235 172 bang; +#X obj 105 143 r \$0-rr; +#X obj 165 143 r \$0-gr; +#X obj 225 143 r \$0-br; +#X obj 154 220 prepend range; +#X connect 1 0 4 0; +#X connect 2 0 4 1; +#X connect 2 0 6 0; +#X connect 3 0 4 2; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 5 0 0 0; +#X connect 6 0 4 0; +#X connect 7 0 12 0; +#X connect 8 0 7 0; +#X connect 9 0 7 0; +#X connect 10 0 7 1; +#X connect 10 0 8 0; +#X connect 11 0 7 2; +#X connect 11 0 8 0; +#X connect 12 0 0 0; +#X restore 34 130 pd options; +#X text 13 291 It would be good if the colour_key sliders ghosted when +on "mask" mode.; +#X obj 188 200 pix_compare; +#X obj 214 225 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X msg 214 251 direction \$1; +#X connect 1 0 6 1; +#X connect 1 0 8 1; +#X connect 1 1 7 1; +#X connect 1 1 9 1; +#X connect 2 0 6 0; +#X connect 2 0 7 0; +#X connect 4 0 3 0; +#X connect 5 0 8 0; +#X connect 5 0 9 0; +#X connect 6 0 4 0; +#X connect 7 0 18 0; +#X connect 8 0 4 1; +#X connect 9 0 18 1; +#X connect 10 0 1 0; +#X connect 13 0 14 0; +#X connect 16 0 4 0; +#X connect 18 0 3 0; +#X connect 19 0 20 0; +#X connect 20 0 18 0; +#X restore 13 157 pd interna; +#X obj 13 93 inlet; +#X obj 45 114 inlet; +#X obj 78 135 inlet; +#X obj 13 177 outlet; +#X obj 78 177 outlet; +#X obj 4 21 popup 124 25 grey95 Channel_fx Chroma-Key Luma-Key; +#X obj 2 2 cnv 5 260 72 empty empty Channel_fx 5 6 1 9 -249661 -66577 +0; +#X obj 140 6 hsl 115 15 125 1898 0 0 \$0-rv \$0-rvs key_out 40 8 1 +8 -258699 -1 -1 0 1; +#X obj 140 21 hsl 115 15 125 1898 0 0 \$0-gv \$0-gvs key_out 40 8 1 +8 -24198 -1 -1 0 1; +#X obj 140 36 hsl 115 15 125 1898 0 0 \$0-bv \$0-bvs key_out 40 8 1 +8 -62784 -1 -1 0 1; +#X obj 137 55 nbx 4 15 0 1e+06 0 0 \$0-rr \$0-rrs empty -40 8 1 8 -258699 +-1 -1 0 256; +#X obj 180 55 nbx 4 15 0 1e+06 0 0 \$0-gr \$0-grs empty 40 8 1 8 -24198 +-1 -1 0 256; +#X obj 222 55 nbx 4 15 0 1e+06 0 0 \$0-br \$0-brs empty 40 8 1 8 -62784 +-1 -1 0 256; +#X obj 30 53 comment 0 10 helvetica ? 0 0 0 0 Key Range: ->; +#X obj 81 82 s \$0-effect; +#X connect 0 0 4 0; +#X connect 0 1 5 0; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X connect 3 0 0 2; +#X connect 6 0 15 0; diff --git a/abstractions/pt.entry.pd b/abstractions/pt.entry.pd new file mode 100644 index 0000000..04b8a05 --- /dev/null +++ b/abstractions/pt.entry.pd @@ -0,0 +1,105 @@ +#N canvas 531 201 130 142 10; +#N canvas 667 321 508 411 interna 0; +#X text 10 3 Control of text object in chain; +#X obj 9 21 cnv 15 450 350 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 386 31 inlet; +#X obj 402 350 outlet; +#X obj 26 261 prepend text; +#X obj 92 31 r \$0-text; +#X msg 44 227 font \$1; +#X obj 9 31 cnv 15 70 90 empty empty empty 5 8 1 10 -3121 -1 0; +#X obj 22 38 inlet; +#X obj 22 65 outlet; +#X obj 14 137 r \$0-font-size; +#X msg 14 159 size \$1; +#X obj 92 51 prepend text; +#X obj 148 94 mementoSetup pt.entry \$0; +#X obj 44 204 r \$0-font; +#X obj 207 279 s \$0-font-popup; +#X obj 207 222 dirlist; +#X obj 268 234 print pt.entry-Font-Dir; +#X msg 158 164 pattern *.ttf; +#X obj 148 115 t b b; +#X msg 207 190 set-dir /Applications/PixelTANGO/fonts; +#X obj 156 138 delay 150; +#X msg 33 302 list 1 2; +#X obj 40 353 print; +#X obj 39 325 t b l; +#X obj 268 215 route set-dir; +#X obj 207 256 prepend options; +#X connect 2 0 13 0; +#X connect 4 0 3 0; +#X connect 5 0 12 0; +#X connect 6 0 4 0; +#X connect 8 0 9 0; +#X connect 10 0 11 0; +#X connect 11 0 4 0; +#X connect 12 0 4 0; +#X connect 13 0 19 0; +#X connect 13 1 3 0; +#X connect 14 0 6 0; +#X connect 16 0 26 0; +#X connect 18 0 16 0; +#X connect 19 0 21 0; +#X connect 19 1 20 0; +#X connect 20 0 16 0; +#X connect 20 0 25 0; +#X connect 21 0 18 0; +#X connect 22 0 24 0; +#X connect 24 0 23 0; +#X connect 24 1 23 0; +#X connect 25 0 17 0; +#X connect 26 0 15 0; +#X restore 9 241 pd interna; +#X obj 9 219 inlet; +#X obj 74 219 inlet; +#X obj 9 263 outlet; +#X obj 74 263 outlet; +#X obj 160 65 s \$0-text; +#X obj 5 150 s \$0-font-size; +#X msg 114 145 clear; +#X obj 1 1 cnv 5 128 140 empty empty Text_Entry 5 6 1 9 -249661 -66577 +0; +#X obj 7 121 nbx 3 14 -1e+37 1e+37 0 0 empty empty Size 35 8 1 9 -262144 +-1 -1 0 256; +#X obj 114 2 bng 11 250 50 0 \$0- \$0 Send -22 6 1 8 -262144 -1 -1 +; +#X obj 114 123 bng 11 250 50 0 \$0- \$0 Clear -22 7 1 8 -262144 -1 +-1; +#X obj 141 3 commun /text \$0; +#X obj 39 175 commun /font-size \$0; +#X obj 171 43 prepend set; +#X obj 3 14 entry 124 75 white black; +#X obj 141 22 t b a; +#X obj 165 199 s \$0-font; +#X obj 251 116 commun /font \$0; +#X obj 186 94 route bang; +#X msg 159 236 options Empty; +#X obj 186 146 popup_lister 500 \$0-font-popup; +#X obj 3 92 popup 124 25 grey95 Font Empty; +#X connect 0 0 3 0; +#X connect 0 1 4 0; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X connect 7 0 15 0; +#X connect 9 0 6 0; +#X connect 9 0 13 0; +#X connect 10 0 15 0; +#X connect 11 0 7 0; +#X connect 11 0 15 0; +#X connect 12 0 16 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 5 0; +#X connect 15 0 12 0; +#X connect 16 0 15 0; +#X connect 16 1 14 0; +#X connect 18 0 22 0; +#X connect 19 0 21 0; +#X connect 19 1 18 0; +#X connect 20 0 22 0; +#X connect 21 0 22 0; +#X connect 22 0 19 0; +#X connect 22 1 17 0; +#X coords 0 0 1 1 130 142 1; diff --git a/abstractions/pt.fader.pd b/abstractions/pt.fader.pd new file mode 100644 index 0000000..5f545e5 --- /dev/null +++ b/abstractions/pt.fader.pd @@ -0,0 +1,119 @@ +#N canvas 1018 22 130 72 10; +#X obj 1 1 cnv 5 128 70 empty empty empty 5 6 1 9 -249661 -66577 0 +; +#X obj 9 23 hsl 112 15 0 255 0 0 \$0-r \$0-s empty -2 -6 0 8 -258699 +-1 -1 9744 1; +#X obj 9 38 hsl 112 15 0 255 0 0 \$0-g \$0-s empty -2 -6 0 8 -24198 +-1 -1 6644 1; +#X obj 9 53 hsl 112 15 0 255 0 0 \$0-b \$0-s empty -2 -6 0 8 -62784 +-1 -1 5600 1; +#X text 4 75 Fader; +#N canvas 59 504 724 521 interna 0; +#X obj 9 24 cnv 15 200 250 empty empty empty 5 8 1 10 -3121 -1 0; +#X text 10 7 Alpha based fader; +#X obj 18 61 inlet; +#X obj 35 247 outlet; +#X obj 104 214 alpha; +#X obj 52 142 colorRGB; +#X obj 229 21 cnv 15 300 340 empty empty empty 5 8 1 10 -260390 -1 +0; +#X obj 480 330 outlet; +#X obj 427 29 inlet; +#X obj 236 319 prepend alpha; +#N canvas 147 263 235 178 invert 0; +#X text 22 17 0-1 to 1-0; +#X obj 25 49 inlet; +#X obj 25 104 outlet; +#X obj 25 76 expr (-1*$f1)+1; +#X connect 1 0 3 0; +#X connect 3 0 2 0; +#X restore 236 300 pd invert; +#X obj 236 338 outlet; +#X text 282 338 Xfade; +#X text 392 327 passthrough; +#X obj 14 33 interp4 \$0-r \$0-g \$0-b \$0-a; +#X obj 236 281 r \$0-a; +#X obj 317 115 mementoSetup pt.fader \$0; +#X text 20 313 test case for memento; +#X obj 274 223 s \$0-s; +#X text 312 204 <- conflict w/ state-saving?!; +#X obj 273 182 delay 25; +#X text 23 384 now turns alpha blending off when alpha value is set +to >= 1; +#X obj 126 170 r \$0-alpha; +#X obj 239 115 pack f f f; +#X obj 239 135 prepend colour; +#X obj 237 31 r \$0-r; +#X obj 287 31 r \$0-g; +#X obj 337 31 r \$0-b; +#X obj 287 53 t b f; +#X obj 337 53 t b f; +#X obj 42 86 / 255; +#X obj 67 62 / 255; +#X obj 97 87 / 255; +#X obj 239 85 int; +#X obj 284 85 int; +#X obj 324 85 int; +#X msg 274 202 255; +#X connect 2 0 5 0; +#X connect 4 0 3 0; +#X connect 5 0 4 0; +#X connect 8 0 16 0; +#X connect 9 0 11 0; +#X connect 10 0 9 0; +#X connect 14 0 30 0; +#X connect 14 1 31 0; +#X connect 14 2 32 0; +#X connect 14 3 5 4; +#X connect 15 0 10 0; +#X connect 16 0 20 0; +#X connect 16 1 7 0; +#X connect 20 0 36 0; +#X connect 22 0 4 0; +#X connect 23 0 24 0; +#X connect 24 0 7 0; +#X connect 25 0 33 0; +#X connect 26 0 28 0; +#X connect 27 0 29 0; +#X connect 28 0 23 0; +#X connect 28 1 34 0; +#X connect 29 0 23 0; +#X connect 29 1 35 0; +#X connect 30 0 5 1; +#X connect 31 0 5 2; +#X connect 32 0 5 3; +#X connect 33 0 23 0; +#X connect 34 0 23 1; +#X connect 35 0 23 2; +#X connect 36 0 18 0; +#X restore 14 123 pd interna; +#X obj 14 101 inlet; +#X obj 79 101 inlet; +#X obj 14 145 outlet; +#X obj 46 165 outlet; +#X obj 79 185 outlet; +#X obj 157 56 commun /a \$0; +#X obj 157 75 commun /r \$0; +#X obj 157 94 commun /g \$0; +#X obj 157 113 commun /b \$0; +#X obj 24 4 hsl 97 15 0 1 0 0 \$0-a \$0-s Fader 45 8 1 8 -225280 -1 +-1 9600 1; +#X obj 6 4 tgl 15 0 \$0-alpha \$0-s empty 0 -6 0 8 -225280 -1 -1 1 +1; +#X obj 157 36 commun /alpha \$0; +#X connect 1 0 12 0; +#X connect 2 0 13 0; +#X connect 3 0 14 0; +#X connect 5 0 8 0; +#X connect 5 1 9 0; +#X connect 5 2 10 0; +#X connect 6 0 5 0; +#X connect 7 0 5 1; +#X connect 11 0 15 0; +#X connect 12 0 1 0; +#X connect 13 0 2 0; +#X connect 14 0 3 0; +#X connect 15 0 11 0; +#X connect 16 0 17 0; +#X connect 17 0 16 0; +#X coords 0 0 1 1 130 72 1; diff --git a/abstractions/pt.feedback.pd b/abstractions/pt.feedback.pd new file mode 100644 index 0000000..46179f4 --- /dev/null +++ b/abstractions/pt.feedback.pd @@ -0,0 +1,204 @@ +#N canvas 433 42 134 136 10; +#N canvas 433 329 796 469 interna 0; +#X obj 425 20 cnv 15 300 300 empty empty empty 5 8 1 10 -260390 -1 +0; +#X obj 8 20 cnv 15 400 350 empty empty empty 5 8 1 10 -3121 -1 0; +#X msg 49 75 snap; +#X obj 27 51 render_trigger; +#X text 331 47 Before; +#X obj 335 28 gemhead 1; +#X obj 27 326 outlet; +#X obj 27 28 inlet; +#X msg 298 162 \$1 \$2; +#X obj 198 138 pack f f; +#X obj 198 68 r \$0-x-off; +#X obj 219 112 t b f; +#X obj 298 138 pack f f; +#X obj 319 112 t b f; +#X obj 298 68 r \$0-x-size; +#X obj 319 89 r \$0-y-size; +#X obj 672 297 outlet; +#X obj 586 28 inlet; +#X obj 27 275 translateXYZ 0 0 -1; +#X obj 453 268 prepend videoPlaneCorrection; +#X msg 453 246 1.33333; +#X obj 219 89 r \$0-y-off; +#X msg 198 162 \$1 \$2; +#X text 511 246 A*; +#X text 12 379 A* The feedback surface goes in front of the stack \, +so it occludes anything that would normally feedback on it. We can't +make the surface ORTHO or it stays in front of everything. Only problem +with setting it back in the Z dimen is that it'll throw off the Video_Plane +size!!! This is how we correct for the video plane size.; +#X obj 453 181 delay 250; +#X obj 453 155 mementoSetup pt.feedback \$0; +#X obj 586 58 route headSet; +#X obj 27 100 t a; +#X obj 27 180 spigot; +#X obj 27 228 pix_snap2tex \$1 \$2 \$3 \$4; +#X obj 84 180 spigot; +#X obj 63 112 r \$0-type; +#N canvas 0 22 258 148 select 0; +#X obj 47 97 outlet; +#X obj 48 75 == 0; +#X obj 56 31 loadbang; +#X text 118 32 Default; +#X msg 56 51 0; +#X obj 103 97 outlet; +#X obj 104 75 == 1; +#X obj 32 8 inlet; +#X connect 1 0 0 0; +#X connect 2 0 4 0; +#X connect 4 0 1 0; +#X connect 6 0 5 0; +#X connect 7 0 1 0; +#X connect 7 0 6 0; +#X restore 63 132 pd select; +#X obj 84 251 pix_snap \$1 \$2 \$3 \$4; +#N canvas 728 459 454 304 defaults 0; +#X obj 18 46 f \$0; +#X msg 18 67 \; \$1-x-off-set 64 \; \$1-y-off-set -16 \; \$1-x-size-set +512 \; \$1-y-size-set 512; +#X obj 18 25 inlet; +#X connect 0 0 1 0; +#X connect 2 0 0 0; +#X restore 470 213 pd defaults; +#N canvas 21 57 832 445 windowResolution 0; +#X obj 62 23 r pt.windowResolution; +#X obj 157 115 strcmp 640 480; +#X obj 157 136 == 0; +#X obj 297 112 strcmp 512 512; +#X obj 437 112 strcmp 1024 512; +#X obj 297 134 == 0; +#X obj 437 134 == 0; +#X obj 25 288 prepend \$0; +#X msg 25 308 \; \$1-x-off-set 0 \; \$1-y-off-set 0 \; \$1-x-size-set +\$2 \; \$1-y-size-set \$3; +#X obj 157 267 select 1; +#X obj 297 264 select 1; +#X obj 437 264 select 1; +#X obj 157 288 f \$0; +#X msg 157 308 \; \$1-x-off-set 64 \; \$1-y-off-set -16 \; \$1-x-size-set +512 \; \$1-y-size-set 512; +#X obj 297 288 f \$0; +#X obj 437 288 f \$0; +#X msg 297 308 \; \$1-x-off-set 0 \; \$1-y-off-set 0 \; \$1-x-size-set +512 \; \$1-y-size-set 512; +#X msg 437 308 \; \$1-x-off-set 0 \; \$1-y-off-set 0 \; \$1-x-size-set +1024 \; \$1-y-size-set 512; +#X obj 62 44 prepend list; +#X obj 25 267 lister; +#X obj 72 67 t l l l; +#X obj 227 182 ||; +#X obj 211 207 ||; +#X obj 211 229 select 0; +#X text 226 22 Chooses good guess of pt.feedback settings for each +window resolution.; +#X text 319 379 ^ Redundant!; +#X text 437 380 ^ Redundant!; +#X connect 0 0 18 0; +#X connect 1 0 2 0; +#X connect 2 0 9 0; +#X connect 2 0 22 0; +#X connect 3 0 5 0; +#X connect 4 0 6 0; +#X connect 5 0 10 0; +#X connect 5 0 21 0; +#X connect 6 0 11 0; +#X connect 6 0 21 1; +#X connect 7 0 8 0; +#X connect 9 0 12 0; +#X connect 10 0 14 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 14 0 16 0; +#X connect 15 0 17 0; +#X connect 18 0 20 0; +#X connect 18 0 19 1; +#X connect 19 0 7 0; +#X connect 20 0 1 0; +#X connect 20 1 3 0; +#X connect 20 2 4 0; +#X connect 21 0 22 1; +#X connect 22 0 23 0; +#X connect 23 0 19 0; +#X restore 246 335 pd windowResolution; +#X connect 2 0 28 0; +#X connect 3 0 28 0; +#X connect 3 2 2 0; +#X connect 5 0 28 0; +#X connect 7 0 3 0; +#X connect 8 0 30 2; +#X connect 8 0 34 2; +#X connect 9 0 22 0; +#X connect 10 0 9 0; +#X connect 11 0 9 0; +#X connect 11 1 9 1; +#X connect 12 0 8 0; +#X connect 13 0 12 0; +#X connect 13 1 12 1; +#X connect 14 0 12 0; +#X connect 15 0 13 0; +#X connect 17 0 27 0; +#X connect 18 0 6 0; +#X connect 19 0 16 0; +#X connect 20 0 19 0; +#X connect 21 0 11 0; +#X connect 22 0 30 1; +#X connect 22 0 34 1; +#X connect 25 0 20 0; +#X connect 25 0 35 0; +#X connect 26 0 25 0; +#X connect 26 1 16 0; +#X connect 27 0 5 0; +#X connect 27 1 26 0; +#X connect 28 0 29 0; +#X connect 28 0 31 0; +#X connect 29 0 30 0; +#X connect 30 0 18 0; +#X connect 31 0 34 0; +#X connect 32 0 33 0; +#X connect 33 0 29 1; +#X connect 33 1 31 1; +#X connect 34 0 18 0; +#X restore 9 191 pd interna; +#X obj 9 169 inlet; +#X obj 74 169 inlet; +#X obj 9 213 outlet; +#X obj 74 213 outlet; +#X obj 1 1 cnv 5 128 130 empty empty Texture_Feedback 5 6 1 9 -249661 +-66577 0; +#X obj 23 50 nbx 4 14 -1e+37 1e+37 0 0 \$0-x-off \$0-x-off-set X_Offset +45 8 1 9 -262144 -1 -1 0 256; +#X obj 23 90 nbx 4 14 -1e+37 1e+37 0 0 \$0-x-size \$0-x-size-set X_Size +45 8 1 9 -262144 -1 -1 512 256; +#X obj 23 110 nbx 4 14 -1e+37 1e+37 0 0 \$0-y-size \$0-y-size-set Y_Size +45 8 1 9 -262144 -1 -1 512 256; +#X obj 23 70 nbx 4 14 -1e+37 1e+37 0 0 \$0-y-off \$0-y-off-set Y_Offset +45 8 1 9 -262144 -1 -1 0 256; +#X obj 157 76 commun /x_off \$0; +#X obj 157 95 commun /y_off \$0; +#X obj 157 114 commun /x_size \$0; +#X obj 157 134 commun /y_size \$0; +#X obj 2 17 popup 124 25 grey95 Type snap snap2tex; +#X obj 166 45 commun /type \$0; +#X obj 164 16 route bang; +#X text 8 244 Need to add functionality for popup and; +#X obj 277 45 s \$0-type; +#X connect 0 0 3 0; +#X connect 0 1 4 0; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X connect 6 0 10 0; +#X connect 7 0 12 0; +#X connect 8 0 13 0; +#X connect 9 0 11 0; +#X connect 10 0 6 0; +#X connect 11 0 9 0; +#X connect 12 0 7 0; +#X connect 13 0 8 0; +#X connect 14 0 16 0; +#X connect 15 0 14 0; +#X connect 16 1 15 0; +#X connect 16 1 18 0; +#X coords 0 0 1 1 130 132 1; diff --git a/abstractions/pt.file.pd b/abstractions/pt.file.pd new file mode 100644 index 0000000..af05ce2 --- /dev/null +++ b/abstractions/pt.file.pd @@ -0,0 +1,36 @@ +#N canvas 706 141 134 46 10; +#X obj 1 1 cnv 5 128 40 empty empty File_Management 5 6 1 9 -249661 +-66577 0; +#X text 8 133 Facility to choose and select files; +#N canvas 0 22 489 278 interna 0; +#X text 9 4 Facility to choose and select files; +#X obj 115 20 cnv 15 350 240 empty empty empty 5 8 1 10 -260390 -1 +0; +#X obj 293 156 prepend file; +#X obj 417 27 inlet; +#X obj 415 234 outlet; +#X obj 8 20 cnv 15 100 240 empty empty empty 5 8 1 10 -3121 -1 0; +#X obj 21 34 inlet; +#X obj 21 234 outlet; +#X obj 293 134 prepend open; +#X obj 293 112 openpanel; +#X obj 293 92 r \$0-open; +#X connect 2 0 4 0; +#X connect 3 0 4 0; +#X connect 6 0 7 0; +#X connect 8 0 2 0; +#X connect 9 0 8 0; +#X connect 10 0 9 0; +#X restore 10 185 pd interna; +#X obj 10 163 inlet; +#X obj 75 164 inlet; +#X obj 10 207 outlet; +#X obj 75 208 outlet; +#X obj 143 110 s \$0-path; +#X obj 7 18 bng 15 250 50 0 \$0-open \$0 Open 20 8 1 9 -262144 -1 -1 +; +#X connect 2 0 5 0; +#X connect 2 1 6 0; +#X connect 3 0 2 0; +#X connect 4 0 2 1; +#X coords 0 0 1 1 130 42 1; diff --git a/abstractions/pt.filelist.pd b/abstractions/pt.filelist.pd new file mode 100644 index 0000000..1b7bb71 --- /dev/null +++ b/abstractions/pt.filelist.pd @@ -0,0 +1,97 @@ +#N canvas 394 251 130 112 10; +#X obj 1 1 cnv 5 128 110 empty empty List_Files 5 6 1 9 -249661 -66577 +0; +#N canvas 544 188 599 585 interna 0; +#X obj 115 20 cnv 15 350 500 empty empty empty 5 8 1 10 -260390 -1 +0; +#X obj 326 474 prepend file; +#X obj 236 29 inlet; +#X obj 420 503 outlet; +#X obj 8 20 cnv 15 100 340 empty empty empty 5 8 1 10 -3121 -1 0; +#X obj 21 34 inlet; +#X obj 21 334 outlet; +#X obj 326 454 prepend open; +#X text 9 4 Facility to glob directories of files; +#X obj 164 218 dirlist; +#X obj 235 145 r \$0-dir; +#X obj 123 145 r \$0-pattern; +#X obj 123 165 prepend pattern; +#X obj 236 50 mementoSetup pt.filelist \$0; +#X obj 236 90 f \$0; +#X obj 164 266 s \$0-files; +#X obj 326 434 r \$0-file; +#X obj 164 242 prepend options; +#X msg 253 191 set-dir \$1; +#X msg 236 110 \; \$1-set-pattern symbol *; +#X obj 235 219 s \$0-dir-in; +#X obj 124 475 r \$0-reload; +#X obj 124 497 s \$0-set-pattern; +#X obj 304 145 r \$0-dir-out; +#X obj 236 70 delay 65; +#X text 21 533 if the directory is the same then don't send back to +symbol; +#X obj 235 165 dirpanel; +#X connect 1 0 3 0; +#X connect 2 0 13 0; +#X connect 5 0 6 0; +#X connect 7 0 1 0; +#X connect 9 0 17 0; +#X connect 10 0 26 0; +#X connect 11 0 12 0; +#X connect 12 0 9 0; +#X connect 13 0 24 0; +#X connect 13 1 3 0; +#X connect 14 0 19 0; +#X connect 16 0 7 0; +#X connect 17 0 15 0; +#X connect 18 0 9 0; +#X connect 21 0 22 0; +#X connect 23 0 18 0; +#X connect 24 0 14 0; +#X connect 26 0 18 0; +#X connect 26 0 20 0; +#X restore 10 295 pd interna; +#X obj 10 273 inlet; +#X obj 75 274 inlet; +#X obj 10 317 outlet; +#X obj 75 318 outlet; +#X obj 7 18 bng 15 250 50 0 \$0-dir \$0 Dir 20 8 1 9 -262144 -1 -1 +; +#X symbolatom 7 60 10 0 0 1 - #0-set-pattern #0-pattern; +#X obj 83 62 cnv 5 15 10 empty empty Pattern 5 6 1 9 -249661 -1 0; +#X obj 120 119 s \$0-file; +#X text 9 249 Facility to glob directories of files; +#X obj 386 30 commun /directory \$0; +#X obj 245 122 s \$0-set-pattern; +#X obj 245 30 commun /pattern \$0; +#X text 118 291 Only pattern and directory are state-saved.; +#X obj 245 10 r \$0-pattern; +#X obj 106 18 bng 15 250 50 0 \$0-reload \$0 Update -38 8 1 9 -262144 +-1 -1; +#X symbolatom 7 40 16 0 0 1 - #0-dir-in #0-dir-out; +#X obj 386 51 prepend set; +#X obj 245 51 prepend set; +#X obj 301 76 r \$0-reload; +#X obj 386 9 r \$0-dir-out; +#X obj 386 122 s \$0-dir-in; +#X obj 301 97 t b b; +#X msg 17 215 options empty \, name files; +#X obj 3 81 popup 124 25 grey95 files empty; +#X obj 147 22 r \$0-files; +#X connect 1 0 4 0; +#X connect 1 1 5 0; +#X connect 2 0 1 0; +#X connect 3 0 1 1; +#X connect 11 0 18 0; +#X connect 13 0 19 0; +#X connect 15 0 13 0; +#X connect 18 0 22 0; +#X connect 19 0 12 0; +#X connect 20 0 23 0; +#X connect 21 0 11 0; +#X connect 23 0 12 0; +#X connect 23 1 22 0; +#X connect 24 0 25 0; +#X connect 25 1 9 0; +#X connect 26 0 25 0; +#X coords 0 0 1 1 130 112 1; diff --git a/abstractions/pt.interp.pd b/abstractions/pt.interp.pd new file mode 100644 index 0000000..44be78b --- /dev/null +++ b/abstractions/pt.interp.pd @@ -0,0 +1,60 @@ +#N canvas 330 211 130 49 10; +#X obj 1 1 cnv 5 128 47 empty empty empty 5 6 1 9 -133153 -66577 0 +; +#X text 6 52 Interpolation control; +#N canvas 0 22 773 342 defaults 0; +#X obj 80 74 f \$0; +#X obj 31 19 loadbang; +#X text 181 83 53.9 is equivalent to 0.8 after scaling.; +#X obj 31 194 outlet; +#X msg 31 169 0; +#X text 66 169 Low-pass is the default; +#X text 32 226 * Why does popup crash when you set its value? Is it +taking too long to initialize so that its getting caught in the middle?? +; +#X msg 79 96 53.9; +#X obj 82 135 outlet; +#X obj 57 51 delay 25; +#X connect 0 0 7 0; +#X connect 1 0 9 0; +#X connect 4 0 3 0; +#X connect 7 0 8 0; +#X connect 9 0 0 0; +#X restore 157 148 pd defaults; +#X obj 95 99 s ptInterpType; +#X obj 174 17 commun /smoothness \$0; +#X obj 198 99 commun /type \$0; +#N canvas 449 141 529 456 memento 0; +#X obj 29 66 t b f; +#X msg 29 90 set; +#X msg 59 90 substate \$1; +#X obj 222 217 route osc; +#X obj 29 46 r pt.currentPreset; +#X text 16 9 Does all the crap for memento naming/collection and abstraction +registration \$1 is abst-name \$2 is \$0 variable; +#X obj 305 75 inlet; +#X obj 115 252 originator /pt/interp \$0; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 1 0 7 0; +#X connect 2 0 7 0; +#X connect 3 0 7 1; +#X connect 4 0 0 0; +#X connect 6 0 3 0; +#X restore 42 175 pd memento; +#X obj 43 151 r pt.osc; +#X text 12 127 receive OSC on pt.osc; +#X obj 3 21 popup 124 25 grey50 Interpolate Low-Pass Linear None; +#X obj 9 4 hsl 112 14 1 100 1 0 ptInterpSmoothness \$0-set Smoothness +30 8 1 8 -262144 -1 -128992 9610 1; +#X obj 229 178 s \$0-set; +#X obj 90 75 route bang; +#X connect 2 1 11 0; +#X connect 4 0 10 0; +#X connect 5 0 9 0; +#X connect 7 0 6 0; +#X connect 9 0 12 0; +#X connect 10 0 4 0; +#X connect 12 1 5 0; +#X connect 12 1 3 0; +#X coords 0 0 1 1 130 49 1; diff --git a/abstractions/pt.layer.pd b/abstractions/pt.layer.pd new file mode 100644 index 0000000..667fd35 --- /dev/null +++ b/abstractions/pt.layer.pd @@ -0,0 +1,74 @@ +#N canvas 80 467 130 22 10; +#X obj 1 1 cnv 5 128 20 empty empty empty 5 6 1 9 -128992 -66577 0 +; +#X obj 7 3 tgl 15 0 \$0-head \$0-headset \$1-Layer 20 9 1 12 -262144 +-1 -33289 1 1; +#N canvas 100 22 579 363 interna 0; +#X text 5 6 Render priority \, layer visibility; +#X obj 263 6 cnv 15 200 250 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 414 230 outlet; +#X obj 10 23 cnv 15 100 230 empty empty empty 5 8 1 10 -3121 -1 0; +#X obj 22 185 outlet; +#X obj 22 160 gemhead \$1; +#X obj 22 55 r \$0-head; +#X obj 39 109 loadbang; +#X obj 287 171 r \$0-head; +#X obj 287 193 prepend headSet; +#X obj 339 130 register-head \$1; +#N canvas 47 258 474 324 memento 0; +#X obj 29 66 t b f; +#X msg 29 90 set; +#X msg 59 90 substate \$1; +#X obj 222 217 route osc; +#X obj 115 214 prepend create; +#X obj 29 46 r pt.currentPreset; +#X text 16 9 Does all the crap for memento naming/collection and abstraction +registration \$1 is abst-name \$2 is \$0 variable; +#X obj 305 75 inlet; +#X obj 305 262 outlet; +#X obj 150 168 list2osc; +#X obj 150 121 f \$1; +#X obj 150 99 loadbang; +#X msg 150 144 list pt \$1; +#X obj 115 252 originator NOTSET \$0; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 1 0 13 0; +#X connect 2 0 13 0; +#X connect 3 0 13 1; +#X connect 4 0 13 0; +#X connect 5 0 0 0; +#X connect 7 0 3 0; +#X connect 7 0 8 0; +#X connect 9 0 4 0; +#X connect 10 0 12 0; +#X connect 11 0 10 0; +#X connect 12 0 9 0; +#X restore 368 90 pd memento; +#X obj 416 14 inlet; +#X msg 39 133 0; +#X text 22 270 All layers are initiall invisible \, overridden by memento +state; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 7 0 13 0; +#X connect 8 0 9 0; +#X connect 9 0 2 0; +#X connect 10 0 2 0; +#X connect 11 0 2 0; +#X connect 12 0 11 0; +#X connect 13 0 5 0; +#X connect 13 0 9 0; +#X restore 5 73 pd interna; +#X text 3 29 Render priority \, layer visibility; +#X obj 5 96 outlet; +#X obj 69 96 outlet; +#X obj 5 50 inlet; +#X obj 145 58 commun /vis \$0; +#X connect 1 0 7 0; +#X connect 2 0 4 0; +#X connect 2 1 5 0; +#X connect 6 0 2 0; +#X connect 7 0 1 0; +#X coords 0 0 1 1 130 22 1; diff --git a/abstractions/pt.layerfx.pd b/abstractions/pt.layerfx.pd new file mode 100644 index 0000000..79deff6 --- /dev/null +++ b/abstractions/pt.layerfx.pd @@ -0,0 +1,100 @@ +#N canvas 76 42 130 49 10; +#X obj 1 1 cnv 5 128 47 empty empty empty 5 6 1 9 -249661 -66577 0 +; +#X text 6 52 layer_fx; +#X obj 10 91 inlet; +#X obj 10 135 outlet; +#X obj 75 135 outlet; +#X obj 152 4 commun /amount \$0; +#X obj 212 82 commun /fx-index \$0; +#X obj 9 4 hsl 112 14 0.01 1 0 0 \$0-fxAmount \$0 fx_amount 38 8 1 +8 -262144 -1 -128992 0 1; +#X obj 233 57 s \$0-index; +#X text 122 262 Due to dynamics this index could change!! Use symbol +references? (how to manage them?) dir2Abstraction array would need +to do the work... the paths would be absolute.; +#X obj 159 28 route bang; +#X obj 75 91 inlet; +#N canvas 135 22 674 578 new 0; +#X obj 13 28 inlet; +#X text 13 -1 Pixel Effects; +#X obj 13 447 outlet; +#X obj 380 8 cnv 15 250 140 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 569 20 inlet; +#X obj 569 123 outlet; +#X obj 65 46 r \$0-fxAmount; +#X obj 392 58 mementoSetup pt.layerfx \$0; +#X obj 119 389 prepend options; +#X obj 169 313 r \$0-index; +#X obj 119 416 s \$0-index-set; +#X msg 72 168 pattern fx/*.pd; +#X text 416 233 ^ Hard-coded \, bad bad bad!; +#X obj 84 72 r pt.updateArrays; +#X obj 137 95 loadbang; +#X msg 202 247 clear bang; +#X obj 248 343 print pt.layerfx-Dynamic-FX; +#X msg 248 293 bang; +#X obj 13 346 dir2abstractionArray \$0; +#X obj 392 80 s \$0-defaults; +#X obj 448 129 route layerNum; +#X obj 383 419 print DEBUG; +#X msg 145 198 set-dir /Applications/PixelTANGO-CVS/abstractions/; +#X obj 383 370 pack s s f; +#X obj 262 318 prepend symbol; +#X msg 383 397 Dir: \$2 Read-dir: \$1 Layernum \$3; +#X obj 415 292 prepend symbol; +#X obj 123 116 t b b b; +#X obj 415 270 route set-dir; +#X connect 0 0 18 0; +#X connect 4 0 7 0; +#X connect 6 0 18 1; +#X connect 7 0 19 0; +#X connect 7 1 5 0; +#X connect 7 1 20 0; +#X connect 8 0 10 0; +#X connect 9 0 18 3; +#X connect 11 0 17 0; +#X connect 11 0 18 2; +#X connect 13 0 27 0; +#X connect 14 0 27 0; +#X connect 15 0 18 2; +#X connect 17 0 16 0; +#X connect 17 0 24 0; +#X connect 18 0 2 0; +#X connect 18 2 8 0; +#X connect 20 0 23 2; +#X connect 22 0 18 2; +#X connect 22 0 28 0; +#X connect 23 0 25 0; +#X connect 24 0 23 0; +#X connect 25 0 21 0; +#X connect 26 0 23 1; +#X connect 27 0 11 0; +#X connect 27 1 22 0; +#X connect 27 2 15 0; +#X connect 28 0 26 0; +#X restore 16 112 pd new interna; +#X msg 140 207 options empty; +#X obj 3 21 popup 124 25 grey95 Effects Passthrough /Applications/PixelTANGO-CVS/abstractions/fx/edge.pd +/Applications/PixelTANGO-CVS/abstractions/fx/emboss.pd /Applications/PixelTANGO-CVS/abstractions/fx/gain.pd +/Applications/PixelTANGO-CVS/abstractions/fx/motionblur.pd /Applications/PixelTANGO-CVS/abstractions/fx/negative.pd +/Applications/PixelTANGO-CVS/abstractions/fx/normalize.pd /Applications/PixelTANGO-CVS/abstractions/fx/posterize.pd +/Applications/PixelTANGO-CVS/abstractions/fx/randomdot.pd /Applications/PixelTANGO-CVS/abstractions/fx/roll.pd +/Applications/PixelTANGO-CVS/abstractions/fx/rtx-DANGER_USE_AT_YOUR_OWN_RISK.pd +/Applications/PixelTANGO-CVS/abstractions/fx/scanline.pd; +#X obj 159 105 popup_lister 500 \$0-index-set; +#X connect 2 0 12 0; +#X connect 5 0 7 0; +#X connect 6 0 14 0; +#X connect 7 0 5 0; +#X connect 10 0 15 0; +#X connect 10 1 6 0; +#X connect 10 1 8 0; +#X connect 11 0 12 1; +#X connect 12 0 3 0; +#X connect 12 1 4 0; +#X connect 13 0 14 0; +#X connect 14 0 10 0; +#X connect 15 0 14 0; +#X coords 0 0 1 1 130 49 1; diff --git a/abstractions/pt.light.pd b/abstractions/pt.light.pd new file mode 100644 index 0000000..70c7916 --- /dev/null +++ b/abstractions/pt.light.pd @@ -0,0 +1,125 @@ +#N canvas 607 382 130 132 10; +#X obj 1 1 cnv 5 128 130 empty empty \$1-Light 5 7 1 11 -133153 -1 +0; +#X obj 113 3 bng 11 250 50 0 \$0-reset \$0- Reset -25 6 1 8 -262144 +-1 -1; +#X obj 34 39 hsl 60 15 0 1 0 0 \$0-r \$0-sc empty -2 -6 2 8 -258699 +-1 -1 5900 1; +#X obj 34 56 hsl 60 15 0 1 0 0 \$0-g \$0-sc empty -2 -6 2 8 -24198 +-1 -1 5900 1; +#X obj 34 73 hsl 60 15 0 1 0 0 \$0-b \$0-sc empty -2 -6 2 8 -62784 +-1 -1 5900 1; +#X obj 14 111 hsl 100 15 -2 7 0 0 \$0-z \$0-sz empty -2 -6 2 8 -262144 +-1 -1 6600 1; +#X obj 11 35 vsl 15 70 -4 4 0 0 \$0-y \$0-sxy empty 0 -8 2 8 -262144 +-1 -1 3450 1; +#X obj 29 18 hsl 70 15 -4 4 0 0 \$0-x \$0-sxy empty -2 -6 2 8 -262144 +-1 -1 3450 1; +#X obj 101 33 cnv 15 15 75 empty empty empty 20 12 0 14 -166441 -66577 +0; +#X obj 34 90 hsl 60 15 0 1 0 0 \$0-sc \$0-sb empty -2 -6 2 8 -262144 +-1 -1 5900 1; +#N canvas 518 270 481 403 interna 0; +#X obj 19 127 translateXYZ; +#N canvas 736 91 337 192 defaults 0; +#X obj 151 25 r \$0-reset; +#X msg 30 69 1; +#X obj 30 90 s \$0-sc; +#X obj 87 90 s \$0-sxy; +#X msg 87 69 0; +#X msg 151 69 4; +#X obj 151 90 s \$0-sz; +#X obj 15 112 s \$0-sb; +#X obj 30 26 bang; +#X obj 30 5 inlet; +#X connect 0 0 5 0; +#X connect 0 0 4 0; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 7 0; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 8 0 1 0; +#X connect 8 0 4 0; +#X connect 8 0 5 0; +#X connect 9 0 8 0; +#X restore 241 185 pd defaults; +#X obj 29 86 interp3 \$0-x \$0-y \$0-z; +#X obj 19 325 light; +#X obj 49 285 pack f f f; +#X obj 125 285 bang; +#X text 7 3 Light; +#X obj 18 44 gemhead 5; +#N canvas 632 292 525 452 memento 0; +#X obj 29 66 t b f; +#X msg 29 90 set; +#X msg 59 90 substate \$1; +#X obj 222 237 route osc; +#X obj 29 46 r pt.currentPreset; +#X obj 305 75 inlet; +#X obj 66 281 originator /pt/light \$0; +#X obj 84 253 prepend create; +#X obj 84 225 list2osc; +#X msg 84 200 pt light \$1; +#X obj 84 179 f \$1; +#X obj 69 120 loadbang; +#X text 16 9 Here we are using the first creation argument to pt.light +as the instance number. 1-8; +#X obj 53 150 t b b; +#X obj 53 328 outlet; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 1 0 6 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 4 0 0 0; +#X connect 5 0 3 0; +#X connect 7 0 6 0; +#X connect 8 0 7 0; +#X connect 9 0 8 0; +#X connect 10 0 9 0; +#X connect 11 0 13 0; +#X connect 13 0 14 0; +#X connect 13 1 10 0; +#X restore 241 139 pd memento; +#X obj 241 117 r pt.osc; +#X text 210 93 receive OSC on pt.osc; +#X obj 241 162 delay 25; +#X text 32 362 Added interpolation for light colours (for state-animation) +; +#X obj 49 241 interp3 \$0-r \$0-g \$0-b; +#X connect 0 0 3 0; +#X connect 2 0 0 1; +#X connect 2 1 0 2; +#X connect 2 2 0 3; +#X connect 4 0 3 1; +#X connect 5 0 4 0; +#X connect 7 0 0 0; +#X connect 8 0 11 0; +#X connect 9 0 8 0; +#X connect 11 0 1 0; +#X connect 13 0 4 0; +#X connect 13 1 4 1; +#X connect 13 1 5 0; +#X connect 13 2 4 2; +#X connect 13 2 5 0; +#X restore 11 141 pd interna; +#X obj 157 55 commun /r \$0; +#X obj 157 74 commun /g \$0; +#X obj 157 93 commun /b \$0; +#X obj 157 16 commun /x \$0; +#X obj 157 36 commun /y \$0; +#X obj 157 112 commun /z \$0; +#X connect 2 0 11 0; +#X connect 3 0 12 0; +#X connect 4 0 13 0; +#X connect 5 0 16 0; +#X connect 6 0 15 0; +#X connect 7 0 14 0; +#X connect 11 0 2 0; +#X connect 12 0 3 0; +#X connect 13 0 4 0; +#X connect 14 0 7 0; +#X connect 15 0 6 0; +#X connect 16 0 5 0; +#X coords 0 0 0.00214592 0.00316456 130 132 1; diff --git a/abstractions/pt.live.pd b/abstractions/pt.live.pd new file mode 100644 index 0000000..0dd694b --- /dev/null +++ b/abstractions/pt.live.pd @@ -0,0 +1,58 @@ +#N canvas 774 401 130 25 10; +#X obj 1 1 cnv 5 128 23 empty empty live 5 10 1 9 -249661 -66577 0 +; +#N canvas 659 355 538 319 interna 0; +#X obj 20 38 inlet; +#X obj 22 266 outlet; +#X obj 225 32 cnv 15 300 250 empty empty empty 5 8 1 10 -260390 -1 +0; +#X obj 441 46 inlet; +#X obj 442 259 outlet; +#X text 23 9 Live Video; +#X obj 32 191 pix_video \$1 \$2; +#X msg 100 112 dimen \$1 \$2; +#X obj 102 48 r \$0-x; +#X obj 152 48 r \$0-y; +#X obj 110 82 pack f f; +#X obj 172 82 bang; +#N canvas 0 22 466 316 defaults 0; +#X obj 17 75 f \$1; +#X obj 57 75 f \$2; +#X obj 17 104 s \$0-xs; +#X obj 57 129 s \$0-ys; +#X obj 17 17 inlet; +#X text 42 203 Do these make any sense as defaults???; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 4 0 0 0; +#X connect 4 0 1 0; +#X restore 286 167 pd defaults; +#X obj 286 142 delay 25; +#X obj 286 115 mementoSetup pt.live \$0; +#X connect 0 0 6 0; +#X connect 3 0 14 0; +#X connect 6 0 1 0; +#X connect 7 0 6 0; +#X connect 8 0 10 0; +#X connect 9 0 11 0; +#X connect 9 0 10 1; +#X connect 10 0 7 0; +#X connect 11 0 10 0; +#X connect 13 0 12 0; +#X connect 14 0 13 0; +#X connect 14 1 4 0; +#X restore 10 103 pd interna; +#X obj 10 81 inlet; +#X obj 75 81 inlet; +#X obj 10 125 outlet; +#X obj 75 125 outlet; +#X obj 27 4 nbx 4 14 -1e+37 1e+37 0 0 \$0-x \$0-xs empty 0 -6 0 10 +-262144 -1 -1 0 256; +#X obj 77 4 nbx 4 14 -1e+37 1e+37 0 0 \$0-y \$0-ys empty 0 -6 0 10 +-262144 -1 -1 0 256; +#X text 6 52 live video; +#X connect 1 0 4 0; +#X connect 1 1 5 0; +#X connect 2 0 1 0; +#X connect 3 0 1 1; +#X coords 0 0 1 1 130 25 1; diff --git a/abstractions/pt.loop.pd b/abstractions/pt.loop.pd new file mode 100644 index 0000000..6657ceb --- /dev/null +++ b/abstractions/pt.loop.pd @@ -0,0 +1,153 @@ +#N canvas 1024 150 130 138 10; +#X obj 1 1 cnv 5 128 136 empty empty empty 5 6 1 9 -249661 -66577 0 +; +#X obj 4 4 tgl 15 0 \$0-loop \$0- Loop_Film 25 8 1 8 -262144 -1 -33289 +0 1; +#X obj 8 92 hsl 112 15 198 5 1 0 \$0-rate empty play_rate 38 8 1 8 +-262144 -1 -128992 0 1; +#X obj 8 23 hsl 115 15 0 100 0 0 \$0-in_slider \$0-ins in_point 40 +8 1 8 -262144 -1 -128992 0 1; +#X obj 8 38 hsl 115 15 0 100 0 0 \$0-out_slider \$0-outs out_point +37 8 1 8 -262144 -1 -128992 0 1; +#N canvas 722 265 625 550 interna 0; +#X text 15 9 Film Looper; +#X obj 146 8 cnv 15 270 340 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 353 16 inlet; +#X obj 366 325 outlet; +#X obj 8 27 cnv 15 100 320 empty empty empty 5 8 1 10 -3121 -1 0; +#X obj 16 38 inlet; +#X obj 19 326 outlet; +#X obj 178 259 prepend loopPos; +#X obj 151 149 route loop rate type in out numFrames; +#N canvas 207 285 609 630 looper 0; +#X text 74 18 Initialize; +#X msg 26 78 33; +#X obj 87 157 r \$0-loop; +#X obj 87 205 metro 33; +#X obj 152 231 + 1; +#X obj 152 206 r \$0-direction; +#X obj 86 407 outlet; +#X obj 87 382 counter 1 100 3; +#X obj 102 102 s \$0-ins; +#X obj 163 102 s \$0-outs; +#X obj 43 157 inlet; +#X obj 247 179 inlet; +#X obj 257 206 inlet; +#X obj 283 240 inlet; +#X obj 312 312 inlet; +#X obj 158 328 t b f; +#X msg 163 77 100; +#X obj 382 107 inlet; +#X obj 211 355 expr ($f1/100)*$f2; +#X obj 189 283 expr ($f1/100)*$f2; +#X obj 122 38 r \$0-reset; +#X obj 233 101 s \$0-directions; +#X obj 26 102 s \$0-rates; +#X msg 233 77 0; +#X obj 382 134 t b b f f; +#X msg 102 77 0; +#X text 42 455 Replace with cyclone counter in future?; +#X text 45 476 * added to fix expr /0 error; +#X msg 99 355 clear; +#X obj 21 39 bang; +#X obj 20 14 inlet; +#X obj 189 240 r \$0-loop-in; +#X obj 211 312 r \$0-loop-out; +#X obj 137 179 r \$0-rate; +#X connect 1 0 22 0; +#X connect 2 0 3 0; +#X connect 3 0 7 0; +#X connect 4 0 7 1; +#X connect 5 0 4 0; +#X connect 7 0 6 0; +#X connect 10 0 3 0; +#X connect 11 0 3 1; +#X connect 12 0 4 0; +#X connect 13 0 19 0; +#X connect 14 0 18 0; +#X connect 15 0 28 0; +#X connect 15 1 7 2; +#X connect 16 0 9 0; +#X connect 17 0 24 0; +#X connect 18 0 7 3; +#X connect 19 0 15 0; +#X connect 20 0 1 0; +#X connect 20 0 25 0; +#X connect 20 0 16 0; +#X connect 20 0 23 0; +#X connect 23 0 21 0; +#X connect 24 0 25 0; +#X connect 24 1 16 0; +#X connect 24 2 19 1; +#X connect 24 3 18 1; +#X connect 25 0 8 0; +#X connect 28 0 7 0; +#X connect 29 0 1 0; +#X connect 29 0 25 0; +#X connect 29 0 16 0; +#X connect 30 0 29 0; +#X connect 31 0 19 0; +#X connect 32 0 18 0; +#X connect 33 0 3 1; +#X restore 178 216 pd looper ------------; +#X text 16 356 Outputs absolute frame numbers; +#X text 19 378 Find different method to send "numFrames" through control +bus.; +#X obj 178 46 mementoSetup pt.loop \$0; +#X obj 178 72 delay 250; +#X connect 2 0 12 0; +#X connect 2 0 8 0; +#X connect 5 0 6 0; +#X connect 7 0 3 0; +#X connect 8 0 9 1; +#X connect 8 1 9 2; +#X connect 8 2 9 3; +#X connect 8 3 9 4; +#X connect 8 4 9 5; +#X connect 8 5 9 6; +#X connect 8 6 3 0; +#X connect 9 0 7 0; +#X connect 12 0 13 0; +#X connect 12 1 3 0; +#X connect 13 0 9 0; +#X restore 10 219 pd interna; +#X obj 10 197 inlet; +#X obj 75 198 inlet; +#X obj 10 241 outlet; +#X obj 75 242 outlet; +#X obj 193 185 s \$0-direction; +#X obj 5 57 nbx 8 15 0 1e+06 0 0 \$0-loop-in \$0-in_slider In_Point +65 8 1 8 -262144 -1 -1 0 256; +#X obj 5 73 nbx 8 15 0 1e+06 0 0 \$0-loop-out \$0-out_slider Out_Point +65 8 1 8 -262144 -1 -1 0 256; +#X obj 113 6 bng 11 250 50 0 \$0-reset \$0- Reset -25 6 1 8 -262144 +-1 -1; +#X obj 168 136 r \$0-directions; +#X obj 143 5 commun /loop \$0; +#X obj 151 51 commun /in-point \$0; +#X obj 151 74 commun /out-point \$0; +#X obj 151 106 commun /rate \$0; +#X obj 151 205 commun /direction \$0; +#X text 14 148 Film Looper; +#X obj 128 163 route bang; +#X obj 2 110 popup 124 25 grey95 Direction Forward Reverse Ping-Pong +; +#X connect 1 0 15 0; +#X connect 2 0 18 0; +#X connect 3 0 16 0; +#X connect 4 0 17 0; +#X connect 5 0 8 0; +#X connect 5 1 9 0; +#X connect 6 0 5 0; +#X connect 7 0 5 1; +#X connect 14 0 22 0; +#X connect 15 0 1 0; +#X connect 16 0 3 0; +#X connect 17 0 4 0; +#X connect 18 0 2 0; +#X connect 19 0 22 0; +#X connect 21 1 19 0; +#X connect 21 1 10 0; +#X connect 22 0 21 0; +#X coords 0 0 1 1 130 138 1; diff --git a/abstractions/pt.model.pd b/abstractions/pt.model.pd new file mode 100644 index 0000000..6035e3a --- /dev/null +++ b/abstractions/pt.model.pd @@ -0,0 +1,22 @@ +#N canvas 684 385 150 42 10; +#N canvas 594 292 458 308 interna 0; +#X obj 16 33 inlet; +#X obj 18 228 model; +#X text 12 5 Obj Model; +#X obj 159 5 cnv 15 200 250 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 311 15 inlet; +#X obj 195 109 route file; +#X obj 232 185 register-tail; +#X connect 0 0 1 0; +#X connect 4 0 5 0; +#X connect 5 0 1 0; +#X connect 5 1 6 0; +#X restore 13 52 pd interna; +#X obj 13 29 inlet; +#X obj 78 30 inlet; +#X obj 2 1 cnv 5 128 16 empty empty 3D_Model 5 9 1 12 -128992 -1 0 +; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X coords 0 0 1 1 130 16 1; diff --git a/abstractions/pt.presets.pd b/abstractions/pt.presets.pd new file mode 100644 index 0000000..7902570 --- /dev/null +++ b/abstractions/pt.presets.pd @@ -0,0 +1,65 @@ +#N canvas 110 194 130 71 10; +#X obj 1 1 cnv 5 128 70 empty empty Parameter_Presets 5 6 1 9 -133153 +-1 0; +#N canvas 390 164 447 548 interna 0; +#X obj 10 24 cnv 15 280 340 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X text 10 7 Manage Memento Presets; +#X obj 43 39 inlet; +#X obj 106 230 r \$0-save; +#X obj 65 93 r \$0-load; +#X text 89 38 care-taker commands; +#X obj 43 327 caretaker RRADICAL; +#X obj 65 113 openpanel; +#X obj 106 250 savepanel; +#X msg 106 270 file \$1 \, save RRADICAL; +#X text 21 394 Recreate pt.presets with a "symbol" to store the preset +name. The default name should be [patchname-presets.dat] saved to the +same folder as the main patch. Need externas (toxy?) to get the directory +of the main patch \, and also the name of the main patch. You know +what is better? Leave it like this and add a space for a custom name +for each preset state.; +#X msg 65 133 file \$1 \, load RRADICAL; +#X connect 2 0 6 0; +#X connect 3 0 8 0; +#X connect 4 0 7 0; +#X connect 7 0 11 0; +#X connect 8 0 9 0; +#X connect 9 0 6 0; +#X connect 11 0 6 0; +#X restore 7 168 pd interna; +#X obj 10 46 bng 15 250 50 0 \$0-save \$0 Save 20 8 1 9 -237178 -1 +-1; +#X text 218 76 The file Management here is a little ugly...; +#X obj 60 46 bng 15 250 50 0 \$0-load \$0 Load 20 8 1 9 -237178 -1 +-1; +#X text 4 124 Preset Control; +#X text 233 399 TODO: Add "append" functionality to popup so that each +of the presets can be named.; +#X text 239 115 What is the easiest and most simple way to create this +object? On loadbang it could load the pool \, and this way you would +not really have to worry about it \, unless you need to manage the +files \, ie sets of sets... This would be most useful for the animation +stuff... maybe only the "save" bang should be available? Other methods +can be accessed via messages? open \, save and file can be accessed +by sending messages to inlet; +#X obj 52 144 inlet; +#X obj 4 79 inlet; +#X text 48 80 Set Preset; +#X obj 3 14 popup 124 25 grey50 Presets Preset-01 Preset-02 Preset-03 +Preset-04 Preset-05 Preset-06 Preset-07 Preset-08 Preset-09 Preset-10 +; +#X obj 140 35 s pt.currentPreset; +#X text 237 230 After discussion on mailinglist you decided that both +"load" and "save" would actually set the filename explicitly first. +[file \$1 \, load] [file \$1 \, save]; +#X text 236 295 Recreate pt.presets with a "symbol" to store the preset +name. The default name should be [patchname-presets.dat] saved to the +same folder as the main patch. Need externas (toxy?) to get the directory +of the main patch \, and also the name of the main patch. You know +what is better? Leave it like this and add a space for a custom name +for each preset state.; +#X connect 8 0 1 0; +#X connect 9 0 11 0; +#X connect 11 0 12 0; +#X coords 0 0 1 1 130 72 1; diff --git a/abstractions/pt.rotate.pd b/abstractions/pt.rotate.pd new file mode 100644 index 0000000..88f0466 --- /dev/null +++ b/abstractions/pt.rotate.pd @@ -0,0 +1,57 @@ +#N canvas 568 49 130 68 10; +#N canvas 608 369 558 377 interna 0; +#X obj 12 43 inlet; +#X obj 19 325 outlet; +#X obj 222 4 cnv 15 300 340 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 407 14 inlet; +#X obj 424 319 outlet; +#X obj 65 251 rotateXYZ; +#X text 7 3 Rotate; +#X obj 43 121 interp3 \$0-x \$0-y \$0-z; +#X obj 237 247 s \$0-s; +#X obj 247 205 delay 250; +#X text 317 205 <- conflict w/ state-saving!; +#X msg 237 226 0; +#X obj 237 79 r \$0-reset; +#X obj 254 148 mementoSetup pt.rotate \$0; +#X connect 0 0 5 0; +#X connect 3 0 13 0; +#X connect 5 0 1 0; +#X connect 7 0 5 1; +#X connect 7 1 5 2; +#X connect 7 2 5 3; +#X connect 9 0 11 0; +#X connect 11 0 8 0; +#X connect 12 0 11 0; +#X connect 13 0 9 0; +#X connect 13 1 4 0; +#X restore 11 99 pd interna; +#X obj 1 1 cnv 5 128 66 empty empty Rotate 5 7 1 9 -249661 -66577 0 +; +#X obj 6 19 hsl 117 15 -180 180 0 0 \$0-x \$0-s X 53 8 1 8 -262144 +-1 -1 2950 1; +#X obj 6 34 hsl 117 15 -180 180 0 0 \$0-y \$0-s Y 53 8 1 8 -262144 +-1 -1 5350 1; +#X obj 6 49 hsl 117 15 -180 180 0 0 \$0-z \$0-s Z 53 8 1 8 -262144 +-1 -1 2950 1; +#X obj 113 3 bng 11 250 50 0 \$0-reset \$0- Reset -25 6 1 8 -262144 +-1 -1; +#X obj 11 78 inlet; +#X obj 76 78 inlet; +#X obj 11 120 outlet; +#X obj 76 120 outlet; +#X obj 157 56 commun /x \$0; +#X obj 157 75 commun /y \$0; +#X obj 157 94 commun /z \$0; +#X connect 0 0 8 0; +#X connect 0 1 9 0; +#X connect 2 0 10 0; +#X connect 3 0 11 0; +#X connect 4 0 12 0; +#X connect 6 0 0 0; +#X connect 7 0 0 1; +#X connect 10 0 2 0; +#X connect 11 0 3 0; +#X connect 12 0 4 0; +#X coords 0 0 1 1 130 68 1; diff --git a/abstractions/pt.scale.pd b/abstractions/pt.scale.pd new file mode 100644 index 0000000..9963fd5 --- /dev/null +++ b/abstractions/pt.scale.pd @@ -0,0 +1,49 @@ +#N canvas 277 474 130 42 10; +#N canvas 96 361 525 397 intera 0; +#X obj 26 56 inlet; +#X obj 26 322 outlet; +#X obj 154 4 cnv 15 300 340 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 407 14 inlet; +#X obj 411 319 outlet; +#X obj 26 277 scaleXYZ; +#X text 7 3 Scale; +#X obj 53 182 r \$0-scale; +#X obj 53 236 interp1; +#X obj 170 247 s \$0-s; +#X obj 180 205 delay 250; +#X text 250 205 <- conflict w/ state-saving!; +#X obj 170 79 r \$0-reset; +#X msg 170 226 1; +#X obj 248 140 mementoSetup pt.scale \$0; +#X connect 0 0 5 0; +#X connect 3 0 14 0; +#X connect 5 0 1 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 8 0 5 2; +#X connect 8 0 5 3; +#X connect 10 0 13 0; +#X connect 12 0 13 0; +#X connect 13 0 9 0; +#X connect 14 0 10 0; +#X connect 14 1 4 0; +#X restore 16 104 pd intera; +#X obj 1 1 cnv 5 128 40 empty empty Scale 5 7 1 9 -249661 -66577 0 +; +#X obj 10 19 hsl 112 15 0.1 7 0 0 \$0-scale \$0-s Scale 47 8 1 8 -262144 +-1 -1 0 1; +#X obj 113 3 bng 11 250 50 0 \$0-reset \$0- Reset -25 6 1 8 -262144 +-1 -1; +#X obj 16 82 inlet; +#X obj 74 82 inlet; +#X obj 16 126 outlet; +#X obj 74 126 outlet; +#X obj 157 56 commun /s \$0; +#X connect 0 0 6 0; +#X connect 0 1 7 0; +#X connect 2 0 8 0; +#X connect 4 0 0 0; +#X connect 5 0 0 1; +#X connect 8 0 2 0; +#X coords 0 0 1 1 130 42 1; diff --git a/abstractions/pt.source.pd b/abstractions/pt.source.pd new file mode 100644 index 0000000..2b6d96b --- /dev/null +++ b/abstractions/pt.source.pd @@ -0,0 +1,131 @@ +#N canvas 262 445 130 32 10; +#N canvas 207 307 869 475 interna 0; +#X obj 364 47 cnv 15 300 250 empty empty empty 5 8 1 10 -260390 -1 +0; +#X obj 605 57 inlet; +#X obj 11 47 cnv 15 350 250 empty empty empty 5 8 1 10 -3121 -1 0; +#X text 10 3 Input Source Selection (dv \, stream \, analog \, qt \, +image \, buffer); +#X obj 22 187 pix_image; +#X obj 110 187 pix_film; +#X obj 22 162 spigot; +#X obj 110 163 spigot; +#X obj 615 276 outlet; +#X obj 21 57 inlet; +#N canvas 591 359 481 390 selector 0; +#X obj 23 34 inlet; +#X obj 33 178 outlet; +#X obj 81 178 outlet; +#X obj 128 178 outlet; +#X obj 34 156 == 0; +#X obj 81 156 == 1; +#X obj 128 156 == 2; +#X obj 84 111 loadbang; +#X msg 84 131 1; +#X text 146 112 Default; +#X text 67 35 Which stream? (0-image \, 1-movie \, 2-stream); +#X connect 0 0 4 0; +#X connect 0 0 5 0; +#X connect 0 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 8 0 5 0; +#X connect 8 0 4 0; +#X connect 8 0 6 0; +#X restore 256 77 pd selector; +#X obj 211 162 spigot; +#X obj 256 56 r \$0-source; +#X obj 439 119 s \$0-ip; +#X obj 493 119 s \$0-port; +#X obj 561 119 s \$0-connect; +#X obj 567 144 s \$0-loopPos; +#N canvas 650 370 503 404 loop 0; +#X text 2 6 Changes incoming relative loopPos into frame numbers for +this film.; +#X obj 167 60 r \$0-numFrames; +#X obj 18 220 outlet; +#X obj 18 42 r \$0-loopPos; +#X floatatom 39 160 8 0 0 0 - - -; +#X floatatom 49 100 8 0 0 0 - - -; +#X obj 18 187 int; +#X text 16 274 I'm not quite sure how to fix this... suggestions? How +can we get this relative loop reference to work? We still need a high-resolution +relative position \, but want 33ms per frame \, not for the least significant +digit!; +#X obj 18 131 expr $f1/(1000000/$f2); +#X floatatom 199 105 5 0 0 0 - - -; +#X floatatom 56 186 5 0 0 0 - - -; +#X text 184 131 frame = loopPos/(1000000/numFrames); +#X text 19 252 This does not work. each 1/100 of a frame takes 33ms!! +; +#X text 17 335 Using non-relative frames seems to be the only answer +\, but how best to pass numframes data from pt.source to pt.loop? 3rd +inlet??; +#X connect 1 0 8 1; +#X connect 1 0 9 0; +#X connect 3 0 5 0; +#X connect 3 0 8 0; +#X connect 6 0 2 0; +#X connect 8 0 4 0; +#X connect 8 0 6 0; +#X connect 10 0 2 0; +#X restore 37 343 pd loop; +#X obj 22 267 outlet; +#X obj 69 57 r \$0-file; +#X obj 371 119 s \$0-file; +#X obj 135 206 unpack f f f; +#X obj 211 187 pix_dvts; +#X obj 172 187 t f; +#X obj 382 90 route file ip port connect loopPos; +#X obj 135 225 prepend numFrames; +#X text 229 145 Deferred for TOT2; +#X text 248 310 Accept absolute frame number! (loopPos); +#X obj 161 55 r \$0-loopPos; +#X text 94 343 Depreciated method using relative frame; +#X obj 135 244 prepend loopBack; +#X connect 1 0 24 0; +#X connect 4 0 18 0; +#X connect 5 0 18 0; +#X connect 5 1 21 0; +#X connect 5 2 23 0; +#X connect 6 0 4 0; +#X connect 7 0 5 0; +#X connect 9 0 6 0; +#X connect 9 0 7 0; +#X connect 9 0 11 0; +#X connect 10 0 6 1; +#X connect 10 1 7 1; +#X connect 11 0 22 0; +#X connect 12 0 10 0; +#X connect 19 0 6 0; +#X connect 19 0 7 0; +#X connect 21 0 25 0; +#X connect 22 0 18 0; +#X connect 23 0 5 1; +#X connect 24 0 20 0; +#X connect 24 1 13 0; +#X connect 24 2 14 0; +#X connect 24 3 15 0; +#X connect 24 4 16 0; +#X connect 24 5 8 0; +#X connect 25 0 30 0; +#X connect 28 0 5 1; +#X connect 30 0 8 0; +#X restore 10 90 pd interna; +#X obj 10 67 inlet; +#X obj 75 68 inlet; +#X obj 9 112 outlet; +#X obj 75 112 outlet; +#X text 14 43 Input Source; +#X obj 1 1 cnv 5 128 30 empty empty empty 5 6 1 9 -249661 -66577 0 +; +#X obj 141 8 s \$0-source; +#X obj 3 3 popup 124 25 grey95 Source Image Movie; +#X connect 0 0 3 0; +#X connect 0 1 4 0; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X connect 8 0 7 0; +#X coords 0 0 1 1 130 32 1; diff --git a/abstractions/pt.squeeze.pd b/abstractions/pt.squeeze.pd new file mode 100644 index 0000000..e4f8f4f --- /dev/null +++ b/abstractions/pt.squeeze.pd @@ -0,0 +1,57 @@ +#N canvas 502 22 130 68 10; +#N canvas 67 346 536 371 intera 0; +#X obj 26 56 inlet; +#X obj 19 325 outlet; +#X obj 214 4 cnv 15 300 340 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 459 12 inlet; +#X obj 461 319 outlet; +#X obj 26 277 scaleXYZ; +#X obj 43 134 interp3 \$0-x \$0-y \$0-z; +#X text 7 3 Squeeze; +#X obj 237 247 s \$0-s; +#X obj 247 205 delay 250; +#X text 317 205 <- conflict w/ state-saving!; +#X obj 237 79 r \$0-reset; +#X msg 237 226 1; +#X obj 284 147 mementoSetup pt.squeeze \$0; +#X connect 0 0 5 0; +#X connect 3 0 13 0; +#X connect 5 0 1 0; +#X connect 6 0 5 1; +#X connect 6 1 5 2; +#X connect 6 2 5 3; +#X connect 9 0 12 0; +#X connect 11 0 12 0; +#X connect 12 0 8 0; +#X connect 13 0 9 0; +#X connect 13 1 4 0; +#X restore 16 104 pd intera; +#X obj 1 1 cnv 5 128 66 empty empty Squeeze 5 7 1 9 -249661 -66577 +0; +#X obj 10 19 hsl 112 15 0.1 4 0 0 \$0-x \$0-s X 53 8 1 8 -262144 -1 +-1 0 1; +#X obj 10 34 hsl 112 15 0.1 4 0 0 \$0-y \$0-s Y 53 8 1 8 -262144 -1 +-1 0 1; +#X obj 10 49 hsl 112 15 0.1 4 0 0 \$0-z \$0-s Z 53 8 1 8 -262144 -1 +-1 0 1; +#X obj 113 3 bng 11 250 50 0 \$0-reset \$0- Reset -25 6 1 8 -262144 +-1 -1; +#X obj 16 82 inlet; +#X obj 74 82 inlet; +#X obj 16 126 outlet; +#X obj 74 126 outlet; +#X obj 157 56 commun /x \$0; +#X obj 157 75 commun /y \$0; +#X obj 157 94 commun /z \$0; +#X connect 0 0 8 0; +#X connect 0 1 9 0; +#X connect 2 0 10 0; +#X connect 3 0 11 0; +#X connect 4 0 12 0; +#X connect 6 0 0 0; +#X connect 7 0 0 1; +#X connect 10 0 2 0; +#X connect 11 0 3 0; +#X connect 12 0 4 0; +#X coords 0 0 1 1 130 68 1; diff --git a/abstractions/pt.stream.pd b/abstractions/pt.stream.pd new file mode 100644 index 0000000..e4a9276 --- /dev/null +++ b/abstractions/pt.stream.pd @@ -0,0 +1,38 @@ +#N canvas 0 22 145 181 10; +#X obj 2 2 cnv 5 128 82 empty empty Stream_Management 5 6 1 9 -249661 +-66577 0; +#X symbolatom 5 16 15 0 0 1 IP - -; +#X obj 5 33 nbx 5 14 -1e+37 1e+37 0 0 empty empty Port 47 8 1 9 -262144 +-1 -1 0 256; +#X obj 5 51 tgl 30 0 \$0- \$0 Connect/Disconnect 35 15 1 8 -262144 +-1 -33289 0 1; +#N canvas 0 22 454 304 interna 0; +#X obj 73 22 cnv 15 300 250 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 11 24 inlet; +#X obj 11 234 outlet; +#X obj 317 33 inlet; +#X obj 315 250 outlet; +#X obj 81 171 prepend ip; +#X obj 81 148 r \$0-ip; +#X obj 161 148 r \$0-port; +#X obj 161 171 prepend port; +#X obj 251 148 r \$0-port; +#X obj 251 171 prepend port; +#X text 9 4 Facility to choose and select streams; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 4 0; +#X connect 9 0 10 0; +#X restore 15 127 pd interna; +#X obj 15 104 inlet; +#X obj 80 104 inlet; +#X obj 15 150 outlet; +#X obj 80 150 outlet; +#X connect 4 0 7 0; +#X connect 4 1 8 0; +#X connect 5 0 4 0; +#X connect 6 0 4 1; diff --git a/abstractions/pt.text.pd b/abstractions/pt.text.pd new file mode 100644 index 0000000..78ef4fd --- /dev/null +++ b/abstractions/pt.text.pd @@ -0,0 +1,25 @@ +#N canvas 328 143 130 16 10; +#N canvas 665 93 406 418 interna 0; +#X obj 172 37 cnv 15 200 340 empty empty empty 5 8 1 10 -260390 -1 +0; +#X obj 9 37 cnv 15 150 340 empty empty empty 5 8 1 10 -3121 -1 0; +#X text 12 5 Text (size \, type \, font etc..); +#X obj 16 58 inlet; +#X obj 322 51 inlet; +#X obj 257 131 route text; +#X obj 216 175 route size; +#X obj 16 350 text3d pixelTANGO; +#X obj 241 295 register-tail; +#X connect 3 0 7 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 5 1 8 0; +#X connect 6 0 7 1; +#X connect 6 1 7 0; +#X restore 12 54 pd interna; +#X obj 77 33 inlet; +#X obj 12 33 inlet; +#X obj 1 1 cnv 5 128 16 empty empty Text 5 9 1 12 -128992 -1 0; +#X connect 1 0 0 1; +#X connect 2 0 0 0; +#X coords 0 0 1 1 130 16 1; diff --git a/abstractions/pt.translate.pd b/abstractions/pt.translate.pd new file mode 100644 index 0000000..8caeaf7 --- /dev/null +++ b/abstractions/pt.translate.pd @@ -0,0 +1,59 @@ +#N canvas 181 373 130 68 10; +#X obj 1 1 cnv 5 128 66 empty empty Translate 5 7 1 9 -249661 -66577 +0; +#X obj 10 19 hsl 112 15 -11 11 0 0 \$0-x \$0-s X 53 8 1 8 -262144 -1 +-1 0 1; +#X obj 10 34 hsl 112 15 -11 11 0 0 \$0-y \$0-s Y 53 8 1 8 -262144 -1 +-1 0 1; +#X obj 10 49 hsl 112 15 -11 11 0 0 \$0-z \$0-s Z 53 8 1 8 -262144 -1 +-1 0 1; +#X obj 113 3 bng 11 250 50 0 \$0-reset \$0- Reset -25 6 1 8 -262144 +-1 -1; +#N canvas 400 284 666 434 interna 0; +#X obj 12 43 inlet; +#X obj 77 257 translateXYZ; +#X obj 19 325 outlet; +#X obj 224 4 cnv 15 300 340 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 407 14 inlet; +#X obj 411 319 outlet; +#X text 7 3 Translate; +#X obj 60 145 interp3 \$0-x \$0-y \$0-z; +#X obj 237 247 s \$0-s; +#X obj 247 205 delay 250; +#X text 317 205 <- conflict w/ state-saving!; +#X text 51 371 removed "route" based remote control \, waiting for +OSCroute changes.; +#X obj 294 158 mementoSetup pt.translate \$0; +#X msg 237 226 0; +#X obj 237 79 r \$0-reset; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 4 0 12 0; +#X connect 7 0 1 1; +#X connect 7 1 1 2; +#X connect 7 2 1 3; +#X connect 9 0 13 0; +#X connect 12 0 9 0; +#X connect 12 1 5 0; +#X connect 13 0 8 0; +#X connect 14 0 13 0; +#X restore 13 109 pd interna; +#X obj 13 86 inlet; +#X obj 78 86 inlet; +#X obj 13 132 outlet; +#X obj 78 132 outlet; +#X obj 157 56 commun /x \$0; +#X obj 157 75 commun /y \$0; +#X obj 157 94 commun /z \$0; +#X connect 1 0 10 0; +#X connect 2 0 11 0; +#X connect 3 0 12 0; +#X connect 5 0 8 0; +#X connect 5 1 9 0; +#X connect 6 0 5 0; +#X connect 7 0 5 1; +#X connect 10 0 1 0; +#X connect 11 0 2 0; +#X connect 12 0 3 0; +#X coords 0 0 1 1 130 68 1; diff --git a/abstractions/pt.video.pd b/abstractions/pt.video.pd new file mode 100644 index 0000000..cc98e42 --- /dev/null +++ b/abstractions/pt.video.pd @@ -0,0 +1,35 @@ +#N canvas 492 644 130 18 10; +#N canvas 85 81 670 362 interna 0; +#X obj 15 42 inlet; +#X obj 192 26 cnv 15 300 250 empty empty empty 5 8 1 10 -260390 -1 +0; +#X obj 14 255 rectangle; +#X obj 342 37 inlet; +#X obj 43 184 unpack f f; +#X text 13 7 Video Plane; +#X obj 15 63 pix_texture; +#X text 22 84 Where else to put this?; +#X obj 108 225 * 1; +#X obj 43 225 * 1; +#X obj 199 111 register-tail; +#X obj 43 156 r pt.videoPlaneSize; +#X obj 285 148 route videoPlaneCorrection; +#X connect 0 0 6 0; +#X connect 3 0 10 0; +#X connect 4 0 9 0; +#X connect 4 1 8 0; +#X connect 6 0 2 0; +#X connect 8 0 2 2; +#X connect 9 0 2 1; +#X connect 10 1 12 0; +#X connect 11 0 4 0; +#X connect 12 0 8 1; +#X connect 12 0 9 1; +#X restore 13 55 pd interna; +#X obj 13 34 inlet; +#X obj 78 34 inlet; +#X obj 1 1 cnv 5 128 16 empty empty Video_Plane 5 9 1 12 -128992 -1 +0; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X coords 0 0 1 1 130 16 1; diff --git a/abstractions/pt.whatcolour.pd b/abstractions/pt.whatcolour.pd new file mode 100644 index 0000000..b5c97de --- /dev/null +++ b/abstractions/pt.whatcolour.pd @@ -0,0 +1,105 @@ +#N canvas 295 360 130 42 10; +#N canvas 590 361 553 425 intera 0; +#X obj 26 56 inlet; +#X obj 154 4 cnv 15 300 340 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 387 14 inlet; +#X obj 387 319 outlet; +#X obj 26 322 outlet; +#X text 7 3 WhatColour?; +#X obj 213 77 route colour; +#X obj 213 120 unpack f f f; +#N canvas 88 146 620 498 colourMess 0; +#X obj 156 4 inlet; +#X obj 233 6 inlet; +#X obj 299 7 inlet; +#X text 161 -21 red; +#X text 231 -19 green; +#X text 303 -19 blue; +#X obj 183 119 t b f; +#X obj 117 177 +; +#X obj 117 202 t b f; +#X obj 117 233 +; +#X obj 40 96 * -65536; +#X obj 117 97 * -256; +#X obj 183 97 * -1; +#X obj 117 264 - 1; +#X obj 189 391 outlet; +#X obj 232 69 invert_scale 0 255; +#X obj 374 158 t b f; +#X obj 308 216 +; +#X obj 308 241 t b f; +#X obj 308 272 +; +#X obj 231 135 * -65536; +#X obj 308 136 * -256; +#X obj 374 136 * -1; +#X obj 308 303 - 1; +#X obj 308 91 invert_scale 0 255; +#X obj 374 113 invert_scale 0 255; +#X obj 299 29 t f f; +#X obj 233 28 t f f; +#X obj 156 27 t f f; +#X obj 189 341 pack f f; +#X msg 189 365 color \$1 \$2; +#X obj 383 11 loadbang; +#X msg 383 35 200; +#X connect 0 0 28 0; +#X connect 1 0 27 0; +#X connect 2 0 26 0; +#X connect 6 0 7 0; +#X connect 6 1 7 1; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 9 0 13 0; +#X connect 10 0 9 0; +#X connect 11 0 7 0; +#X connect 12 0 6 0; +#X connect 13 0 29 0; +#X connect 15 0 20 0; +#X connect 16 0 17 0; +#X connect 16 1 17 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 1 19 1; +#X connect 19 0 23 0; +#X connect 20 0 19 0; +#X connect 21 0 17 0; +#X connect 22 0 16 0; +#X connect 23 0 29 1; +#X connect 24 0 21 0; +#X connect 25 0 22 0; +#X connect 26 0 12 0; +#X connect 26 1 25 0; +#X connect 27 0 11 0; +#X connect 27 1 24 0; +#X connect 28 0 10 0; +#X connect 28 1 15 0; +#X connect 29 0 30 0; +#X connect 30 0 14 0; +#X connect 31 0 32 0; +#X connect 32 0 26 0; +#X connect 32 0 27 0; +#X connect 32 0 28 0; +#X restore 185 167 pd colourMess; +#X obj 190 230 s \$0-whatColour; +#X connect 0 0 4 0; +#X connect 2 0 6 0; +#X connect 6 0 7 0; +#X connect 6 1 3 0; +#X connect 7 0 8 0; +#X connect 7 1 8 1; +#X connect 7 2 8 2; +#X connect 8 0 9 0; +#X restore 16 104 pd intera; +#X obj 1 1 cnv 5 128 40 empty \$0-whatColour Colour? 5 7 1 9 -208051 +-54094 0; +#X obj 16 82 inlet; +#X obj 74 82 inlet; +#X obj 16 126 outlet; +#X obj 74 126 outlet; +#X connect 0 0 4 0; +#X connect 0 1 5 0; +#X connect 2 0 0 0; +#X connect 3 0 0 1; +#X coords 0 0 1 1 130 42 1; diff --git a/abstractions/pt.window.pd b/abstractions/pt.window.pd new file mode 100644 index 0000000..811ec3d --- /dev/null +++ b/abstractions/pt.window.pd @@ -0,0 +1,306 @@ +#N canvas 687 246 130 212 10; +#X text 8 259 Gemwin Control (for gemwin); +#X obj 229 200 s \$0-resolution; +#X obj 1 1 cnv 5 128 210 empty empty Window_Management 5 6 1 9 -133153 +-1 0; +#X obj 7 53 tgl 15 0 \$0-window \$0 Window 20 8 1 8 -262144 -1 -1 0 +1; +#X obj 7 35 tgl 15 0 \$0-fsaa \$0 FSAA(6) 20 8 1 8 -262144 -1 -1 0 +1; +#X obj 7 17 tgl 15 0 \$0-fullscreen \$0 Fullscreen 20 8 1 8 -262144 +-1 -1 0 1; +#X obj 10 74 hsl 112 15 0 1 0 0 \$0-r \$0-s empty -2 -6 0 8 -258699 +-1 -1 0 1; +#X obj 10 89 hsl 112 15 0 1 0 0 \$0-g \$0-s empty -2 -6 0 8 -24198 +-1 -1 0 1; +#X obj 10 104 hsl 112 15 0 1 0 0 \$0-b \$0-s empty -2 -6 0 8 -62784 +-1 -1 0 1; +#X obj 76 17 tgl 15 0 \$0-light \$0 Light 20 8 1 8 -262144 -1 -1 0 +1; +#X text 6 352 In the future it would be nice to visuall choose a corner +of the window to put the gemwin. We can get the size of the screen +in tcl with winfo vrootheight . and winfo vrootwidth . Suggest on gem-dev? +; +#X obj 215 115 commun /r \$0; +#X obj 215 134 commun /g \$0; +#X obj 215 153 commun /b \$0; +#X obj 6 285 inlet; +#X obj 226 253 s \$0-offset; +#X obj 339 200 commun /resolution \$0; +#X obj 76 35 tgl 15 0 \$0-cursor \$0-cursor-set Cursor 20 8 1 8 -262144 +-1 -1 0 1; +#X obj 309 253 commun /offset \$0; +#X obj 215 5 commun /fullscreen \$0; +#X obj 215 25 commun /fsaa \$0; +#X obj 215 45 commun /light \$0; +#X obj 215 65 commun /cursor \$0; +#X obj 206 227 route bang; +#X text 287 227 <- fix for initial bang; +#X obj 222 170 route bang; +#N canvas 107 93 694 550 interna 0; +#X text 7 6 Gemwin Control (for gemwin); +#X obj 10 44 cnv 15 650 400 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X msg 27 162 color \$1 \$2 \$3; +#X obj 27 142 pack f f f; +#X obj 27 223 s \$0-ctrl; +#X obj 546 238 s \$0-ctrl; +#X msg 546 133 640 480; +#X obj 546 85 r \$0-resolution; +#X obj 12 464 cnv 15 130 50 empty empty empty 5 8 1 10 -3121 -1 0; +#X obj 214 57 r \$0-window; +#X obj 220 150 s \$0-ctrl; +#X obj 348 54 r \$0-fsaa; +#X obj 348 147 s \$0-ctrl; +#X msg 377 124 FSAA 0; +#X obj 214 80 route 1 0; +#X obj 348 77 route 1 0; +#X obj 546 107 route 0 1 2; +#X msg 563 153 1024 512; +#X msg 580 173 512 512; +#X obj 430 416 s \$0-ctrl; +#X msg 430 395 offset \$1 \$2; +#X msg 249 127 0 \, destroy; +#X msg 220 104 create \, 1; +#X obj 282 245 r \$0-resolution; +#X obj 282 267 route 0 1 2; +#X msg 282 293 5.3333 4; +#X msg 299 313 8 4; +#X msg 316 333 4 4; +#X obj 443 130 loadbang; +#X text 442 152 Defaults; +#X obj 202 179 s windowCreate; +#X text 198 199 Signal to FTGL render; +#X msg 348 101 FSAA 6; +#X obj 24 263 r \$0-frameRate; +#X obj 24 285 route 0 1; +#X msg 24 311 30; +#X msg 54 331 60; +#N canvas 0 22 455 226 dynamic 0; +#X obj 82 69 f \$0; +#X obj 81 93 makefilename pd-%d-interna; +#X msg 16 144 \; \$3 obj 21 423 gemwindow \$1 \$2; +#X obj 16 118 pack f f s; +#X text 8 7 Dynamically generates the gemwindow abstraction at the +correct framerate with the correct receive name.; +#X obj 16 45 inlet; +#X obj 82 46 loadbang; +#X msg 143 46 bang; +#X text 11 189 Crap \, we need to be able to delete the old one first! +How? "cut" crashes when the patcher is not open!; +#X connect 0 0 1 0; +#X connect 0 0 3 1; +#X connect 1 0 3 2; +#X connect 3 0 2 0; +#X connect 5 0 3 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X restore 24 357 pd dynamic patcher; +#X obj 165 270 s \$0-ctrl; +#X obj 165 230 r \$0-light; +#X msg 165 250 lighting \$1; +#X obj 166 334 s \$0-ctrl; +#X obj 166 296 r \$0-fullscreen; +#X msg 166 315 fullscreen \$1; +#X obj 282 359 s pt.videoPlaneSize; +#X obj 21 471 inlet; +#N canvas 276 506 466 316 select 0; +#X obj 18 17 inlet; +#X obj 18 43 select 0 1 2 3 4 5; +#X msg 18 67 1600 -50; +#X msg 38 87 1600 0; +#X msg 58 107 1280 -50; +#X msg 78 127 1280 0; +#X msg 98 147 1024 -50; +#X msg 118 167 1024 0; +#X msg 139 187 0 0; +#X obj 35 226 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 1 2 4 0; +#X connect 1 3 5 0; +#X connect 1 4 6 0; +#X connect 1 5 7 0; +#X connect 1 6 8 0; +#X connect 2 0 9 0; +#X connect 3 0 9 0; +#X connect 4 0 9 0; +#X connect 5 0 9 0; +#X connect 6 0 9 0; +#X connect 7 0 9 0; +#X connect 8 0 9 0; +#X restore 430 374 pd select; +#X obj 430 352 r \$0-offset; +#X obj 427 311 s \$0-ctrl; +#X obj 427 258 r \$0-cursor; +#X msg 427 285 cursor \$1; +#N canvas 672 103 529 518 memento 0; +#X obj 29 66 t b f; +#X msg 29 90 set; +#X msg 59 90 substate \$1; +#X obj 29 46 r pt.currentPreset; +#X text 16 9 Does all the crap for memento naming/collection and abstraction +registration \$1 is abst-name \$2 is \$0 variable; +#X obj 305 75 inlet; +#X obj 115 122 originator /pt/window \$0; +#X obj 44 158 cnv 15 400 300 empty empty EXPERIMENTAL 20 12 0 14 -259544 +-1 0; +#X obj 234 360 pool OSC; +#X obj 175 218 r \$0-RRADMIN; +#X obj 157 307 prepend set; +#X obj 182 252 t a b; +#X obj 258 284 symbol \$1; +#X msg 251 309 mkchdir \$1; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 1 0 6 0; +#X connect 2 0 6 0; +#X connect 3 0 0 0; +#X connect 5 0 6 1; +#X connect 9 0 11 0; +#X connect 10 0 8 0; +#X connect 11 0 10 0; +#X connect 11 1 12 0; +#X connect 12 0 13 0; +#X connect 13 0 8 0; +#X restore 449 96 pd memento; +#X obj 449 74 r pt.osc; +#X text 431 51 receive OSC on pt.osc; +#X obj 27 201 spigot; +#X obj 27 73 interp3 \$0-r \$0-g \$0-b; +#X obj 104 142 bang; +#X obj 65 471 r \$0-ctrl; +#X obj 546 418 s \$0-ctrl; +#X obj 546 265 r \$0-framerate; +#X obj 546 287 route 0 1 2 3; +#X msg 546 313 15; +#X msg 563 333 30; +#X msg 580 353 60; +#X msg 600 373 100; +#X obj 546 396 prepend frame; +#X text 8 25 Render \, Creation \, Colour? \, frame-rate \,; +#X obj 165 400 s \$0-ctrl; +#X obj 165 360 r \$0-border; +#X msg 165 380 border \$1; +#X obj 413 184 f \$0; +#X obj 511 463 s pt.windowResolution; +#X obj 546 216 prepend dimen; +#X obj 21 493 gemwin 30; +#X obj 546 196 t a; +#X msg 414 204 \; \$1-border-set 1 \; \$1-cursor-set 1 \;; +#X connect 2 0 54 0; +#X connect 3 0 2 0; +#X connect 6 0 74 0; +#X connect 7 0 16 0; +#X connect 9 0 14 0; +#X connect 9 0 54 1; +#X connect 11 0 15 0; +#X connect 13 0 12 0; +#X connect 14 0 22 0; +#X connect 14 0 30 0; +#X connect 14 1 21 0; +#X connect 15 0 32 0; +#X connect 15 1 13 0; +#X connect 16 0 6 0; +#X connect 16 1 17 0; +#X connect 16 2 18 0; +#X connect 17 0 74 0; +#X connect 18 0 74 0; +#X connect 20 0 19 0; +#X connect 21 0 10 0; +#X connect 22 0 10 0; +#X connect 23 0 24 0; +#X connect 24 0 25 0; +#X connect 24 1 26 0; +#X connect 24 2 27 0; +#X connect 25 0 44 0; +#X connect 26 0 44 0; +#X connect 27 0 44 0; +#X connect 28 0 6 0; +#X connect 28 0 25 0; +#X connect 28 0 70 0; +#X connect 32 0 12 0; +#X connect 33 0 34 0; +#X connect 34 0 35 0; +#X connect 34 1 36 0; +#X connect 35 0 37 0; +#X connect 36 0 37 0; +#X connect 39 0 40 0; +#X connect 40 0 38 0; +#X connect 42 0 43 0; +#X connect 43 0 41 0; +#X connect 45 0 73 0; +#X connect 46 0 20 0; +#X connect 47 0 46 0; +#X connect 49 0 50 0; +#X connect 50 0 48 0; +#X connect 52 0 51 0; +#X connect 54 0 4 0; +#X connect 55 0 3 0; +#X connect 55 1 56 0; +#X connect 55 1 3 1; +#X connect 55 2 56 0; +#X connect 55 2 3 2; +#X connect 56 0 3 0; +#X connect 57 0 73 0; +#X connect 59 0 60 0; +#X connect 60 0 61 0; +#X connect 60 1 62 0; +#X connect 60 2 63 0; +#X connect 60 3 64 0; +#X connect 61 0 65 0; +#X connect 62 0 65 0; +#X connect 63 0 65 0; +#X connect 64 0 65 0; +#X connect 65 0 58 0; +#X connect 68 0 69 0; +#X connect 69 0 67 0; +#X connect 70 0 75 0; +#X connect 72 0 5 0; +#X connect 74 0 72 0; +#X connect 74 0 71 0; +#X restore 6 307 pd interna; +#X obj 215 280 route bang; +#X text 296 280 <- fix for initial bang; +#X obj 215 306 s \$0-framerate; +#X obj 318 306 commun /framerate \$0; +#X obj 76 53 tgl 15 0 \$0-border \$0-border-set Border 20 8 1 8 -262144 +-1 -1 1 1; +#X obj 215 85 commun /border \$0; +#X obj 4 124 popup 124 25 grey50 Resolution 640x480 1024x512 512x512 +; +#X obj 4 153 popup 124 25 grey50 Offset 1600/-50 1600/0 1280/-50 1280/0 +1024/-50 1024/0 0/0; +#X obj 4 181 popup 124 25 grey50 Frame-rate 15fps 30fps 60fps 100fps +; +#X connect 4 0 20 0; +#X connect 5 0 19 0; +#X connect 6 0 11 0; +#X connect 7 0 12 0; +#X connect 8 0 13 0; +#X connect 9 0 21 0; +#X connect 11 0 6 0; +#X connect 12 0 7 0; +#X connect 13 0 8 0; +#X connect 14 0 26 0; +#X connect 16 0 33 0; +#X connect 17 0 22 0; +#X connect 18 0 34 0; +#X connect 19 0 5 0; +#X connect 20 0 4 0; +#X connect 21 0 9 0; +#X connect 22 0 17 0; +#X connect 23 1 15 0; +#X connect 23 1 18 0; +#X connect 25 1 16 0; +#X connect 25 1 1 0; +#X connect 27 1 29 0; +#X connect 27 1 30 0; +#X connect 30 0 35 0; +#X connect 31 0 32 0; +#X connect 32 0 31 0; +#X connect 33 0 25 0; +#X connect 34 0 23 0; +#X connect 35 0 27 0; +#X coords 0 0 1 1 130 212 1; diff --git a/abstractions/register-dump.pd b/abstractions/register-dump.pd new file mode 100644 index 0000000..a2bc8b9 --- /dev/null +++ b/abstractions/register-dump.pd @@ -0,0 +1,16 @@ +#N canvas 599 155 280 253 10; +#X msg 24 51 getrec; +#X obj 24 88 pool register; +#X obj 45 187 print pt.register; +#X obj 67 112 prepend Directory; +#X obj 45 134 prepend Key; +#X obj 24 157 prepend Value; +#X obj 24 28 inlet; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 1 1 4 0; +#X connect 1 2 3 0; +#X connect 3 0 2 0; +#X connect 4 0 2 0; +#X connect 5 0 2 0; +#X connect 6 0 0 0; diff --git a/abstractions/register-get.pd b/abstractions/register-get.pd new file mode 100644 index 0000000..f846322 --- /dev/null +++ b/abstractions/register-get.pd @@ -0,0 +1,30 @@ +#N canvas 219 138 473 435 10; +#X obj 34 54 inlet; +#X obj 29 368 pool register; +#X text 25 8 This abstraction is used to access the unique \$0 ID from +the instance number of a particular abstraction on a particular layer. +; +#X obj 29 393 outlet; +#X msg 29 314 chdir \$1 \$2; +#X obj 149 314 prepend get; +#X obj 61 107 route dir; +#X text 117 286 \$1 layerNum \, \$2 Abstraction Name; +#X obj 29 144 prepend list; +#X obj 119 188 oneshot; +#X obj 119 144 t b f; +#X obj 39 288 pack \$1 s; +#X obj 97 265 symbol \$2; +#X obj 97 243 loadbang; +#X connect 0 0 6 0; +#X connect 1 0 3 0; +#X connect 4 0 1 0; +#X connect 5 0 1 0; +#X connect 6 0 8 0; +#X connect 6 1 10 0; +#X connect 8 0 4 0; +#X connect 9 0 11 0; +#X connect 10 0 9 0; +#X connect 10 1 5 0; +#X connect 11 0 4 0; +#X connect 12 0 11 1; +#X connect 13 0 12 0; diff --git a/abstractions/register-head.pd b/abstractions/register-head.pd new file mode 100644 index 0000000..4e4758a --- /dev/null +++ b/abstractions/register-head.pd @@ -0,0 +1,50 @@ +#N canvas 257 138 873 497 10; +#X obj 203 383 outlet; +#X msg 203 298 register-head 0; +#X obj 10 165 loadbang; +#X msg 10 298 layerNum \$1; +#X obj 10 277 f \$1; +#X text 49 278 Layer Number Argument; +#X text 9 5 Register-head (starts the abstraction registration process.) +; +#X obj 203 165 r pt.layerNumDone; +#X obj 203 193 select \$1; +#X obj 219 264 r pt.register; +#X obj 9 453 delay 250; +#X msg 72 165 bang; +#X text 9 140 1 Send LayerNum; +#X text 155 140 2 when layerNum gets to end send register-head; +#X text 347 163 3 When register-head gets to end then send createOscName +; +#X obj 357 212 select \$1; +#X obj 357 184 r pt.registerDone; +#X obj 373 283 r pt.createOsc; +#X msg 357 317 createOscName; +#X text 10 30 When layerNum reacher the footer it sends a signal here +to register layer which in turn sends a signal to generate OSC names +; +#X obj 217 227 delay 250; +#X obj 379 246 delay 250; +#X text 83 452 This is really ugly... May cause problems later... what +to do about it? short answer for future problems is to increase the +delay! 250 is pretty long though...; +#X obj 474 306 r pt.loopBack; +#X text 10 87 Added pt.loopBack to send misc messages from tail to +head.; +#X obj 474 331 route \$1; +#X connect 1 0 0 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 3 0; +#X connect 7 0 8 0; +#X connect 8 0 20 0; +#X connect 9 0 1 0; +#X connect 11 0 4 0; +#X connect 15 0 21 0; +#X connect 16 0 15 0; +#X connect 17 0 18 0; +#X connect 18 0 0 0; +#X connect 20 0 1 0; +#X connect 21 0 18 0; +#X connect 23 0 25 0; +#X connect 25 0 0 0; diff --git a/abstractions/register-tail.pd b/abstractions/register-tail.pd new file mode 100644 index 0000000..81a0010 --- /dev/null +++ b/abstractions/register-tail.pd @@ -0,0 +1,53 @@ +#N canvas 554 62 607 624 10; +#X obj 29 365 prepend list; +#X msg 29 391 mkdir \$1 \$2 \, chsub \$1 \$2 \, set \$3 \$4 \, updir +2; +#X obj 29 112 inlet; +#X msg 63 500 save register.dat; +#X text 63 468 Since the contents of this pool may change on boot-up +there is really no reason to save it. Temporary storage only.; +#X obj 346 161 outlet; +#X obj 29 528 pool register; +#X msg 55 448 reset; +#X text 25 8 This abstraction routes the data from register and puts +it in a pool. Sent a "registerReset" message to clear abstractions. +(when you modify a patch); +#X obj 55 425 r pt.registerReset; +#X text 120 366 when we get the layerNum signal \, then register THIS +layer; +#X obj 43 327 s pt.layerNumDone; +#X obj 187 216 s pt.registerDone; +#X obj 166 187 f; +#X text 133 532 This pool is not functionally required. It may be useful +in the future though (rewritten to store OSC names for all params? +Or could this be generated from the memento pool? Better place is probably +inside the "register" abstraction. using the state-saving pool?; +#X text 100 188 layerNum; +#X obj 166 162 bang; +#X text 198 186 when we get register-head then send layerNum to pt.registerDone +; +#X obj 166 327 outlet; +#X obj 266 260 prepend N; +#X msg 108 231 set \$1; +#X obj 266 285 s pt.loopBack; +#X obj 29 137 route register layerNum register-head loopBack; +#X text 32 68 Added loopBack to send messages from tail to head; +#X text 236 306 on getting loopBack message \, add layerNum and send +to global receive; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 2 0 22 0; +#X connect 3 0 6 0; +#X connect 7 0 6 0; +#X connect 9 0 7 0; +#X connect 13 0 12 0; +#X connect 13 0 18 0; +#X connect 16 0 13 0; +#X connect 19 0 21 0; +#X connect 20 0 19 0; +#X connect 22 1 11 0; +#X connect 22 1 13 1; +#X connect 22 1 20 0; +#X connect 22 2 16 0; +#X connect 22 3 19 0; +#X connect 22 4 5 0; diff --git a/abstractions/register.pd b/abstractions/register.pd new file mode 100644 index 0000000..498aecb --- /dev/null +++ b/abstractions/register.pd @@ -0,0 +1,59 @@ +#N canvas 217 86 800 557 10; +#X obj -78 116 inlet; +#X obj -59 266 + 1; +#X obj 166 177 loadbang; +#X obj 115 437 prepend register; +#X obj -24 240 spigot; +#X msg 25 216 1; +#X obj -4 194 bang; +#X msg -4 216 0; +#X text -75 13 This is the abstraction registration system.; +#X text -75 33 Usage: [register abstraction-name \$0]; +#X obj -59 340 prepend \$1; +#X obj -78 364 prepend register-head; +#X obj 166 293 f \$2; +#X text -75 53 Start the registration process by sending register-head +0 message.; +#X text 241 215 For some reason four abstractions seem to send 5 register +messages! This is because each sends out a value in the process of +it counting! how to avoid this? Of course the newer value will over-write +the older one \, but this is a bit ugly.; +#X obj -78 139 route register-head \$1 layerNum; +#X obj 81 260 f; +#X obj 115 320 pack f f; +#X obj 115 346 prepend \$1; +#X msg 81 284 set \$1; +#X text 240 155 Once this abstraction has been counted ignore "register-head" +messages.; +#X obj 63 402 prepend layerNum; +#X obj 115 372 prepend N; +#X obj 120 498 outlet; +#X obj -78 474 outlet; +#X text -18 474 how to Make sure that messages pass in order??; +#X connect 0 0 15 0; +#X connect 1 0 10 0; +#X connect 1 0 17 0; +#X connect 1 0 23 0; +#X connect 2 0 5 0; +#X connect 2 0 12 0; +#X connect 3 0 24 0; +#X connect 4 0 1 0; +#X connect 5 0 4 1; +#X connect 6 0 7 0; +#X connect 7 0 4 1; +#X connect 10 0 24 0; +#X connect 11 0 24 0; +#X connect 12 0 17 1; +#X connect 15 0 4 0; +#X connect 15 0 11 0; +#X connect 15 1 6 0; +#X connect 15 1 1 0; +#X connect 15 2 16 0; +#X connect 15 2 21 0; +#X connect 15 3 24 0; +#X connect 16 0 19 0; +#X connect 17 0 18 0; +#X connect 18 0 22 0; +#X connect 19 0 22 0; +#X connect 21 0 24 0; +#X connect 22 0 3 0; diff --git a/abstractions/smooth.pd b/abstractions/smooth.pd new file mode 100755 index 0000000..c69ee88 --- /dev/null +++ b/abstractions/smooth.pd @@ -0,0 +1,27 @@ +#N canvas 447 234 696 300 12;
+#X obj 38 63 sig~;
+#X obj 39 141 snapshot~;
+#X obj 151 68 loadbang;
+#X obj 38 99 lop~ \$1;
+#X obj 151 97 metro \$2;
+#X obj 38 23 inlet;
+#X obj 41 214 outlet;
+#X obj 40 178 change;
+#X text 258 66 arguments:;
+#X text 258 85 \$1 ... smoothing (the higher \, the faster);
+#X text 258 103 \$2 ... message output interval (in ms);
+#X text 258 26 low-pass filters a message stream (by use of dsp);
+#X obj 98 23 inlet;
+#X obj 161 23 inlet;
+#X text 401 263 Copyright Thomas Grill 2003;
+#X msg 140 124 \; pd dsp 1;
+#X connect 0 0 3 0;
+#X connect 1 0 7 0;
+#X connect 2 0 4 0;
+#X connect 2 0 15 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 7 0 6 0;
+#X connect 12 0 3 1;
+#X connect 13 0 4 1;
diff --git a/abstractions/stripExtension.pd b/abstractions/stripExtension.pd new file mode 100644 index 0000000..942a51f --- /dev/null +++ b/abstractions/stripExtension.pd @@ -0,0 +1,8 @@ +#N canvas 599 457 398 185 10; +#X obj 17 51 inlet; +#X obj 17 141 outlet; +#X obj 17 104 py pt stripExtension; +#X text 4 5 Uses py to remove the extension from a symbol using os.path.splitext() +; +#X connect 0 0 2 1; +#X connect 2 0 1 0; diff --git a/abstractions/stripPath.pd b/abstractions/stripPath.pd new file mode 100644 index 0000000..ca3129e --- /dev/null +++ b/abstractions/stripPath.pd @@ -0,0 +1,8 @@ +#N canvas 599 457 406 193 10; +#X obj 17 51 inlet; +#X obj 17 141 outlet; +#X obj 17 103 py pt stripPath; +#X text 4 5 Uses py to remove the path component from a symbol using +os.path.basename(); +#X connect 0 0 2 1; +#X connect 2 0 1 0; diff --git a/dev-notes/Developer-Reference.txt b/dev-notes/Developer-Reference.txt new file mode 100644 index 0000000..2f37baf --- /dev/null +++ b/dev-notes/Developer-Reference.txt @@ -0,0 +1,113 @@ +pixelTANGO Developer Reference: +CVS: $Revision: 1.1 $ $Date: 2005-11-26 22:21:06 $ + +Required Externals: +entry, Gem, OSC, pool, popup, prepend, pwd, tosymbol, tot, zexy, py + +Memento Note: (Put this in the pt.abstraction how-to) +DO NOT USE a $0-in send or receive in any pt compatible abstraction. This s/r is reserved for memento functions. + +Creating .app using tcl/tk 8.4.9 standalone: +1. Duplicate Miller's pd.app +2. replace frameworks with those from tcl/tk standalone +3. copy the "Wish Shell.rsrc" file as "Pd.rsrc" to Resources +4. Copy the "Wish Shell" exec from tcl/tk standalone/MacOS to MacOS as "Pd" +5. Add set tk::mac::CGAntialiasLimit 0 in pd.tk (aka AppMain.tcl) OPTIONAL for Antialiasing +6. cd Resource/src then ./configure && make OPTIONAL perhaps for s_inter.c hack + +HACKS: (bad programming that is there just to make things work and need to be replaced by a better system!) + +delay 250 in register-head.pd is used to make sure that all abstractions have gotten the layerNum before sending the "register-head 0" message. + +Internal (Helper) Abstractions: + +Global Receives: + +Receive Name: Value: Notes: +pt.loopBack layerNum [list] This receive is used to send data from a lower abstraction to an upper through bus. Only when the head matches is it sent. +pt.layerNumDone layerNum When all abstractions in a layer get the layerNum, through control-bus, send this signal back to header to start abstraction registration by sending signal "register-head 0" through control-bus. +pt.registerDone layerNum When the register-tail gets the register signal then send the layer number of the done layer and use this signal to generate the OSC names. +pt.currentPreset float Set the current preset Value +pt.videoPlaneSize 2 float list Sends the current gemwindow size to pt.video for filling screen +pt.windowResolution 2 float list Sends the current gemwindow resolution to pt.feedback for good responce +pt.osc osc message All modules not in layers get OSC messages from this receive. +pt.updateArrays bang Updates dir2abstractionArray arrays + +OSC Names: + +General: +pt.window /pt/window/fullscreen Fullscreen on Primary (0/1 for On/Off) + /pt/window/fsaa Full Scene Anti-Aliasing (6) (0/1 for On/Off) + /pt/window/light Render Lighting Effects (0/1 for On/Off) + /pt/window/cursor Cursor Visibility (0/1 for On/Off) + /pt/window/r Background Red Component (0 to 1) + /pt/window/g Background Green Component (0 to 1) + /pt/window/b Background Blue Component (0 to 1) + /pt/window/resolution Window Resolution (0:640x480,1:1024x512,2:512x512) + /pt/window/framerate Render Framerate (0:15fps,1:30fps,2:60fps,3:100fps) + +pt.interp /pt/interp/smoothness How fast to interpolate (1 Slow to 100 for Fast) + /pt/interp/type Interpolation Type (0-Low-Pass, 1-Linear, 2-None) + +pt.light /pt/light/[i]/x X position of Light (? to ?) + /pt/light/[i]/y Y position of Light (? to ?) + /pt/light/[i]/z Z position of Light (? to ?) + /pt/light/[i]/r Amount of red Light (0 to 1) + /pt/light/[i]/g Amount of green Light (0 to 1) + /pt/light/[i]/b Amount of blue Light (0 to 1) + +pt.animate /pt/animate/frame Set the Keyframe (0 to NumberOfKeyFrames) + (This is NOT state-saved) + +Headers: +pt.layer /pt/[l]/vis Layer Visibility (0/1, turn on/off gemhead(s) ) + +Modifiers: +[l] for Layer Num (pt.layer creation argument) +[i] for abstraction Instance name (starting with 1) + +pt.fader /pt/[l]/pt.fader/[i]/r Red Value (0 to 1) + /pt/[l]/pt.fader/[i]/g Green Value (0 to 1) + /pt/[l]/pt.fader/[i]/b Blue Value (0 to 1) + /pt/[l]/pt.fader/[i]/a Alpha Value (0 to 1) + /pt/[l]/pt.fader/[i]/alpha Turn Alpha Belending on/off (0/1) + +pt.translate /pt/[l]/pt.translate/[i]/x X Translation (-4 to 4) + /pt/[l]/pt.translate/[i]/y Y Translation (-4 to 4) + /pt/[l]/pt.translate/[i]/z Z Translation (-4 to 4) + +pt.rotate /pt/[l]/pt.rotate/[i]/x X Rotation (-180 to 180 Degrees) + /pt/[l]/pt.rotate/[i]/y Y Rotation (-180 to 180 Degrees) + /pt/[l]/pt.rotate/[i]/z Z Rotation (-180 to 180 Degrees) + +pt.scale /pt/[l]/pt.scale/[i]/s XYZ Scale (0.1 to 7) + +pt.squeeze /pt/[l]/pt.squeeze/[i]/x X Scale (0.1 to 4) + /pt/[l]/pt.squeeze/[i]/y Y Scale (0.1 to 4) + /pt/[l]/pt.squeeze/[i]/z Z Scale (0.1 to 4) + +pt.feedback /pt/[l]/pt.feedback/[i]/x_off Left Edge of Capture Area + /pt/[l]/pt.feedback/[i]/y_off Top Edge of Capture Area + /pt/[l]/pt.feedback/[i]/x_size Width of Capture Area + /pt/[l]/pt.feedback/[i]/y_size Height of Capture Area + /pt/[l]/pt.feedback/[i]/type Type of feedback: 0:snap,1:snap2tex + +pt.entry /pt/[l]/pt.entry/[i]/text List defining text + /pt/[l]/pt.entry/[i]/font-index Index # for font. (change to symbol in future?) + /pt/[l]/pt.entry/[i]/font-size Point size for font + +pt.layerfx /pt/[l]/pt.layerfx/[i]/amount Amount of effect (0 to 1) + /pt/[l]/pt.layerfx/[i]/fx-index Index # for effect (now 0 to 11) + + +pt.live /pt/[l]/pt.live/[i]/width Pixel Width of Captured Frames (DO NOT change while render window is open!) + /pt/[l]/pt.live/[i]/height Pixel Height of Captured Frames " + +pt.loop /pt/[l]/pt.loop/[i]/loop Loop on/off (1/0) + /pt/[l]/pt.loop/[i]/in-point Loop in point (0-100%) + /pt/[l]/pt.loop/[i]/out-point Loop out point (0-100%) + /pt/[l]/pt.loop/[i]/rate playback speed in ms/frame + /pt/[l]/pt.loop/[i]/direction Loop direction (0-forward, 1-reverse, 2-ping-pong) + +pt.filelist /pt/[l]/pt.filelist/[i]/directory Directory in which to look for files + /pt/[l]/pt.filelist/[i]/pattern Glob pattern to select files eg *.mov diff --git a/dev-notes/GOP_layout.txt b/dev-notes/GOP_layout.txt new file mode 100644 index 0000000..b10bda9 --- /dev/null +++ b/dev-notes/GOP_layout.txt @@ -0,0 +1,27 @@ +GOP Sizes $Revision: 1.1 $ $Date: 2005-11-26 22:21:06 $ + +Abstraction: Canvas Size: GOP Size: +--------------------------------------------------------- +pt.window 128x210 130x212 +pt.layer 128x20 130x22 +pt.file 128x40 130x42 +pt.loop 128x136 130x138 +pt.source 128x30 130x32 +pt.layerfx 128x47 130x49 +pt.fader 128x70 130x72 +pt.translate 128x66 130x68 +pt.rotate 128x66 130x68 +pt.scale 128x40 130x42 +pt.video 128x16 130x18 +pt.light 128x130 130x132 +pt.interp 128x47 130x49 +pt.entry 128x140 130x142 +pt.text 128x14 130x16 +pt.model 128x14 130x16 +pt.live 128x23 130x25 +pt.feedback 128x130 130x132 +pt.squeeze 128x66 130x68 +pt.presets 128x70 130x72 +pt.animate 528x80 530x82 +pt.filelist 128x110 130x112 +pt.whatcolour 128x40 130x42 diff --git a/fonts/arial.ttf b/fonts/arial.ttf Binary files differnew file mode 100644 index 0000000..fc0a41b --- /dev/null +++ b/fonts/arial.ttf diff --git a/fonts/times.ttf b/fonts/times.ttf Binary files differnew file mode 100644 index 0000000..34b0864 --- /dev/null +++ b/fonts/times.ttf diff --git a/help/pixelTANGO-help.pd b/help/pixelTANGO-help.pd new file mode 100644 index 0000000..23eff46 --- /dev/null +++ b/help/pixelTANGO-help.pd @@ -0,0 +1,127 @@ +#N canvas 329 23 931 558 10; +#X obj 18 259 cnv 15 440 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 8 485 cnv 15 900 45 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 8 6 cnv 15 900 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 21 259 * Headers (Modules at the top of layers); +#X obj 19 280 pt.layer-help; +#X obj 118 280 cnv 16 340 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 18 322 cnv 15 440 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 8 42 cnv 15 450 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 11 42 Start Here First: (from the readme); +#X text 17 68 PixelTANGO is a set of abstractions and patches that +make use of pd/Gem for creating visuals in a live performance setting. +Of course it can be used for many other things and provides an interface +to use the power of pd/Gem with a less-steep learning curve.; +#X text 123 280 Header for all pT layers; +#X text 21 322 * Footers (Modules at the bottom of layers); +#X obj 19 343 pt.video-help; +#X obj 118 343 cnv 16 340 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 118 363 cnv 16 340 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 19 363 pt.text-help; +#X text 123 343 Defines a 2D video layer; +#X text 123 363 Defines a text layer; +#X obj 118 383 cnv 16 340 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 19 383 pt.model-help; +#X text 123 383 Defines a 3D model (OBJ) layer; +#X obj 468 42 cnv 15 440 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 598 63 cnv 16 310 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 471 42 * Modifiers (Go between Headers and Footers); +#X obj 469 63 pt.entry-help; +#X obj 598 83 cnv 16 310 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 469 83 pt.fader-help; +#X text 603 83 RGBA colour fading for layer; +#X obj 598 103 cnv 16 310 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 469 103 pt.file-help; +#X text 603 63 Text entry for text layers; +#X text 603 103 File selection for QTs \, Models etc.; +#X obj 598 143 cnv 16 310 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 469 143 pt.layerfx-help; +#X obj 469 283 pt.translate-help; +#X obj 598 283 cnv 16 310 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 603 143 Pixel effects for layer textures; +#X obj 598 163 cnv 16 310 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 469 163 pt.live-help; +#X text 603 163 Live DV/firewire video input; +#X obj 598 183 cnv 16 310 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 469 183 pt.loop-help; +#X text 603 183 Looper for QT files; +#X obj 598 203 cnv 16 310 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 469 203 pt.rotate-help; +#X text 603 203 Control 3D rotation of layer; +#X text 603 283 Control 3D translation of layer; +#X obj 598 223 cnv 16 310 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 469 223 pt.scale-help; +#X text 603 223 Control scale of layer; +#X obj 598 243 cnv 16 310 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 469 243 pt.source-help; +#X text 603 243 Texture source switcher; +#X obj 598 263 cnv 16 310 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 469 263 pt.squeeze-help; +#X text 603 263 Control independant XYZ scale of layer; +#X obj 468 322 cnv 15 440 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 598 343 cnv 16 310 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 598 363 cnv 16 310 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 598 383 cnv 16 310 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 471 322 * General (Effect all layers in patch); +#X obj 469 343 pt.light-help; +#X text 603 343 Control lighting in scene; +#X obj 469 363 pt.window-help; +#X text 603 363 Render window controls; +#X obj 469 383 pt.interp-help; +#X text 603 383 Interpolation control; +#X text 548 488 Copyright Ben Bogart \, Franz Hildgen \, \; The Societe +des arts technologiques (SAT) & \; The Interaccess Electronic Media +Arts Centre 2004; +#X text 17 138 PixelTANGO was written by Ben Bogart and Franz Hildgen +@ The Societe des arts technologiques (SAT) and at the Interaccess +Electronic Media Arts Centre as part of the Territoires Ouverts / Open +Territories (TOT) project funded by Heritage Canada.; +#X text 17 208 PixelTANGO is Copyright Ben Bogart \, Franz Hildgen +\, The Societe des arts technologiques and The Interaccess Electronic +Media Arts Centre; +#X text 468 7 Click on each pT object to get the full help for that +module.; +#X obj 598 403 cnv 16 310 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 469 403 pt.presets-help; +#X text 603 403 Presets (State-Saving); +#X obj 598 423 cnv 16 310 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 603 423 Animate params using presets; +#X text 12 6 pixelTANGO HELP - Listing of Modules - CVS: $Revsion$ +; +#X obj 469 423 pt.animate-help; +#X obj 598 123 cnv 16 310 16 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 469 123 pt.filelist-help; +#X text 603 123 Load a directory of files by wildcard; +#N canvas 0 22 462 312 META 0; +#X text 12 5 CATEGORY: PixelTANGO; +#X text 12 15 KEYWORDS: pixeltango video gem graphics rradical index +objects; +#X restore 13 490 pd META; diff --git a/help/pt.animate-help.pd b/help/pt.animate-help.pd new file mode 100644 index 0000000..546af84 --- /dev/null +++ b/help/pt.animate-help.pd @@ -0,0 +1,100 @@ +#N canvas 194 100 932 627 10; +#X obj 9 77 cnv 15 900 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 458 146 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 9 100 cnv 15 430 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 458 100 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 458 310 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 461 100 *Sliders:; +#X obj 8 575 cnv 15 900 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 576 577 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 900 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 23 Type: General. Effects all layers in patch.; +#X text 12 6 pixelTANGO HELP - pt.animate - Animate Parameters w/ Presets +; +#X text 11 77 Preset Animation Functions:; +#X obj 180 464 pt.animate 10; +#X text 12 100 *Introduction:; +#X obj 458 210 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 461 310 *Notes; +#X obj 8 350 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 11 350 *Bangs:; +#X text 21 388 >>: Go to next key-frame; +#X text 21 371 <<: Go to previous key-frame; +#X text 21 407 Save: Write all key-frames to preset file; +#X text 21 424 Load: Read all key-frames from preset file; +#X text 471 121 Choose a key-frame \, random access with jump-on-click +; +#X text 471 167 Current-Key-Frame: Shows the key-frame set by the slider +; +#X text 12 39 Creation Arguments: pt.animate [number-of-keyframes] +; +#X text 471 184 Number-of-Key-Frame: Shows the total number of key-frames. +; +#X text 461 146 *Number Boxes: (Output only \, non-interactive); +#X text 461 210 *Methods: Messages you can send to pt.animate; +#X text 471 231 First Inlet:; +#X text 481 248 "numKeys [integer]" sets the number of key-frames. +; +#X text 471 267 Second Inlet:; +#X text 481 284 "[integer]" sets the current key-frame; +#N canvas 121 78 745 414 Using 0; +#X obj 8 356 cnv 15 700 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 376 358 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 700 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 176 25 You can use pt.loop to control pt.animate just like +a video clip. Connect the left outleft of pt.animate to the right inlet +of pt.loop. Connect the right outlet of pt.loop to the left inlet of +pt.animate. pt.animate needs to tell pt.loop how many key-frames there +are. This happens on load-bang so if pt.loop is not attached when pt.animate +gets created pt.loop will not get the number of keyframes. To solve +this copy and paste the pt.loop and pt.animate together or send the +"numKeys [integer]" message to pt.animate to force it to resend the +number of key-frames.; +#X text 12 6 pixelTANGO HELP - Using pt.loop to control pt.animate +; +#X obj 177 254 pt.animate 10; +#X obj 10 198 pt.loop; +#X msg 177 231 numKeys 10; +#X text 176 155 At this point you can now use pt.loop to control the +playback of the frames just as you would control the playback of a +video clip. The state of pt.loop will not be saved when used outside +of a layer.; +#X connect 5 0 6 1; +#X connect 6 1 5 0; +#X connect 7 0 5 0; +#X restore 473 402 pd Using pt.loop with pt.animate; +#X text 22 121 pt.animate provides the ability to animate all state-saved +parameters in a patch. In actually pt.animate is a specialized interface +for pt.presets. This means you cannot have both in one patch because +as they will interfere. Presets can be thought of as key-frames when +using this module. Unlike pt.presets the first key-frame/preset is +selected by default. This means that any changes you make to parameters +are automatically saved in the first key-frame.; +#X text 22 238 The animation process is: Add pt.animate to a patch +\, alter patch parameters to the desired intitial state. (This includes +the interpolation params.) Press the ">>" Bang to go to the next frame +and set the params for the next state. Once you have set a number of +key-frames you can use the "<<" and ">>" to jump from one key-frame +to the next \, or use the slider to jump to any frame and tween from +the current frame.; +#X text 471 332 Will interfere with pt.presets if both are in the patch. +Like presets only parameters that have been changed will be saved in +the key-frame. If you do not change a value it will stay the same throughout +the animation regardless of the current keyframe.; +#N canvas 0 22 466 316 META 0; +#X text 12 5 CATEGORY: PixelTANGO; +#X text 12 16 KEYWORDS: pixeltango animate presets keyframe; +#X restore 13 582 pd META; diff --git a/help/pt.entry-help.pd b/help/pt.entry-help.pd new file mode 100644 index 0000000..9ae896a --- /dev/null +++ b/help/pt.entry-help.pd @@ -0,0 +1,44 @@ +#N canvas 422 71 658 362 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 184 251 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 184 208 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 184 165 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 184 97 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 208 *Popup:; +#X obj 8 315 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 317 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 23 Type: Modifier. Effects only layer with a pt.text footer. +; +#X text 12 6 pixelTANGO HELP - pt.entry - Text Control; +#X text 177 77 Text Control Functions:; +#N canvas 17 425 450 161 bugs 0; +#X text 13 23 Entry send raw pd messages \, it is not parsed for special +characters. this means that using " \; " or "$" or " \, " will cause +strange things to happen. The benifit of this is you can use entry +just like the "File" -> "Message" command. \; \; This may be fixed +in a future release to remove special message characters. You can escape +special characters with backslash.; +#X restore 582 22 pd bugs; +#X obj 24 95 pt.entry; +#X text 12 39 Creation Arguments: None; +#X text 187 165 *Entry:; +#X text 197 186 Place to type your text. Copy-Paste works fine.; +#X text 197 229 Change the type-face of the text.; +#X text 187 97 *Bangs:; +#X text 197 118 Send: Send message typed into entry box.; +#X text 197 138 Clear: Clear message typed into entry box.; +#X text 187 251 *Number Box:; +#X text 197 272 Specify the point size of the type. Integers only. +; +#X obj 24 243 pt.text; +#X connect 13 0 23 0; +#X connect 13 1 23 1; diff --git a/help/pt.fader-help.pd b/help/pt.fader-help.pd new file mode 100644 index 0000000..6aec404 --- /dev/null +++ b/help/pt.fader-help.pd @@ -0,0 +1,21 @@ +#N canvas 422 71 661 242 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 184 97 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 8 195 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 197 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 39 Creation Arguments: None; +#X obj 24 90 pt.fader; +#X text 12 6 pixelTANGO HELP - pt.fader - Red \, Green \, Blue and +Alpha; +#X text 12 23 Type: Modifier. Effects only its own layer.; +#X text 177 77 Red \, Green \, Blue and Alpha Functions:; +#X text 187 97 *Sliders:; +#X text 197 118 Alpha: Control transparency of layer; +#X text 197 138 R/G/B: Control amount of Red \, Green & Blue in layer +; diff --git a/help/pt.feedback-help.pd b/help/pt.feedback-help.pd new file mode 100644 index 0000000..72ce80e --- /dev/null +++ b/help/pt.feedback-help.pd @@ -0,0 +1,34 @@ +#N canvas 422 71 666 370 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 184 100 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 8 315 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 317 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 39 Creation Arguments: None; +#X text 12 6 pixelTANGO HELP - pt.feedback - Copy render window to +layer; +#X obj 24 135 pt.feedback; +#X text 12 23 Type: Modifier. Uses images from all preceeding layers. +; +#X text 177 77 Feedback Functions:; +#X text 187 100 *Number Boxs: (Set feedback cropping box of render +window); +#X text 197 121 X_Offset: Distance between left edge of render window +and the left edge of the copied area.; +#X text 197 151 Y_Offset: Distance between top edge of render window +and the top edge of the copied area.; +#X text 197 181 X_Size: Width of the copied area. (On some platforms +this needs to be a value of 2^x); +#X text 197 211 Y_Size: Height of the copied area. (On some platforms +this needs to be a value of 2^x); +#X obj 184 243 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 243 *Notes:; +#X text 197 261 Default values presume a 640x480 render window. For +a 512x512 window values should be 0 \, 0 \, 512 \, 512 or 0 \, 0 \, +1024 \, 512 for 1024x512 window.; diff --git a/help/pt.file-help.pd b/help/pt.file-help.pd new file mode 100644 index 0000000..88883d4 --- /dev/null +++ b/help/pt.file-help.pd @@ -0,0 +1,19 @@ +#N canvas 422 71 658 210 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 184 97 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 8 165 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 167 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 39 Creation Arguments: None; +#X text 12 23 Type: Modifier. Effects only its own layer.; +#X text 187 97 *Bang:; +#X obj 24 90 pt.file; +#X text 197 118 Open: Popup file requester and pass filename to control +bus.; +#X text 177 77 File Management Functions:; +#X text 12 6 pixelTANGO HELP - pt.file - File Management; diff --git a/help/pt.filelist-help.pd b/help/pt.filelist-help.pd new file mode 100644 index 0000000..878651b --- /dev/null +++ b/help/pt.filelist-help.pd @@ -0,0 +1,45 @@ +#N canvas 358 149 657 499 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 184 97 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 8 458 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 460 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 39 Creation Arguments: None; +#X text 12 23 Type: Modifier. Effects only its own layer.; +#X text 187 97 *Bang:; +#X obj 24 200 pt.filelist; +#X text 197 118 Open: Popup requester to choose a directory.; +#X obj 184 137 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 137 *Symbol:; +#X text 197 158 The first Symbol box shows the directory chosen via +the bang above. You can also type a path-name in manually here by clicking +once and typing. Press enter to send path-name.; +#X text 12 6 pixelTANGO HELP - pt.filelist - Choose files from directory +; +#X text 177 77 Functions:; +#X obj 184 292 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 292 *Popup:; +#X text 197 313 This popup lists all files matching the pattern. You +can load a file by selecting.; +#X obj 184 344 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 344 *Notes:; +#X text 197 201 The second Symbol box labbeled "Pattern" is the glob +style pattern for choosing files in the directory. For example to list +all quicktime movies you can use the pattern "*.mov" Where "*" is expanded +to refer to anything. The pattern "*" will list all files in the directory +(including sub-directories!) The popup is updated when this value is +sent.; +#X text 197 365 Only the directory and pattern values are state-saved. +The directory listing is not updated on load \, but only when a preset +is selected \, or a new pattern has been entered.; +#X text 197 405 The popup box saves a copy of the file-list when the +patch is saved. If the files have not changed you can use the popup +without updating the directory listing.; diff --git a/help/pt.interp-help.pd b/help/pt.interp-help.pd new file mode 100644 index 0000000..b2b13a7 --- /dev/null +++ b/help/pt.interp-help.pd @@ -0,0 +1,32 @@ +#N canvas 422 71 665 319 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 184 97 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 8 274 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 276 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 39 Creation Arguments: None; +#X text 177 77 File Management Functions:; +#X text 12 6 pixelTANGO HELP - pt.interp - Interpolation Control; +#X obj 24 140 pt.interp; +#X obj 184 151 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 151 *Popup:; +#X text 187 97 *Slider:; +#X text 197 189 Linear: Use normal linear interpolation.; +#X text 197 172 Low-Pass: Use DSP lop~ to smooth out linear interpolation. +; +#X text 12 23 Type: General. Effects all interpolated controls in a +patch.; +#X text 197 118 Smoothness: Controls how smooth the controls are. Left +for faster/rougher and right for slower/smoother.; +#X obj 184 226 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 226 *Notes:; +#X text 197 247 Low-Pass is the default value; +#X text 197 207 None: Use no interpolation. Controls pass through. +; diff --git a/help/pt.layer-help.pd b/help/pt.layer-help.pd new file mode 100644 index 0000000..8cf2822 --- /dev/null +++ b/help/pt.layer-help.pd @@ -0,0 +1,25 @@ +#N canvas 422 71 662 288 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 8 245 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 247 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 24 141 pt.layer 1; +#X text 12 39 Creation Arguments: pt.layer [render order]; +#X obj 184 101 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 6 pixelTANGO HELP - pt.layer - Layer Header; +#X text 12 23 Type: Header. Top of every pt layer; +#X obj 184 151 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 151 *Notes:; +#X text 187 101 *Toggle:; +#X text 197 122 Show/Hide this layer; +#X text 177 77 Layer Functions:; +#X text 197 172 The creation argument (render order) starts in the +back with 1 and goes forward up to 100 The back-most layer \, render +order == 1 \, is turned on by default. All other layers are off by +default.; diff --git a/help/pt.layerfx-help.pd b/help/pt.layerfx-help.pd new file mode 100644 index 0000000..b821a73 --- /dev/null +++ b/help/pt.layerfx-help.pd @@ -0,0 +1,36 @@ +#N canvas 422 71 670 487 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 184 97 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 8 394 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 396 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 39 Creation Arguments: None; +#X obj 184 151 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 97 *Slider:; +#X obj 184 327 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 327 *Notes:; +#X text 12 6 pixelTANGO HELP - pt.layerfx - Pixel Based Effects; +#X text 12 23 Type: Modifier. Effects only pixels/textures of own layer. +; +#X text 177 77 Layer Effects Functions:; +#X text 197 118 fx_amount: Degree of effect; +#X text 187 151 *Popup:; +#X text 197 172 None: No pixel effect (inactive slider) \; edge: Edge-detection +convolution \; emboss: Random bevelling effect (inactive slider) \; +gain: Change gain/brightness of image \; motionblur: Fast objects become +less visible \; negative: Reverse colour values (inactive slider) \; +normalize: Normalize pixels (inactive slider) \; posterize: Reduce +number of colours \; randomdot: Creates random-dot stereogram (inactive +slider) \; roll: Shift pixels up with roll-over \; rtx: Transpose Time +and X axes. BROKEN (inactive slider) \; scanline: Reduce number of +vertical pixels; +#X text 197 348 Only effects pixels/textures of layers. Will be a future +interface to add your own filters.; +#X obj 24 200 pt.layerfx; diff --git a/help/pt.light-help.pd b/help/pt.light-help.pd new file mode 100644 index 0000000..fa199d5 --- /dev/null +++ b/help/pt.light-help.pd @@ -0,0 +1,31 @@ +#N canvas 422 71 671 361 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 184 97 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 8 306 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 308 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 39 Creation Arguments: None; +#X obj 184 233 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 233 *Notes:; +#X text 177 77 Layer Effects Functions:; +#X text 12 6 pixelTANGO HELP - pt.light - Lighting Control; +#X text 12 23 Type: General. Effects all layers in patch.; +#X obj 184 141 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 141 *Sliders:; +#X text 197 162 Top: X position of light \; Left: Y position of light +\; Bottom: Z position of light \; Red/Green/Blue: Amount of R/G/B in +light \; White: Overall brightness of light (changes R \, G & B); +#X text 187 97 *Bang:; +#X text 197 118 Reset: Reset all controls to defaults w/ interpolation. +; +#X text 197 254 You must turn lighting on in the pt.window controls. +You can have up to 8 lights in a patch but the more you add the slower +the machine will render; +#X obj 24 116 pt.light 1; diff --git a/help/pt.live-help.pd b/help/pt.live-help.pd new file mode 100644 index 0000000..b7a26cd --- /dev/null +++ b/help/pt.live-help.pd @@ -0,0 +1,27 @@ +#N canvas 422 71 666 272 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 184 97 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 8 226 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 228 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 184 163 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 163 *Notes:; +#X text 12 6 pixelTANGO HELP - pt.live - Capture live video (firewire) +; +#X text 12 39 Creation Arguments: pt.live [width] [height]; +#X obj 24 126 pt.live 320 240; +#X text 187 97 *Number Boxes:; +#X text 196 118 Left: Shows the pixel width of the captured video image. +; +#X text 196 135 Right: Shows the pixel height of the captured video +image.; +#X text 197 184 The width and height of the video capture can only +be set on object creation via creation arguments.; +#X text 12 23 Type: Modifier. Effects only its own layer.; +#X text 177 77 Live Video Functions:; diff --git a/help/pt.loop-help.pd b/help/pt.loop-help.pd new file mode 100644 index 0000000..c917eba --- /dev/null +++ b/help/pt.loop-help.pd @@ -0,0 +1,55 @@ +#N canvas 422 71 669 546 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 8 493 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 495 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 24 180 pt.loop; +#X obj 24 322 pt.source; +#X obj 184 273 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 184 339 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 184 194 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 184 97 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 194 *Sliders:; +#X text 187 339 *Popup:; +#X text 187 273 *Number Boxes:; +#X text 187 97 *Toggle:; +#X text 197 118 Loop_Film: Turn on and off looping of video file. Off +by default.; +#X obj 184 150 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 150 *Bang:; +#X text 197 233 Out_Point: Set the relative out point of the loop; +#X text 197 296 In_Point: Show the relative in point as percentage +; +#X text 197 314 Out_Point: Show the relative out point as percentage +; +#X text 12 23 Type: Modifier. Effects only layer. Requires pt.source +; +#X text 12 6 pixelTANGO HELP - pt.loop - Loop video file (Quicktime) +; +#X text 12 39 Creation Arguments: None; +#X text 177 77 Loop Functions:; +#X text 197 215 In_Point: Set the relative in point of the loop; +#X text 197 251 Play_Rate: Control loop speed left(slow) to Right(fast) +; +#X text 197 360 Set the Loop direction (forward \, reverse and ping-pong) +; +#X text 197 171 Reset: Reset controls to defaults.; +#X obj 184 381 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 381 *Notes:; +#X text 197 402 The in and out points are relative because the left +edge of the slider is the first frame and the right edge is the last +frame. pt.loop requires pt.source to work properly. The number of frames +is reported by pt.source and is passed to pt.loop via a loopBack in +header and footers.; +#X connect 4 0 5 0; +#X connect 4 1 5 1; diff --git a/help/pt.model-help.pd b/help/pt.model-help.pd new file mode 100644 index 0000000..318df01 --- /dev/null +++ b/help/pt.model-help.pd @@ -0,0 +1,23 @@ +#N canvas 425 78 664 201 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 8 157 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 159 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 23 Type: Footer. Effects only its own layer; +#X text 12 39 Creation Arguments: None; +#X obj 24 124 pt.model; +#X text 177 77 3D Model Functions:; +#X obj 184 101 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 101 *Notes:; +#X text 12 6 pixelTANGO HELP - pt.model - Load an 3D Model as layer +; +#X obj 24 77 pt.file; +#X text 197 122 To load a model use an immediatly preceeding pt.file. +Support Alias|Wavefront obj models.; +#X connect 11 0 6 0; +#X connect 11 1 6 1; diff --git a/help/pt.presets-help.pd b/help/pt.presets-help.pd new file mode 100644 index 0000000..daf6e81 --- /dev/null +++ b/help/pt.presets-help.pd @@ -0,0 +1,30 @@ +#N canvas 422 71 674 320 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 184 97 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 8 276 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 278 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 184 163 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 39 Creation Arguments: pt.live [width] [height]; +#X text 12 23 Type: Modifier. Effects only its own layer.; +#X text 12 6 pixelTANGO HELP - pt.presets - Manage Presets; +#X text 177 77 Presets:; +#X obj 24 128 pt.presets; +#X text 187 97 *Popup:; +#X text 196 118 Selecting the popup will associate the current state +positions with that preset. Only changed parameters are stored.; +#X text 13 289 CVS: $revision$; +#X obj 184 216 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 216 *Notes:; +#X text 197 237 The width and height of the video capture can only +be set on object creation via creation arguments.; +#X text 187 163 *Bangs:; +#X text 197 184 Save: Save the set of presets to a file Load: Load +the set of presets from a file; diff --git a/help/pt.rotate-help.pd b/help/pt.rotate-help.pd new file mode 100644 index 0000000..2c0b56c --- /dev/null +++ b/help/pt.rotate-help.pd @@ -0,0 +1,23 @@ +#N canvas 422 71 660 252 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 184 147 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 8 205 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 207 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 39 Creation Arguments: None; +#X text 12 23 Type: Modifier. Effects only its own layer.; +#X text 187 147 *Sliders:; +#X text 12 6 pixelTANGO HELP - pt.rotate - Rotate Layer; +#X text 177 77 Rotational Functions:; +#X obj 24 95 pt.rotate; +#X obj 184 97 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 97 *Bangs:; +#X text 197 171 X/Y/Z: Control rotation on X \, Y and Z axes.; +#X text 197 118 Reset: Reset controls to defaults w/ interpolation. +; diff --git a/help/pt.scale-help.pd b/help/pt.scale-help.pd new file mode 100644 index 0000000..a6337e8 --- /dev/null +++ b/help/pt.scale-help.pd @@ -0,0 +1,24 @@ +#N canvas 422 71 662 245 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 184 147 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 8 200 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 202 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 39 Creation Arguments: None; +#X text 12 23 Type: Modifier. Effects only its own layer.; +#X text 187 147 *Sliders:; +#X obj 184 97 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 97 *Bangs:; +#X text 197 118 Reset: Reset controls to defaults w/ interpolation. +; +#X text 12 6 pixelTANGO HELP - pt.scale - Scale Layer; +#X text 177 77 Scaling Functions:; +#X obj 24 108 pt.scale; +#X text 197 171 Scale: Control scale on X \, Y and Z axes simultaneously. +; diff --git a/help/pt.source-help.pd b/help/pt.source-help.pd new file mode 100644 index 0000000..4381f1b --- /dev/null +++ b/help/pt.source-help.pd @@ -0,0 +1,30 @@ +#N canvas 422 71 662 347 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 184 245 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 8 302 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 304 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 39 Creation Arguments: None; +#X text 12 23 Type: Modifier. Effects only its own layer.; +#X obj 184 97 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 24 164 pt.source; +#X text 177 77 Source Functions:; +#X text 187 97 *Popup: Set source of texture/pixel data; +#X text 197 118 Image: pix_image is the image source. (This may cause +crashes in some cases on OSX); +#X text 197 147 Movie: pix_movie is the image source. (On OSX this +loads all file types QT supports with the exception of MPEG1 and flash +files. Other platforms support various file types.); +#X text 197 187 Network_Stream: pix_dvts is the image source. This +feature is not yet implimented but will allow receiving a network DV +stream. In the mean-time try loading a SDP file with "Movie".; +#X text 187 245 *Notes:; +#X text 197 267 The middle outlet sends the number of frames in a video +file.; +#X text 12 6 pixelTANGO HELP - pt.source - Set texture source; diff --git a/help/pt.squeeze-help.pd b/help/pt.squeeze-help.pd new file mode 100644 index 0000000..271d96d --- /dev/null +++ b/help/pt.squeeze-help.pd @@ -0,0 +1,25 @@ +#N canvas 422 71 664 256 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 184 147 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 8 205 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 207 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 39 Creation Arguments: None; +#X text 12 23 Type: Modifier. Effects only its own layer.; +#X text 187 147 *Sliders:; +#X obj 184 97 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 97 *Bangs:; +#X text 197 118 Reset: Reset controls to defaults w/ interpolation. +; +#X text 12 6 pixelTANGO HELP - pt.squeeze - Squeeze and Stretch Layer +; +#X text 197 171 X/Y/Z: Control scaling on X \, Y and Z axes independantly. +; +#X text 177 77 Squeeze Functions:; +#X obj 24 95 pt.squeeze; diff --git a/help/pt.text-help.pd b/help/pt.text-help.pd new file mode 100644 index 0000000..1ca299f --- /dev/null +++ b/help/pt.text-help.pd @@ -0,0 +1,21 @@ +#N canvas 177 256 662 311 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 8 265 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 267 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 24 75 pt.entry; +#X text 12 39 Creation Arguments: None; +#X obj 24 223 pt.text; +#X text 12 6 pixelTANGO HELP - pt.text - Text; +#X text 12 23 Type: Footer. Needs to be controlled by pt.entry.; +#X text 177 77 Text Functions: None. This is a footer module.; +#X text 194 122 Right or Control click to get help on pt.entry; +#X obj 184 100 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 100 *Notes:; +#X connect 4 0 6 0; +#X connect 4 1 6 1; diff --git a/help/pt.translate-help.pd b/help/pt.translate-help.pd new file mode 100644 index 0000000..1d8f6f0 --- /dev/null +++ b/help/pt.translate-help.pd @@ -0,0 +1,23 @@ +#N canvas 422 71 664 256 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 184 147 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 8 205 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 207 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 39 Creation Arguments: None; +#X text 12 23 Type: Modifier. Effects only its own layer.; +#X text 187 147 *Sliders:; +#X obj 184 97 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 97 *Bangs:; +#X text 197 118 Reset: Reset controls to defaults w/ interpolation. +; +#X text 12 6 pixelTANGO HELP - pt.translate - Move layer in space; +#X obj 24 95 pt.translate; +#X text 197 171 X/Y/Z: Control translation on X \, Y and Z axes.; +#X text 177 77 Translate Functions:; diff --git a/help/pt.video-help.pd b/help/pt.video-help.pd new file mode 100644 index 0000000..0d8d811 --- /dev/null +++ b/help/pt.video-help.pd @@ -0,0 +1,19 @@ +#N canvas 425 78 668 205 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 8 157 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 159 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 23 Type: Footer. Effects only its own layer; +#X text 12 39 Creation Arguments: None; +#X obj 184 101 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 101 *Notes:; +#X obj 24 101 pt.video; +#X text 12 6 pixelTANGO HELP - pt.video - 2D Video Layer; +#X text 177 77 Video Functions:; +#X text 197 122 Dynamically responds to the dimensions of the render +window to always fill the screen & match aspect ratio.; diff --git a/help/pt.whatcolour-help.pd b/help/pt.whatcolour-help.pd new file mode 100644 index 0000000..cc34c9b --- /dev/null +++ b/help/pt.whatcolour-help.pd @@ -0,0 +1,25 @@ +#N canvas 422 71 656 256 10; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 8 214 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 216 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 39 Creation Arguments: None; +#X obj 184 96 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 187 96 *Notes:; +#X text 12 6 pixelTANGO HELP - pt.whatcolour - What colour is pt.fader? +; +#X text 12 23 Type: layer. Only reports the colour of the fader above +it.; +#X obj 24 155 pt.whatcolour; +#X obj 24 76 pt.fader; +#X text 177 77 whatcolour:; +#X text 197 117 Shows you what colour the pt.fader module above it +is set to. Useful for choosing colours before an object becomes visible. +; +#X connect 10 0 9 0; +#X connect 10 2 9 1; diff --git a/help/pt.window-help.pd b/help/pt.window-help.pd new file mode 100644 index 0000000..020629a --- /dev/null +++ b/help/pt.window-help.pd @@ -0,0 +1,43 @@ +#N canvas 443 192 654 468 10; +#X obj 24 105 pt.window 60; +#X obj 174 77 cnv 15 460 15 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X obj 184 310 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 184 267 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 184 97 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 197 178 Window: Create the render window and start rendering +; +#X text 197 196 Light: Turn on lighting; +#X text 177 77 Window Management Functions:; +#X text 187 267 *Sliders:; +#X text 187 310 *Popup:; +#X obj 8 431 cnv 15 640 30 empty empty empty 20 12 0 14 -261148 -66577 +0; +#X text 306 433 Copyright Ben Bogart \, Franz Hildgen & \; The Societe +des arts technologiques (SAT) 2004; +#X obj 8 6 cnv 15 640 50 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 12 39 Creation Arguments: pt.window [frame-rate]; +#X text 187 97 *Toggles: (All of these functions can be turned on and +off); +#X text 197 118 Fullscreen: Expand render window to full-screen on +primary display. Only has effect before creating render window.; +#X text 197 148 FSAA(6): Turn on Full-Scene Anti-Aliasing. Only has +effect before creating render window.; +#X text 12 23 Type: General. Effects all layers in patch.; +#X text 12 6 pixelTANGO HELP - pt.window - Window Management; +#X text 197 288 Render window background colour; +#X text 197 214 Cursor: Show or hide cursor in window. (not OSX compliant) +; +#X text 197 232 Border: Show or hide window titlebar. Only has effect +before creating render window.; +#X text 197 331 Resolution: Pixel resolution of render window \, pt.video +layers and pt.feedback dimentions; +#X text 197 361 Offset: X & Y distance from the upper-left corner of +the primary display. Only has effect before creating the render window. +; +#X text 197 401 Frame-Rate: How many frames to render in one second. +; diff --git a/scripts/pt.py b/scripts/pt.py new file mode 100644 index 0000000..e40cac0 --- /dev/null +++ b/scripts/pt.py @@ -0,0 +1,37 @@ +# PixelTANGO Python code for dirlist and stripExtension +# Copyright Ben Bogart, Franz Hildgen, +# The Societe des arts technologiques and +# The Interaccess Electronic Media Arts Centre + +import os +import os.path +import glob + +print "pt: py scripts init" + +# Removes extension +def stripExtension(arg): + return os.path.splitext(str(arg))[0] + +# Lists files matching pattern in path. +def dirlist(*args): + if len(args) == 2: + pattern=str(args[0]) + path=str(args[1]) + files=list('') # Seems like a bad way to create a list var + + test=os.path.join(path,pattern) + entries=glob.glob(test) + + for entry in entries: + if os.path.isfile(entry): + files.append(entry) + return files + else: + print "pt: dirlist only accepts two arguments: [pattern] [path]" + print "args: ",args + +# Removed path component to leave only the filename. +def stripPath(arg): + return os.path.basename(str(arg)) + |