瀏覽代碼

mid residency commit

added preview
bugfixes
Etienne Landon 8 年之前
父節點
當前提交
1f422f280f
共有 100 個文件被更改,包括 1769 次插入1 次删除
  1. 3 0
      .gitignore
  2. 0 0
      extra/Fraise/bin/linux/as2gbmap
  3. 0 0
      extra/Fraise/bin/linux/fsusb
  4. 0 0
      extra/Fraise/bin/linux/gpasm
  5. 0 0
      extra/Fraise/bin/linux/gpdasm
  6. 0 0
      extra/Fraise/bin/linux/gplib
  7. 0 0
      extra/Fraise/bin/linux/gplink
  8. 0 0
      extra/Fraise/bin/linux/gpstrip
  9. 0 0
      extra/Fraise/bin/linux/gpvc
  10. 0 0
      extra/Fraise/bin/linux/gpvo
  11. 0 0
      extra/Fraise/bin/linux/olds/gpasm
  12. 0 0
      extra/Fraise/bin/linux/olds/gplink
  13. 0 0
      extra/Fraise/bin/linux/pk2cmd/PK2DeviceFile.dat.orig
  14. 0 0
      extra/Fraise/bin/linux/pk2cmd/PK2V023200.hex
  15. 0 0
      extra/Fraise/bin/linux/pk2cmd/pk2cmd
  16. 0 0
      extra/Fraise/bin/linux/sdcc
  17. 0 0
      extra/Fraise/bin/linux/sdcpp
  18. 0 0
      extra/Fraise/bin/linux/to_pd
  19. 0 0
      extra/Fraise/bin/linuxarm/as2gbmap
  20. 0 0
      extra/Fraise/bin/linuxarm/gpasm
  21. 0 0
      extra/Fraise/bin/linuxarm/gpdasm
  22. 0 0
      extra/Fraise/bin/linuxarm/gplib
  23. 0 0
      extra/Fraise/bin/linuxarm/gplink
  24. 0 0
      extra/Fraise/bin/linuxarm/gpstrip
  25. 0 0
      extra/Fraise/bin/linuxarm/gpvc
  26. 0 0
      extra/Fraise/bin/linuxarm/gpvo
  27. 0 0
      extra/Fraise/bin/linuxarm/sdcc
  28. 0 0
      extra/Fraise/bin/linuxarm/sdcpp
  29. 0 0
      extra/Fraise/bin/linuxarm/to_pd
  30. 0 0
      extra/Fraise/bin/macosx/gpasm
  31. 0 0
      extra/Fraise/bin/macosx/gplib
  32. 0 0
      extra/Fraise/bin/macosx/gplink
  33. 0 0
      extra/Fraise/bin/macosx/gpstrip
  34. 0 0
      extra/Fraise/bin/macosx/gpvc
  35. 0 0
      extra/Fraise/bin/macosx/gpvo
  36. 0 0
      extra/Fraise/bin/macosx/pdsend
  37. 0 0
      extra/Fraise/bin/macosx/sdcc
  38. 0 0
      extra/Fraise/bin/macosx/sdcpp
  39. 0 0
      extra/Fraise/bin/macosx/to_pd
  40. 0 0
      extra/Fraise/bin/utils_olds/to_pd
  41. 0 0
      extra/Fraise/bin/utils_olds/to_pd.bat
  42. 0 0
      extra/Fraise/bin/win32/gpasm.exe
  43. 0 0
      extra/Fraise/bin/win32/gpdasm.exe
  44. 0 0
      extra/Fraise/bin/win32/gplib.exe
  45. 0 0
      extra/Fraise/bin/win32/gplink.exe
  46. 0 0
      extra/Fraise/bin/win32/gpstrip.exe
  47. 0 0
      extra/Fraise/bin/win32/gpvc.exe
  48. 0 0
      extra/Fraise/bin/win32/gpvo.exe
  49. 0 0
      extra/Fraise/bin/win32/picpgm.exe
  50. 0 0
      extra/Fraise/bin/win32/to_pd.bat
  51. 0 0
      extra/Fraise/bootloader/18f/compile.sh
  52. 0 0
      extra/Fraise/bootloader/18f/program.sh
  53. 0 0
      extra/Fraise/doc/publish-doxygen
  54. 0 0
      extra/Fraise/extra/s2f.pd_darwin
  55. 0 0
      extra/Fraise/extra/slist.pd_darwin
  56. 0 0
      extra/Fraise/extra/zexy.l_arm
  57. 0 0
      extra/Fraise/pied/FraiseMaster-sdcc-cdcacm/compile.sh
  58. 0 0
      extra/Fraise/pied/FraiseMaster-sdcc-cdcacm/program.sh
  59. 0 0
      extra/Fraise/pied/FraiseMaster-sdcc-cdcacm/usbcdcacm1.1/load
  60. 0 0
      extra/Fraise/pied/FraiseMaster2.1.2/compile.sh
  61. 0 0
      extra/Fraise/pied/FraiseMaster2.1.2/program.sh
  62. 0 0
      extra/Fraise/utils/8bits.pd
  63. 1 1
      extra/PdTl
  64. 30 0
      extra/list-abs/LICENSE.txt
  65. 41 0
      extra/list-abs/OSCprepend-help.pd
  66. 30 0
      extra/list-abs/OSCprepend.pd
  67. 10 0
      extra/list-abs/README.txt
  68. 50 0
      extra/list-abs/compare-any-help.pd
  69. 54 0
      extra/list-abs/compare-any.pd
  70. 18 0
      extra/list-abs/examples/list-demux.pd
  71. 91 0
      extra/list-abs/examples/list-inter-example.pd
  72. 100 0
      extra/list-abs/examples/list-inter-gem-example.pd
  73. 112 0
      extra/list-abs/examples/list-sieve-example-2.pd
  74. 20 0
      extra/list-abs/last-x-help.pd
  75. 10 0
      extra/list-abs/last-x.pd
  76. 19 0
      extra/list-abs/list-abs-help.pd
  77. 8 0
      extra/list-abs/list-abs-meta.pd
  78. 23 0
      extra/list-abs/list-abs.pd
  79. 21 0
      extra/list-abs/list-accum-help.pd
  80. 22 0
      extra/list-abs/list-accum.pd
  81. 20 0
      extra/list-abs/list-add-help.pd
  82. 8 0
      extra/list-abs/list-add.pd
  83. 80 0
      extra/list-abs/list-apply-help.pd
  84. 29 0
      extra/list-abs/list-apply.pd
  85. 201 0
      extra/list-abs/list-centroid-help.pd
  86. 76 0
      extra/list-abs/list-centroid.pd
  87. 25 0
      extra/list-abs/list-clip-help.pd
  88. 26 0
      extra/list-abs/list-clip.pd
  89. 42 0
      extra/list-abs/list-compare-help.pd
  90. 74 0
      extra/list-abs/list-compare.pd
  91. 43 0
      extra/list-abs/list-delete-help.pd
  92. 28 0
      extra/list-abs/list-delete.pd
  93. 33 0
      extra/list-abs/list-dotprod-help.pd
  94. 40 0
      extra/list-abs/list-dotprod.pd
  95. 208 0
      extra/list-abs/list-drip-help.pd
  96. 47 0
      extra/list-abs/list-drip.pd
  97. 37 0
      extra/list-abs/list-drip2-help.pd
  98. 19 0
      extra/list-abs/list-drip2.pd
  99. 70 0
      extra/list-abs/list-dripslow-help.pd
  100. 0 0
      extra/list-abs/list-dripslow.pd

+ 3 - 0
.gitignore

@@ -4,3 +4,6 @@
 /media/grid1.jpg
 /media/smoke.mov
 /media/smoke.mov.wav
+/media/brouillardH264.mov
+/media/BriuillardAppleproComp.mov
+/media/AnimationTDMok.mov

+ 0 - 0
extra/Fraise/bin/linux/as2gbmap


+ 0 - 0
extra/Fraise/bin/linux/fsusb


+ 0 - 0
extra/Fraise/bin/linux/gpasm


+ 0 - 0
extra/Fraise/bin/linux/gpdasm


+ 0 - 0
extra/Fraise/bin/linux/gplib


+ 0 - 0
extra/Fraise/bin/linux/gplink


+ 0 - 0
extra/Fraise/bin/linux/gpstrip


+ 0 - 0
extra/Fraise/bin/linux/gpvc


+ 0 - 0
extra/Fraise/bin/linux/gpvo


+ 0 - 0
extra/Fraise/bin/linux/olds/gpasm


+ 0 - 0
extra/Fraise/bin/linux/olds/gplink


+ 0 - 0
extra/Fraise/bin/linux/pk2cmd/PK2DeviceFile.dat.orig


+ 0 - 0
extra/Fraise/bin/linux/pk2cmd/PK2V023200.hex


+ 0 - 0
extra/Fraise/bin/linux/pk2cmd/pk2cmd


+ 0 - 0
extra/Fraise/bin/linux/sdcc


+ 0 - 0
extra/Fraise/bin/linux/sdcpp


+ 0 - 0
extra/Fraise/bin/linux/to_pd


+ 0 - 0
extra/Fraise/bin/linuxarm/as2gbmap


+ 0 - 0
extra/Fraise/bin/linuxarm/gpasm


+ 0 - 0
extra/Fraise/bin/linuxarm/gpdasm


+ 0 - 0
extra/Fraise/bin/linuxarm/gplib


+ 0 - 0
extra/Fraise/bin/linuxarm/gplink


+ 0 - 0
extra/Fraise/bin/linuxarm/gpstrip


+ 0 - 0
extra/Fraise/bin/linuxarm/gpvc


+ 0 - 0
extra/Fraise/bin/linuxarm/gpvo


+ 0 - 0
extra/Fraise/bin/linuxarm/sdcc


+ 0 - 0
extra/Fraise/bin/linuxarm/sdcpp


+ 0 - 0
extra/Fraise/bin/linuxarm/to_pd


+ 0 - 0
extra/Fraise/bin/macosx/gpasm


+ 0 - 0
extra/Fraise/bin/macosx/gplib


+ 0 - 0
extra/Fraise/bin/macosx/gplink


+ 0 - 0
extra/Fraise/bin/macosx/gpstrip


+ 0 - 0
extra/Fraise/bin/macosx/gpvc


+ 0 - 0
extra/Fraise/bin/macosx/gpvo


+ 0 - 0
extra/Fraise/bin/macosx/pdsend


+ 0 - 0
extra/Fraise/bin/macosx/sdcc


+ 0 - 0
extra/Fraise/bin/macosx/sdcpp


+ 0 - 0
extra/Fraise/bin/macosx/to_pd


+ 0 - 0
extra/Fraise/bin/utils_olds/to_pd


+ 0 - 0
extra/Fraise/bin/utils_olds/to_pd.bat


+ 0 - 0
extra/Fraise/bin/win32/gpasm.exe


+ 0 - 0
extra/Fraise/bin/win32/gpdasm.exe


+ 0 - 0
extra/Fraise/bin/win32/gplib.exe


+ 0 - 0
extra/Fraise/bin/win32/gplink.exe


+ 0 - 0
extra/Fraise/bin/win32/gpstrip.exe


+ 0 - 0
extra/Fraise/bin/win32/gpvc.exe


+ 0 - 0
extra/Fraise/bin/win32/gpvo.exe


+ 0 - 0
extra/Fraise/bin/win32/picpgm.exe


+ 0 - 0
extra/Fraise/bin/win32/to_pd.bat


+ 0 - 0
extra/Fraise/bootloader/18f/compile.sh


+ 0 - 0
extra/Fraise/bootloader/18f/program.sh


+ 0 - 0
extra/Fraise/doc/publish-doxygen


+ 0 - 0
extra/Fraise/extra/s2f.pd_darwin


+ 0 - 0
extra/Fraise/extra/slist.pd_darwin


+ 0 - 0
extra/Fraise/extra/zexy.l_arm


+ 0 - 0
extra/Fraise/pied/FraiseMaster-sdcc-cdcacm/compile.sh


+ 0 - 0
extra/Fraise/pied/FraiseMaster-sdcc-cdcacm/program.sh


+ 0 - 0
extra/Fraise/pied/FraiseMaster-sdcc-cdcacm/usbcdcacm1.1/load


+ 0 - 0
extra/Fraise/pied/FraiseMaster2.1.2/compile.sh


+ 0 - 0
extra/Fraise/pied/FraiseMaster2.1.2/program.sh


+ 0 - 0
extra/Fraise/utils/8bits.pd


+ 1 - 1
extra/PdTl

@@ -1 +1 @@
-Subproject commit b75dc4c0c4191c16afc88b64d4b53f73ca7c5993
+Subproject commit 0a915fc709701332d6f5381724f06ff5612f47f4

+ 30 - 0
extra/list-abs/LICENSE.txt

@@ -0,0 +1,30 @@
+This software is copyrighted by Frank Barknecht and others.  The following
+terms (the "Standard Improved BSD License") apply to all files associated with
+the software unless explicitly disclaimed in individual files:
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above  
+   copyright notice, this list of conditions and the following 
+   disclaimer in the documentation and/or other materials provided
+   with the distribution.
+3. The name of the author may not be used to endorse or promote
+   products derived from this software without specific prior 
+   written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,   
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGE.

+ 41 - 0
extra/list-abs/OSCprepend-help.pd

@@ -0,0 +1,41 @@
+#N canvas 0 31 565 415 10;
+#X msg 121 238 /a 1 c 3;
+#X obj 121 350 print OSC;
+#X text 52 262 ignored:;
+#X text 72 238 okay:;
+#X obj 121 323 OSCprepend /synth/ha;
+#X msg 256 231 /osc;
+#X text 304 230 change OSC-messages;
+#X msg 256 257 /freq/1;
+#X obj 104 31 cnv 15 220 30 empty empty OSCprepend 20 12 0 14 -233017
+-66577 0;
+#X text 98 76 "Prepends" first argument to an OSC message list.;
+#X text 106 140 Right inlet lets you change the prepended argument
+;
+#X msg 121 262 900 2 3 4 a b c;
+#X text 104 103 Example: with ARG_1 being "/synth" the message "/set
+x 1 2" will become "/synth/set x 1 2".;
+#X text 107 166 Lists not starting with a symbol are filtered out.
+;
+#X msg 325 285 1;
+#X text 359 287 oops...;
+#X symbolatom 324 260 10 0 0 1 type-here - -;
+#N canvas 462 89 494 396 META 0;
+#X text 12 5 KEYWORDS control list_op;
+#X text 12 25 LICENSE SIBSD;
+#X text 12 125 AUTHOR Frank Barknecht;
+#X text 12 145 HELP_PATCH_AUTHORS Frank Barknecht. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 45 DESCRIPTION "Prepends" first argument to an OSC message
+list;
+#X text 12 65 INLET_0 anything;
+#X text 12 85 INLET_1 anything;
+#X text 12 105 OUTLET_0 anything;
+#X restore 504 381 pd META;
+#X connect 0 0 4 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 1;
+#X connect 7 0 4 1;
+#X connect 11 0 4 0;
+#X connect 14 0 4 1;
+#X connect 16 0 4 1;

+ 30 - 0
extra/list-abs/OSCprepend.pd

@@ -0,0 +1,30 @@
+#N canvas 511 144 636 444 10;
+#X obj 45 131 list split 1;
+#X msg 94 90 /a 1 2 3;
+#X obj 45 276 list append;
+#X obj 45 299 list trim;
+#X obj 45 239 makefilename \$1%s;
+#X obj 45 188 route symbol;
+#X obj 45 89 inlet;
+#X obj 45 319 outlet;
+#X text 215 99 "Prepends" first argument to an OSC message list.;
+#X text 221 126 Example: with \$1 being "/synth" the message "/set
+x 1 2" will become "/synth/set x 1 2".;
+#X text 223 163 Right inlet lets you change the prepended argument
+;
+#X msg 146 209 set \$1%s;
+#X obj 146 185 symbol;
+#X obj 146 163 inlet;
+#X text 224 189 Lists not starting with a symbol are filtered out!
+;
+#X connect 0 0 5 0;
+#X connect 0 1 2 1;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 7 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 0 0;
+#X connect 11 0 4 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;

+ 10 - 0
extra/list-abs/README.txt

@@ -0,0 +1,10 @@
+list-abs
+--------
+
+A collection of list-processing abstractions for Pd. 
+
+For a list of included objects open list-abs-intro.pd or list-abs-intro.txt
+
+Maintainer: Frank Barknecht <fbar a footils.org>
+
+-- 

+ 50 - 0
extra/list-abs/compare-any-help.pd

@@ -0,0 +1,50 @@
+#N canvas 0 26 528 377 10;
+#X msg 246 131 symbol x;
+#X msg 255 154 symbol y;
+#X msg 116 137 symbol x;
+#X msg 125 160 symbol y;
+#X obj 96 254 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 236 109 2.3;
+#X msg 106 114 2.3;
+#X msg 131 180 i;
+#X msg 140 201 j;
+#X msg 258 175 i;
+#X msg 264 196 j;
+#X obj 96 278 print;
+#X text 37 14 [compare-any];
+#X text 81 37 Test if two anythings are the same. Out: 1 if equal \,
+0 if not equal.;
+#X msg 96 92 1;
+#X msg 226 87 1;
+#X obj 96 231 compare-any;
+#X msg 221 66 0;
+#X msg 86 71 0;
+#N canvas 520 35 494 396 META 0;
+#X text 12 25 LICENSE SIBSD;
+#X text 12 135 AUTHOR Frank Barknecht;
+#X text 12 155 HELP_PATCH_AUTHORS Frank Barknecht. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 75 INLET_0 anything;
+#X text 12 95 INLET_1 anything;
+#X text 12 115 OUTLET_0 float;
+#X text 12 5 KEYWORDS control anything_op;
+#X text 12 45 DESCRIPTION test if two anythings are the same. Out:
+1 if equal \, 0 if not equal;
+#X restore 474 347 pd META;
+#X connect 0 0 16 1;
+#X connect 1 0 16 1;
+#X connect 2 0 16 0;
+#X connect 3 0 16 0;
+#X connect 4 0 11 0;
+#X connect 5 0 16 1;
+#X connect 6 0 16 0;
+#X connect 7 0 16 0;
+#X connect 8 0 16 0;
+#X connect 9 0 16 1;
+#X connect 10 0 16 1;
+#X connect 14 0 16 0;
+#X connect 15 0 16 1;
+#X connect 16 0 4 0;
+#X connect 17 0 16 1;
+#X connect 18 0 16 0;

+ 54 - 0
extra/list-abs/compare-any.pd

@@ -0,0 +1,54 @@
+#N canvas 460 148 653 646 10;
+#X obj 118 28 inlet;
+#X obj 118 451 outlet;
+#X obj 118 336 ==;
+#X obj 118 358 select 1;
+#N canvas 272 259 450 300 demux 0;
+#X obj 76 87 inlet;
+#X obj 169 86 inlet;
+#X obj 76 145 list prepend 0;
+#X obj 76 186 route 0 1;
+#X obj 76 242 outlet;
+#X obj 105 213 outlet;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 1 5 0;
+#X restore 118 230 pd demux;
+#X msg 169 207 0;
+#X msg 200 206 1;
+#X obj 118 295 route float;
+#X obj 219 293 route symbol;
+#X obj 359 199 print HUH?;
+#X obj 219 272 list;
+#X obj 238 164 route float symbol;
+#X obj 238 136 list;
+#X msg 118 423 1;
+#X msg 190 418 0;
+#X obj 238 28 inlet;
+#X obj 219 356 select [DUMMY-SYMBOL];
+#X connect 0 0 4 0;
+#X connect 2 0 3 0;
+#X connect 3 0 13 0;
+#X connect 3 1 14 0;
+#X connect 4 0 7 0;
+#X connect 4 1 10 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 1;
+#X connect 7 0 2 0;
+#X connect 7 1 14 0;
+#X connect 8 0 16 0;
+#X connect 8 1 14 0;
+#X connect 10 0 8 0;
+#X connect 11 0 2 1;
+#X connect 11 0 5 0;
+#X connect 11 1 6 0;
+#X connect 11 1 16 1;
+#X connect 11 2 9 0;
+#X connect 12 0 11 0;
+#X connect 13 0 1 0;
+#X connect 14 0 1 0;
+#X connect 15 0 12 0;
+#X connect 16 0 13 0;
+#X connect 16 1 14 0;

+ 18 - 0
extra/list-abs/examples/list-demux.pd

@@ -0,0 +1,18 @@
+#N canvas 0 0 450 300 10;
+#X obj 131 118 list prepend 0;
+#X obj 224 95 hradio 15 1 0 4 empty empty empty 0 -6 0 8 -262144 -1
+-1 3;
+#X obj 131 146 route 0 1 2 3;
+#X obj 131 251 print d1;
+#X obj 195 177 print d4;
+#X obj 174 202 print d3;
+#X obj 152 224 print d2;
+#X floatatom 131 81 5 0 0 0 - - -;
+#X text 111 39 "demux" with lists;
+#X connect 0 0 2 0;
+#X connect 1 0 0 1;
+#X connect 2 0 3 0;
+#X connect 2 1 6 0;
+#X connect 2 2 5 0;
+#X connect 2 3 4 0;
+#X connect 7 0 0 0;

+ 91 - 0
extra/list-abs/examples/list-inter-example.pd

@@ -0,0 +1,91 @@
+#N canvas 331 120 783 579 10;
+#X obj 118 233 list-inter;
+#X obj 118 166 list split 1;
+#X obj 201 234 t l;
+#X obj 118 193 expr 1-$f1;
+#X obj 461 377 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 9377 1;
+#X obj 118 303 vsl 15 128 0 10 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6198 1;
+#X obj 157 303 vsl 15 128 0 10 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 3953 1;
+#X obj 197 303 vsl 15 128 0 10 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 4387 1;
+#X floatatom 118 277 5 0 0 0 - - -;
+#X floatatom 157 277 5 0 0 0 - - -;
+#X floatatom 197 277 5 0 0 0 - - -;
+#X obj 118 255 unpack 0 0 0;
+#X obj 461 400 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 2363 1;
+#X obj 461 423 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 960 1;
+#X obj 447 143 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 12700 1;
+#X obj 447 166 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 3200 1;
+#X obj 447 189 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 1300 1;
+#X msg 459 107 1;
+#X msg 118 136 \$1 5 2 3 \, \$2 4 5 6 \, \$3 6 7 1;
+#N canvas 0 0 753 456 normalize 0;
+#X obj 369 105 pack 0 0 0;
+#X obj 332 175 list-math /;
+#X obj 438 76 t b f;
+#X obj 391 78 t b f;
+#X obj 403 154 list-accum;
+#X obj 361 135 t a a;
+#X obj 330 202 unpack 0 0 0;
+#X msg 305 259 set \$1;
+#X msg 365 260 set \$1;
+#X msg 437 269 set \$1;
+#X obj 360 47 inlet;
+#X obj 403 48 inlet;
+#X obj 450 49 inlet;
+#X obj 328 327 outlet;
+#X obj 380 328 outlet;
+#X obj 438 324 outlet;
+#X obj 190 246 outlet;
+#X connect 0 0 5 0;
+#X connect 1 0 6 0;
+#X connect 1 0 16 0;
+#X connect 2 0 0 0;
+#X connect 2 1 0 2;
+#X connect 3 0 0 0;
+#X connect 3 1 0 1;
+#X connect 4 0 1 1;
+#X connect 5 0 1 0;
+#X connect 5 1 4 0;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 6 2 9 0;
+#X connect 7 0 13 0;
+#X connect 8 0 14 0;
+#X connect 9 0 15 0;
+#X connect 10 0 0 0;
+#X connect 11 0 3 0;
+#X connect 12 0 2 0;
+#X restore 342 339 pd normalize;
+#X obj 342 369 s \$0-list;
+#X obj 118 107 r \$0-list;
+#X connect 0 0 11 0;
+#X connect 0 0 2 0;
+#X connect 1 0 3 0;
+#X connect 1 1 0 1;
+#X connect 2 0 0 2;
+#X connect 3 0 0 0;
+#X connect 8 0 5 0;
+#X connect 9 0 6 0;
+#X connect 10 0 7 0;
+#X connect 11 0 8 0;
+#X connect 11 1 9 0;
+#X connect 11 2 10 0;
+#X connect 14 0 19 0;
+#X connect 15 0 19 1;
+#X connect 16 0 19 2;
+#X connect 17 0 14 0;
+#X connect 18 0 1 0;
+#X connect 19 0 20 0;
+#X connect 19 1 4 0;
+#X connect 19 2 12 0;
+#X connect 19 3 13 0;
+#X connect 21 0 18 0;

+ 100 - 0
extra/list-abs/examples/list-inter-gem-example.pd

@@ -0,0 +1,100 @@
+#N canvas 402 9 678 693 10;
+#X obj 459 490 gemwin;
+#X msg 459 452 reset \, create \, 1;
+#X msg 488 469 0 \, destroy;
+#X obj 57 199 translateXYZ;
+#X obj 58 161 gemhead;
+#X obj 48 381 gemhead;
+#X obj 249 202 translateXYZ;
+#X obj 248 167 gemhead;
+#X obj 426 203 translateXYZ;
+#X obj 425 168 gemhead;
+#X obj 151 313 t b a;
+#X obj 152 338 f;
+#X obj 90 99 hsl 128 15 0 1 0 0 empty empty factor_(0-1) -2 -6 0 10
+-262144 -1 -1 7100 1;
+#X obj 377 105 hsl 128 15 0 1 0 0 empty empty factor_(0-1) -2 -6 0
+10 -262144 -1 -1 7000 1;
+#X obj 253 114 t b b b;
+#X msg 259 93 bang;
+#X obj 97 290 list-inter;
+#X obj 163 357 list-inter;
+#X obj 62 234 color 1 0 0;
+#X obj 248 242 color 0 1 0;
+#X obj 422 246 color 0 0 1;
+#X obj 54 491 color 1 1 1;
+#X obj 483 170 unpack 0 0 0 0 0;
+#X obj 306 169 unpack 0 0 0 0 0;
+#X obj 116 163 unpack 0 0 0 0 0;
+#X obj 154 195 pack 0 0 0;
+#X msg 309 142 3 1 0 1 0;
+#X obj 336 218 pack 0 0 0;
+#X obj 519 205 pack 0 0 0;
+#X obj 106 383 unpack 0 0 0 0 0;
+#X obj 187 423 pack 0 0 0;
+#X msg 487 147 -2 -3 1 0.3 0.5;
+#X msg 119 135 -1 2 1 0 0;
+#X obj 57 264 circle 0.1;
+#X obj 251 277 circle 0.1;
+#X obj 420 283 circle 0.1;
+#X obj 35 421 translateXYZ 0 0 -0.1;
+#X obj 252 72 loadbang;
+#X obj 52 511 square 0.2;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 18 0;
+#X connect 4 0 3 0;
+#X connect 5 0 36 0;
+#X connect 6 0 19 0;
+#X connect 7 0 6 0;
+#X connect 8 0 20 0;
+#X connect 9 0 8 0;
+#X connect 10 0 11 0;
+#X connect 10 1 17 1;
+#X connect 11 0 17 0;
+#X connect 12 0 16 0;
+#X connect 13 0 11 0;
+#X connect 14 0 32 0;
+#X connect 14 1 26 0;
+#X connect 14 2 31 0;
+#X connect 15 0 14 0;
+#X connect 16 0 10 0;
+#X connect 17 0 29 0;
+#X connect 18 0 33 0;
+#X connect 19 0 34 0;
+#X connect 20 0 35 0;
+#X connect 21 0 38 0;
+#X connect 22 0 8 1;
+#X connect 22 1 8 2;
+#X connect 22 2 28 0;
+#X connect 22 3 28 1;
+#X connect 22 4 28 2;
+#X connect 23 0 6 1;
+#X connect 23 1 6 2;
+#X connect 23 2 27 0;
+#X connect 23 3 27 1;
+#X connect 23 4 27 2;
+#X connect 24 0 3 1;
+#X connect 24 1 3 2;
+#X connect 24 2 25 0;
+#X connect 24 3 25 1;
+#X connect 24 4 25 2;
+#X connect 25 0 18 1;
+#X connect 26 0 16 2;
+#X connect 26 0 23 0;
+#X connect 27 0 19 1;
+#X connect 28 0 20 1;
+#X connect 29 0 36 1;
+#X connect 29 1 36 2;
+#X connect 29 2 30 0;
+#X connect 29 3 30 1;
+#X connect 29 4 30 2;
+#X connect 30 0 21 1;
+#X connect 31 0 17 2;
+#X connect 31 0 22 0;
+#X connect 32 0 16 1;
+#X connect 32 0 24 0;
+#X connect 36 0 21 0;
+#X connect 37 0 14 0;
+#X connect 37 0 13 0;
+#X connect 37 0 12 0;

+ 112 - 0
extra/list-abs/examples/list-sieve-example-2.pd

@@ -0,0 +1,112 @@
+#N canvas 630 119 650 767 10;
+#X obj 272 233 list-sieve;
+#X msg 207 155 0 5 7;
+#X msg 272 186 2 4 9;
+#X msg 337 206 11;
+#X obj 207 129 t b b b;
+#X obj 142 111 mod 12;
+#X floatatom 142 60 5 0 0 0 - - -;
+#X obj 142 83 t f f;
+#X obj 448 178 div 12;
+#X obj 448 204 * 12;
+#X msg 207 108 bang;
+#X obj 205 78 loadbang;
+#X obj 142 386 + 24;
+#X obj 142 360 list-drip;
+#X obj 448 270 t f;
+#X obj 448 97 t f;
+#X msg 193 300 0 4 7;
+#X msg 264 301 0 3 7;
+#X msg 332 302 0 3 6;
+#X obj 241 272 b;
+#X obj 140 484 rrad.fluid~ /fl;
+#X obj 148 432 pack 0 0;
+#X obj 144 457 list prepend 1;
+#X obj 148 676 output~;
+#X obj 142 185 list-sieve;
+#X obj 207 212 list-sieve;
+#X obj 152 408 makenote 90 200;
+#X floatatom 151 142 5 0 0 0 - - -;
+#N canvas 0 0 450 300 add 0;
+#X obj 116 150 list-math +;
+#X obj 116 89 t b f;
+#X obj 116 121 list;
+#X obj 116 186 outlet;
+#X obj 175 86 inlet;
+#X obj 116 67 inlet;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 1 1 0 1;
+#X connect 2 0 0 0;
+#X connect 4 0 2 1;
+#X connect 5 0 1 0;
+#X restore 320 329 pd add;
+#N canvas 0 0 450 300 add 0;
+#X obj 116 150 list-math +;
+#X obj 116 89 t b f;
+#X obj 116 121 list;
+#X obj 116 186 outlet;
+#X obj 175 86 inlet;
+#X obj 116 67 inlet;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 1 1 0 1;
+#X connect 2 0 0 0;
+#X connect 4 0 2 1;
+#X connect 5 0 1 0;
+#X restore 218 329 pd add;
+#N canvas 0 0 450 300 add 0;
+#X obj 116 150 list-math +;
+#X obj 116 89 t b f;
+#X obj 116 121 list;
+#X obj 116 186 outlet;
+#X obj 175 86 inlet;
+#X obj 116 67 inlet;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 1 1 0 1;
+#X connect 2 0 0 0;
+#X connect 4 0 2 1;
+#X connect 5 0 1 0;
+#X restore 142 323 pd add;
+#X connect 0 0 28 0;
+#X connect 0 1 13 0;
+#X connect 1 0 24 1;
+#X connect 2 0 25 1;
+#X connect 3 0 0 1;
+#X connect 4 0 1 0;
+#X connect 4 1 2 0;
+#X connect 4 2 3 0;
+#X connect 4 2 19 0;
+#X connect 5 0 24 0;
+#X connect 5 0 27 0;
+#X connect 6 0 7 0;
+#X connect 7 0 5 0;
+#X connect 7 1 15 0;
+#X connect 8 0 9 0;
+#X connect 9 0 14 0;
+#X connect 10 0 4 0;
+#X connect 11 0 4 0;
+#X connect 12 0 26 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 1;
+#X connect 15 0 8 0;
+#X connect 16 0 30 1;
+#X connect 17 0 29 1;
+#X connect 18 0 28 1;
+#X connect 19 0 16 0;
+#X connect 19 0 17 0;
+#X connect 19 0 18 0;
+#X connect 20 0 23 0;
+#X connect 20 1 23 1;
+#X connect 21 0 22 0;
+#X connect 22 0 20 0;
+#X connect 24 0 30 0;
+#X connect 24 1 25 0;
+#X connect 25 0 29 0;
+#X connect 25 1 0 0;
+#X connect 26 0 21 0;
+#X connect 26 1 21 1;
+#X connect 28 0 13 0;
+#X connect 29 0 13 0;
+#X connect 30 0 13 0;

+ 20 - 0
extra/list-abs/last-x-help.pd

@@ -0,0 +1,20 @@
+#N canvas 0 26 569 323 10;
+#X obj 188 143 last-x 4;
+#X floatatom 188 118 5 0 0 0 - - -;
+#X obj 188 174 print last_x;
+#X text 124 52 last-x: make a list of the last x floats.;
+#X floatatom 239 119 5 0 0 2 change-size - -;
+#N canvas 520 35 494 396 META 0;
+#X text 12 5 KEYWORDS control list_op;
+#X text 12 25 LICENSE SIBSD;
+#X text 12 125 AUTHOR Frank Barknecht;
+#X text 12 145 HELP_PATCH_AUTHORS Frank Barknecht. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 45 DESCRIPTION make a list of the last x floats;
+#X text 12 65 INLET_0 float;
+#X text 12 105 OUTLET_0 list;
+#X text 12 85 INLET_1 float;
+#X restore 511 292 pd META;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 4 0 0 1;

+ 10 - 0
extra/list-abs/last-x.pd

@@ -0,0 +1,10 @@
+#N canvas 417 318 464 379 10;
+#X obj 265 147 inlet;
+#X obj 179 149 inlet;
+#X obj 179 253 outlet;
+#X text 54 77 This is just a backwards compatibility wrapper around
+list-lastx;
+#X obj 179 206 list-lastx \$1;
+#X connect 0 0 4 1;
+#X connect 1 0 4 0;
+#X connect 4 0 2 0;

+ 19 - 0
extra/list-abs/list-abs-help.pd

@@ -0,0 +1,19 @@
+#N canvas 0 26 475 311 10;
+#X obj 147 204 print;
+#X msg 147 109 1 2 -3 -4 5 and -6;
+#X text 55 66 list-abs: apply abs() on float elements of a list.;
+#X obj 147 158 list-abs;
+#N canvas 416 170 494 396 META 0;
+#X text 12 25 LICENSE SIBSD;
+#X text 12 115 AUTHOR Frank Barknecht;
+#X text 12 45 DESCRIPTION list-abs: apply abs() on float elements of
+a list.;
+#X text 12 75 INLET_0 list;
+#X text 12 95 OUTLET_0 list;
+#X text 12 135 HELP_PATCH_AUTHORS Frank Barknecht. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 5 KEYWORDS control list_op needs_work (object won't create)
+;
+#X restore 397 277 pd META;
+#X connect 1 0 3 0;
+#X connect 3 0 0 0;

+ 8 - 0
extra/list-abs/list-abs-meta.pd

@@ -0,0 +1,8 @@
+#N canvas 10 10 200 200 10;
+#N canvas 20 20 420 300 META 0;
+#X text 10 30 NAME list-abs;
+#X text 10 50 AUTHOR Frank Barknecht;
+#X text 10 70 LICENSE SIBSD;
+#X text 10 90 DESCRIPTION a collection of objects for manipulating lists. Requires pd>=0.39;
+#X text 10 110 VERSION 0.1;
+#X restore 10 10 pd META;

+ 23 - 0
extra/list-abs/list-abs.pd

@@ -0,0 +1,23 @@
+#N canvas 228 307 502 424 10;
+#X obj 130 59 inlet;
+#X obj 130 86 t b a b;
+#X obj 152 145 list-drip;
+#X obj 152 190 abs;
+#X obj 152 168 route float;
+#X obj 152 244 list prepend;
+#X obj 245 244 t l;
+#X obj 129 274 list;
+#X obj 129 302 outlet;
+#X text 92 30 list-abs: apply abs() on float elements of a list.;
+#X connect 0 0 1 0;
+#X connect 1 0 7 0;
+#X connect 1 1 2 0;
+#X connect 1 2 5 1;
+#X connect 2 0 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 3 0;
+#X connect 4 1 5 0;
+#X connect 5 0 6 0;
+#X connect 5 0 7 1;
+#X connect 6 0 5 1;
+#X connect 7 0 8 0;

+ 21 - 0
extra/list-abs/list-accum-help.pd

@@ -0,0 +1,21 @@
+#N canvas 0 26 470 313 10;
+#X obj 164 160 list-accum;
+#X floatatom 164 199 5 0 0 0 - - -;
+#X msg 164 119 1 2 3;
+#X obj 120 197 print;
+#X msg 217 120 1 2 3 and 4;
+#X text 94 61 list-accum: add all floats in a list;
+#N canvas 466 163 494 396 META 0;
+#X text 12 5 KEYWORDS control list_op;
+#X text 12 25 LICENSE SIBSD;
+#X text 12 105 AUTHOR Frank Barknecht;
+#X text 12 85 OUTLET_0 list;
+#X text 12 125 HELP_PATCH_AUTHORS Frank Barknecht. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 65 INLET_0 anything;
+#X text 12 45 DESCRIPTION add all floats in a list;
+#X restore 397 277 pd META;
+#X connect 0 0 1 0;
+#X connect 0 0 3 0;
+#X connect 2 0 0 0;
+#X connect 4 0 0 0;

+ 22 - 0
extra/list-abs/list-accum.pd

@@ -0,0 +1,22 @@
+#N canvas 0 0 450 300 10;
+#X obj 212 193 f 0;
+#X obj 182 192 + 1;
+#X obj 182 114 list-drip;
+#X obj 212 168 0;
+#X obj 182 53 inlet;
+#X obj 182 81 t a b;
+#X obj 182 140 route float;
+#X obj 166 245 outlet;
+#X obj 166 220 f;
+#X text 116 23 list-accum: add all floats in a list;
+#X connect 0 0 1 1;
+#X connect 1 0 0 0;
+#X connect 1 0 8 1;
+#X connect 2 0 6 0;
+#X connect 2 1 8 0;
+#X connect 3 0 0 0;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X connect 5 1 3 0;
+#X connect 6 0 1 0;
+#X connect 8 0 7 0;

+ 20 - 0
extra/list-abs/list-add-help.pd

@@ -0,0 +1,20 @@
+#N canvas 0 26 450 300 10;
+#X msg 145 116 5 5 5 NOPE 5;
+#X obj 145 217 print;
+#X msg 196 140 1 2 3 0 -1;
+#X text 108 67 Substract two lists element by element;
+#X obj 145 177 list-add;
+#N canvas 460 150 494 396 META 0;
+#X text 12 5 KEYWORDS control list_op;
+#X text 12 25 LICENSE SIBSD;
+#X text 12 125 AUTHOR Frank Barknecht;
+#X text 12 105 OUTLET_0 list;
+#X text 12 145 HELP_PATCH_AUTHORS Frank Barknecht. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 65 INLET_0 anything;
+#X text 12 85 INLET_1 anything;
+#X text 12 45 DESCRIPTION substract two lists element by element;
+#X restore 397 277 pd META;
+#X connect 0 0 4 0;
+#X connect 2 0 4 1;
+#X connect 4 0 1 0;

+ 8 - 0
extra/list-abs/list-add.pd

@@ -0,0 +1,8 @@
+#N canvas 256 135 500 518 10;
+#X obj 59 31 inlet;
+#X obj 138 34 inlet;
+#X obj 59 117 outlet;
+#X obj 59 85 list-emath +;
+#X connect 0 0 3 0;
+#X connect 1 0 3 1;
+#X connect 3 0 2 0;

+ 80 - 0
extra/list-abs/list-apply-help.pd

@@ -0,0 +1,80 @@
+#N canvas 0 26 802 590 10;
+#X obj 78 317 list-apply + 1;
+#X msg 78 285 1 2 3 4;
+#X obj 78 344 print;
+#X msg 233 285 1 2 3 4;
+#X obj 233 347 print;
+#X text 29 23 list-apply: apply the object created by [arg1 arg2] on
+every list element and return the modified list.;
+#X floatatom 171 287 5 0 0 2 add_x - -;
+#X msg 360 264 set /synth%d/freq;
+#X text 129 126 Inlets:;
+#X text 165 168 2) inlet connected to the apply-operation's first inlet.
+;
+#X text 164 191 3) inlet connected to the apply-operation's second
+inlet \, if possible. (Not connected if there is no second inlet as
+is the case with for example makefilename.;
+#X msg 360 285 set count_%d...;
+#X msg 487 286 not used with makefilename;
+#X msg 77 396 1 2 3 4;
+#X obj 77 438 print;
+#X msg 288 397 1 2 3 4;
+#X obj 288 439 print;
+#X obj 388 379 hradio 15 1 0 4 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X obj 388 396 + 1;
+#X floatatom 198 398 5 0 0 2 moses-arg - -;
+#X text 128 74 Arguments:;
+#X text 163 92 Arg1 and arg2 are used to create the object whose operation
+is applied to the list elements.;
+#X text 164 148 1) the list to modify.;
+#X text 24 248 EXAMPLES:;
+#X obj 503 446 print;
+#X msg 503 366 1 2 3 3 3 4;
+#X msg 560 392 set 1;
+#X obj 645 447 print;
+#X msg 645 387 45 57 69;
+#X obj 79 551 print;
+#X msg 79 507 1 2 3 4;
+#X text 286 530 prepent is part of list-abs;
+#X obj 233 317 list-apply makefilename /synth%d/freq;
+#X obj 77 417 list-apply moses 3;
+#X obj 288 418 list-apply == 4;
+#X obj 503 418 list-apply change;
+#X obj 645 418 list-apply mtof;
+#X obj 79 528 list-apply prepent whatever;
+#N canvas 460 150 494 396 META 0;
+#X text 12 5 KEYWORDS control list_op;
+#X text 12 25 LICENSE SIBSD;
+#X text 12 155 AUTHOR Frank Barknecht;
+#X text 12 135 OUTLET_0 list;
+#X text 12 175 HELP_PATCH_AUTHORS Frank Barknecht. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 95 INLET_1 anything;
+#X text 12 75 INLET_0 anything;
+#X text 12 45 DESCRIPTION apply the object created by [arg1 arg2] on
+every list element and return the modified list.;
+#X text 12 115 INLET_2 anything;
+#X restore 737 557 pd META;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 3 0 32 0;
+#X connect 6 0 0 2;
+#X connect 7 0 32 1;
+#X connect 11 0 32 1;
+#X connect 12 0 32 2;
+#X connect 13 0 33 0;
+#X connect 15 0 34 0;
+#X connect 17 0 18 0;
+#X connect 18 0 34 2;
+#X connect 19 0 33 2;
+#X connect 25 0 35 0;
+#X connect 26 0 35 1;
+#X connect 28 0 36 0;
+#X connect 30 0 37 0;
+#X connect 32 0 4 0;
+#X connect 33 0 14 0;
+#X connect 34 0 16 0;
+#X connect 35 0 24 0;
+#X connect 36 0 27 0;
+#X connect 37 0 29 0;

+ 29 - 0
extra/list-abs/list-apply.pd

@@ -0,0 +1,29 @@
+#N canvas 0 0 554 590 10;
+#X obj 77 499 list;
+#X obj 100 385 list prepend;
+#X obj 78 150 t b a b;
+#X text 260 177 clear result list;
+#X text 175 242 "Drip" (serialize) the list;
+#X text 124 496 Final result is built here;
+#X obj 78 81 inlet;
+#X obj 210 271 inlet;
+#X obj 77 530 outlet;
+#X obj 100 307 \$1 \$2;
+#X text 164 307 do \$1 \$2 with each element;
+#X text 258 389 Repack the list;
+#X obj 196 386 t a;
+#X obj 163 270 inlet;
+#X text 276 272 two inlets for the apply-operation;
+#X obj 100 242 list-drip;
+#X connect 0 0 8 0;
+#X connect 1 0 0 1;
+#X connect 1 0 12 0;
+#X connect 2 0 0 0;
+#X connect 2 1 15 0;
+#X connect 2 2 1 1;
+#X connect 6 0 2 0;
+#X connect 7 0 9 1;
+#X connect 9 0 1 0;
+#X connect 12 0 1 1;
+#X connect 13 0 9 0;
+#X connect 15 0 9 0;

+ 201 - 0
extra/list-abs/list-centroid-help.pd

@@ -0,0 +1,201 @@
+#N struct 1031-centroid float x;
+#N canvas 0 26 626 572 10;
+#X floatatom 129 468 5 0 0 0 centroid - -;
+#X msg 129 363 1 1 1 1;
+#X msg 245 260 0 0 0 0;
+#X msg 245 279 -1 1;
+#X obj 215 469 bng 15 250 50 0 empty empty result_undefined 17 7 1
+10 -262144 -1 -1;
+#X msg 129 245 0 1 0;
+#X obj 129 439 list-centroid;
+#X text 63 25 [list-centroid];
+#X text 93 90 centroid = sum(mi * i) / sum(mi);
+#X text 71 49 Calculates the centroid or center of mass of a list of
+floats according to:;
+#X text 67 115 where the index i starts from 0;
+#X msg 247 344 -1 3;
+#X msg 129 287 1 2 3;
+#X text 314 270 these two are undefined!;
+#X msg 129 341 5 5 5;
+#N canvas 0 0 450 300 randlist 0;
+#X obj 134 129 until;
+#X msg 246 151 set;
+#X msg 134 193 add2 \$1;
+#X obj 112 101 t b f b;
+#X obj 135 249 outlet;
+#X obj 112 31 inlet;
+#X obj 112 73 + 1;
+#X obj 112 53 random 10;
+#X obj 134 151 random 10;
+#X obj 134 171 - 5;
+#X connect 0 0 8 0;
+#X connect 1 0 4 0;
+#X connect 2 0 4 0;
+#X connect 3 0 4 0;
+#X connect 3 1 0 0;
+#X connect 3 2 1 0;
+#X connect 5 0 7 0;
+#X connect 6 0 3 0;
+#X connect 7 0 6 0;
+#X connect 8 0 9 0;
+#X connect 9 0 2 0;
+#X restore 295 337 pd randlist;
+#X msg 295 363 4;
+#X msg 295 315 bang;
+#X msg 129 306 10 20 30;
+#X msg 129 267 0 2 0 0 0 1;
+#X msg 248 325 -1 2;
+#X msg 248 407 -10 9;
+#X text 305 406 Note: a centroid can be negative!;
+#X text 75 520 2007 Frank Barknecht;
+#X text 67 146 Negative values are possible.;
+#X text 65 174 If all floats add up to 0 \, the result is undefined.
+In this case \, no result will be sent to the first outlet \, instead
+the second outlet will bang and a console warning will be issued.;
+#N canvas 318 53 641 556 graphical-centroid 0;
+#N canvas 0 0 450 300 randlist 0;
+#X obj 134 129 until;
+#X msg 246 151 set;
+#X msg 134 193 add2 \$1;
+#X obj 112 101 t b f b;
+#X obj 135 249 outlet;
+#X obj 112 31 inlet;
+#X obj 134 151 random 100;
+#X obj 134 171 / 100;
+#X msg 112 59 10;
+#X connect 0 0 6 0;
+#X connect 1 0 4 0;
+#X connect 2 0 4 0;
+#X connect 3 0 4 0;
+#X connect 3 1 0 0;
+#X connect 3 2 1 0;
+#X connect 5 0 8 0;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 0 3 0;
+#X restore 79 388 pd randlist;
+#X msg 79 366 bang;
+#X obj 79 447 list prepend 0;
+#X obj 79 470 s \$0-tab;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array \$0-tab 10 float 0;
+#X coords 0 1 9 0 200 140 1;
+#X restore 79 105 graph;
+#N canvas 0 0 694 427 \$0-c 0;
+#X scalar 1031-centroid 0 \;;
+#X coords 0 0 18 140 200 140 1;
+#X restore 79 105 pd \$0-c;
+#X floatatom 339 346 5 0 0 0 - - -;
+#X obj 339 313 list-centroid;
+#N canvas 336 319 712 355 \$0-centroid 0;
+#X obj 19 329 outlet;
+#X obj 19 86 route change;
+#X obj 19 62 struct \$0-centroid float x;
+#X obj 228 62 drawpolygon 900 2 x 0 x 140;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X restore 453 315 pd \$0-centroid;
+#X obj 339 367 set \$0-centroid x;
+#N canvas 0 0 503 429 create 0;
+#X msg 242 258 traverse pd-\$1 \, bang;
+#X obj 242 238 symbol \$0-c;
+#X msg 107 79 0;
+#X obj 242 278 pointer;
+#X msg 243 178 clear;
+#X obj 243 205 s pd-\$0-c;
+#X obj 107 302 append \$0-centroid x;
+#X obj 107 114 t a b b;
+#X obj 107 50 loadbang;
+#X obj 107 326 outlet;
+#X connect 0 0 3 0;
+#X connect 1 0 0 0;
+#X connect 2 0 7 0;
+#X connect 3 0 6 1;
+#X connect 4 0 5 0;
+#X connect 6 0 9 0;
+#X connect 7 0 6 0;
+#X connect 7 1 1 0;
+#X connect 7 2 4 0;
+#X connect 8 0 2 0;
+#X restore 468 339 pd create;
+#X obj 339 127 metro 50;
+#X obj 339 102 tgl 15 0 empty empty show-centroid 17 7 1 10 -258699
+-262144 -1 0 1;
+#N canvas 473 338 450 300 countto 0;
+#X obj 131 154 f 0;
+#X obj 156 153 + 1;
+#X msg 174 113 0;
+#X obj 131 183 outlet;
+#X obj 131 59 inlet;
+#X obj 131 116 until;
+#X obj 131 96 t a b;
+#X connect 0 0 1 0;
+#X connect 0 0 3 0;
+#X connect 1 0 0 1;
+#X connect 2 0 0 1;
+#X connect 4 0 6 0;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X connect 6 1 2 0;
+#X restore 362 195 pd countto;
+#X obj 362 219 tabread \$0-tab;
+#X obj 362 249 list prepend;
+#X obj 452 249 t a;
+#X msg 362 175 10;
+#X obj 339 148 t b b b;
+#X obj 339 274 list;
+#X text 77 30 Switch on the "show-centroid"-metro and play with the
+values in the array.;
+#X obj 79 344 loadbang;
+#X msg 79 414 0.56 0.59 0.8 0.98 0.3 0.64 0.96 0.57 0.55 0.08;
+#X connect 0 0 22 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 6 0 9 0;
+#X connect 7 0 6 0;
+#X connect 8 0 9 1;
+#X connect 10 0 9 1;
+#X connect 11 0 18 0;
+#X connect 12 0 11 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 15 0 19 1;
+#X connect 16 0 15 1;
+#X connect 17 0 13 0;
+#X connect 18 0 19 0;
+#X connect 18 1 17 0;
+#X connect 18 2 15 1;
+#X connect 19 0 7 0;
+#X connect 21 0 1 0;
+#X connect 22 0 2 0;
+#X restore 392 510 pd graphical-centroid;
+#X text 321 510 Also see:;
+#N canvas 520 35 494 396 META 0;
+#X text 12 5 KEYWORDS control list_op;
+#X text 12 25 LICENSE SIBSD;
+#X text 12 135 AUTHOR Frank Barknecht;
+#X text 12 155 HELP_PATCH_AUTHORS Frank Barknecht. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 75 INLET_0 list;
+#X text 12 95 OUTLET_0 float;
+#X text 12 115 OUTLET_1 bang;
+#X text 12 45 DESCRIPTION calculate the centroid or center of mass
+of a list of floats;
+#X restore 544 540 pd META;
+#X connect 1 0 6 0;
+#X connect 2 0 6 0;
+#X connect 3 0 6 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X connect 6 1 4 0;
+#X connect 11 0 6 0;
+#X connect 12 0 6 0;
+#X connect 14 0 6 0;
+#X connect 15 0 16 0;
+#X connect 16 0 6 0;
+#X connect 17 0 15 0;
+#X connect 18 0 6 0;
+#X connect 19 0 6 0;
+#X connect 20 0 6 0;
+#X connect 21 0 6 0;

+ 76 - 0
extra/list-abs/list-centroid.pd

@@ -0,0 +1,76 @@
+#N canvas 204 70 675 629 10;
+#X obj 127 475 f;
+#X obj 127 65 inlet;
+#X obj 127 561 outlet;
+#X obj 163 170 list-enumerate;
+#X obj 163 197 t a a;
+#X obj 261 406 /;
+#X obj 261 376 swap;
+#X obj 210 345 select 0;
+#N canvas 286 344 401 287 sum(mi*i) 0;
+#X obj 126 138 +;
+#X obj 153 139 f;
+#X msg 168 88 0;
+#X obj 126 66 inlet;
+#X obj 168 66 inlet;
+#X obj 126 171 outlet;
+#X obj 126 103 *;
+#X connect 0 0 1 0;
+#X connect 0 0 5 0;
+#X connect 1 0 0 1;
+#X connect 2 0 0 1;
+#X connect 3 0 6 0;
+#X connect 4 0 2 0;
+#X connect 6 0 0 0;
+#X restore 284 255 pd sum(mi*i);
+#N canvas 573 330 450 328 sum(mi) 0;
+#X obj 179 137 +;
+#X obj 206 138 f;
+#X msg 296 77 0;
+#X obj 179 55 inlet;
+#X obj 296 55 inlet;
+#X obj 179 170 outlet;
+#X text 143 34 in: (idx value);
+#X text 40 89 swap to: (val idx);
+#X text 67 172 sum of values;
+#X obj 179 89 swap;
+#X connect 0 0 1 0;
+#X connect 0 0 5 0;
+#X connect 1 0 0 1;
+#X connect 2 0 0 1;
+#X connect 3 0 9 0;
+#X connect 4 0 2 0;
+#X connect 9 0 0 0;
+#X restore 163 253 pd sum(mi);
+#X obj 210 559 outlet;
+#X obj 127 399 spigot 1;
+#X obj 145 285 f;
+#X obj 240 528 print list-centroid;
+#X obj 210 468 t b b;
+#X msg 240 503 warning: sum of items equals 0: centroid is undefined!
+;
+#X obj 127 89 t b b a b b;
+#X text 69 26 centroid (center of mass) = sum(mi * i) / sum(mi);
+#X connect 0 0 2 0;
+#X connect 1 0 16 0;
+#X connect 3 0 4 0;
+#X connect 4 0 9 0;
+#X connect 4 1 8 0;
+#X connect 5 0 0 1;
+#X connect 6 0 5 0;
+#X connect 6 1 5 1;
+#X connect 7 0 14 0;
+#X connect 7 1 6 0;
+#X connect 8 0 6 1;
+#X connect 9 0 12 1;
+#X connect 11 0 0 0;
+#X connect 12 0 7 0;
+#X connect 12 0 11 1;
+#X connect 14 0 10 0;
+#X connect 14 1 15 0;
+#X connect 15 0 13 0;
+#X connect 16 0 11 0;
+#X connect 16 1 12 0;
+#X connect 16 2 3 0;
+#X connect 16 3 9 1;
+#X connect 16 4 8 1;

+ 25 - 0
extra/list-abs/list-clip-help.pd

@@ -0,0 +1,25 @@
+#N canvas 0 0 450 300 10;
+#X obj 122 170 list-clip 2 8;
+#X obj 122 204 print;
+#X text 101 47 list-clip:;
+#X obj 189 49 clip;
+#X text 231 50 for lists;
+#X msg 122 102 1 2 3 SYMBOL 4 5 6 7 8 9 10;
+#X floatatom 165 144 5 0 0 0 - - -;
+#X floatatom 208 145 5 0 0 0 - - -;
+#N canvas 416 170 494 396 META 0;
+#X text 12 5 KEYWORDS control list_op;
+#X text 12 25 LICENSE SIBSD;
+#X text 12 145 AUTHOR Frank Barknecht;
+#X text 12 125 OUTLET_0 list;
+#X text 12 165 HELP_PATCH_AUTHORS Frank Barknecht. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 45 DESCRIPTION clip for lists;
+#X text 12 85 INLET_1 float;
+#X text 12 105 INLET_2 float;
+#X text 12 65 INLET_0 anything;
+#X restore 387 267 pd META;
+#X connect 0 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 1;
+#X connect 7 0 0 2;

+ 26 - 0
extra/list-abs/list-clip.pd

@@ -0,0 +1,26 @@
+#N canvas 220 202 450 335 10;
+#X obj 109 49 inlet;
+#X obj 141 155 inlet;
+#X obj 174 171 inlet;
+#X obj 109 201 clip \$1 \$2;
+#X obj 109 136 route float;
+#X obj 109 100 list-drip;
+#X obj 109 249 list prepend;
+#X obj 200 249 t a;
+#X obj 86 298 outlet;
+#X obj 86 274 list;
+#X obj 109 75 t a b;
+#X connect 0 0 10 0;
+#X connect 1 0 3 1;
+#X connect 2 0 3 2;
+#X connect 3 0 6 0;
+#X connect 4 0 3 0;
+#X connect 4 1 6 0;
+#X connect 5 0 4 0;
+#X connect 5 1 9 0;
+#X connect 6 0 7 0;
+#X connect 6 0 9 1;
+#X connect 7 0 6 1;
+#X connect 9 0 8 0;
+#X connect 10 0 5 0;
+#X connect 10 1 6 1;

+ 42 - 0
extra/list-abs/list-compare-help.pd

@@ -0,0 +1,42 @@
+#N canvas 0 26 529 463 10;
+#X floatatom 149 244 5 0 0 0 - - -;
+#X obj 213 244 loadbang;
+#X msg 149 217 0;
+#X msg 179 217 4;
+#X msg 134 169 seven;
+#X msg 134 196 symbol eight;
+#X obj 134 316 list-compare;
+#X obj 134 354 tgl 24 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 134 389 print EQUAL?;
+#X text 69 21 [list-compare];
+#X text 108 42 Compare two lists element by element.;
+#X floatatom 228 295 5 0 0 0 - - -;
+#X text 134 90 Out: 1 if equal \, 0 if not equal.;
+#X text 134 66 In: two lists to compare.;
+#X msg 134 115 0 1 2 3 4 5 6 seven eight;
+#X msg 134 142 0 1 2 3 4 5 6 seventy eight;
+#X msg 213 271 0 1 2 3 4 5 6 seven eight;
+#N canvas 416 170 494 396 META 0;
+#X text 12 5 KEYWORDS control list_op;
+#X text 12 25 LICENSE SIBSD;
+#X text 12 125 AUTHOR Frank Barknecht;
+#X text 12 145 HELP_PATCH_AUTHORS Frank Barknecht. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 105 OUTLET_0 float;
+#X text 12 65 INLET_0 anything;
+#X text 12 85 INLET_1 anything;
+#X text 12 45 DESCRIPTION compare two lists element by element;
+#X restore 456 427 pd META;
+#X connect 0 0 6 0;
+#X connect 1 0 16 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 6 0;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 11 0 6 1;
+#X connect 14 0 6 0;
+#X connect 15 0 6 0;
+#X connect 16 0 6 1;

+ 74 - 0
extra/list-abs/list-compare.pd

@@ -0,0 +1,74 @@
+#N canvas 368 289 390 300 10;
+#X obj 222 58 inlet;
+#X obj 94 57 inlet;
+#X obj 94 199 outlet;
+#N canvas 380 394 492 461 compare-elements 0;
+#X obj 83 135 list-dripslow;
+#X obj 83 226 compare-any;
+#X obj 83 157 t a b;
+#X obj 264 48 inlet;
+#X obj 65 36 inlet;
+#X obj 241 111 list;
+#X obj 83 112 until;
+#X obj 83 256 select 0;
+#X obj 83 288 t b b;
+#X msg 83 317 0;
+#X obj 65 379 outlet;
+#X obj 65 356 f 1;
+#X obj 65 59 t b b a b b;
+#X msg 125 319 1;
+#X obj 155 192 list-dripslow;
+#X connect 0 0 2 0;
+#X connect 0 1 6 1;
+#X connect 1 0 7 0;
+#X connect 2 0 1 0;
+#X connect 2 1 14 0;
+#X connect 3 0 5 1;
+#X connect 4 0 12 0;
+#X connect 5 0 14 1;
+#X connect 6 0 0 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 8 1 6 1;
+#X connect 9 0 11 1;
+#X connect 11 0 10 0;
+#X connect 12 0 11 0;
+#X connect 12 1 6 0;
+#X connect 12 2 0 1;
+#X connect 12 3 5 0;
+#X connect 12 4 13 0;
+#X connect 13 0 11 1;
+#X connect 14 0 1 1;
+#X restore 94 136 pd compare-elements;
+#X msg 216 167 0;
+#N canvas 446 369 450 300 compare-lengths 0;
+#X obj 45 102 ==;
+#X obj 45 123 select 1 0;
+#X obj 144 35 inlet;
+#X obj 45 20 inlet;
+#X obj 45 203 outlet;
+#X obj 77 182 outlet;
+#X obj 45 45 t a a;
+#X obj 45 154 list;
+#X text 39 237 if equal \, send list out to first outlet \, else bang
+second outlet;
+#X obj 144 68 list-len;
+#X obj 45 67 list-len;
+#X connect 0 0 1 0;
+#X connect 1 0 7 0;
+#X connect 1 1 5 0;
+#X connect 2 0 9 0;
+#X connect 3 0 6 0;
+#X connect 6 0 10 0;
+#X connect 6 1 7 1;
+#X connect 7 0 4 0;
+#X connect 9 0 0 1;
+#X connect 10 0 0 0;
+#X restore 94 93 pd compare-lengths;
+#X connect 0 0 5 1;
+#X connect 0 0 3 1;
+#X connect 1 0 5 0;
+#X connect 3 0 2 0;
+#X connect 4 0 2 0;
+#X connect 5 0 3 0;
+#X connect 5 1 4 0;

+ 43 - 0
extra/list-abs/list-delete-help.pd

@@ -0,0 +1,43 @@
+#N canvas 0 26 572 423 10;
+#X obj 85 190 hradio 15 1 0 8 empty empty POS_(zero-based) 0 -6 0 8
+-262144 -1 -1 0;
+#X floatatom 85 210 5 0 0 0 - - -;
+#X msg 49 160 0 1 2 3 4;
+#X obj 49 288 print;
+#X text 36 55 Negative POS counts from the end of the list.;
+#X text 35 26 list-delete: delete element at position POS from list.
+;
+#X floatatom 121 239 5 0 0 1 how_many - -;
+#X msg 293 170 0 1 2 3 4;
+#X obj 293 288 print;
+#X text 322 211 arguments: <pos> <bodycount>;
+#X obj 49 258 list-delete;
+#X text 38 79 Arguments;
+#X text 51 102 1: Default POS to delete.;
+#X text 51 123 2: How many items to delete (cannot be less than 1)
+;
+#X floatatom 343 239 5 0 0 0 - - -;
+#X floatatom 393 240 5 0 0 0 - - -;
+#X obj 293 259 list-delete 2 3;
+#N canvas 520 35 494 396 META 0;
+#X text 12 5 KEYWORDS control list_op;
+#X text 12 25 LICENSE SIBSD;
+#X text 12 145 AUTHOR Frank Barknecht;
+#X text 12 165 HELP_PATCH_AUTHORS Frank Barknecht. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 65 INLET_0 list;
+#X text 12 45 DESCRIPTION delete element at position POS from list
+;
+#X text 12 85 INLET_1 float;
+#X text 12 105 INLET_2 float;
+#X text 12 125 OUTLET_0 list;
+#X restore 507 387 pd META;
+#X connect 0 0 1 0;
+#X connect 1 0 10 1;
+#X connect 2 0 10 0;
+#X connect 6 0 10 2;
+#X connect 7 0 16 0;
+#X connect 10 0 3 0;
+#X connect 14 0 16 1;
+#X connect 15 0 16 2;
+#X connect 16 0 8 0;

+ 28 - 0
extra/list-abs/list-delete.pd

@@ -0,0 +1,28 @@
+#N canvas 18 49 525 309 10;
+#X obj 151 149 list-splat \$1;
+#X obj 237 50 inlet;
+#X text 235 30 pos;
+#X obj 151 51 inlet;
+#X text 135 29 orig. list;
+#X obj 194 217 list split 1;
+#X obj 151 256 list;
+#X obj 151 285 outlet;
+#X obj 302 127 moses 1;
+#X obj 302 50 inlet;
+#X obj 327 78 loadbang;
+#X text 299 30 how many items to delete;
+#X obj 302 106 f \$2;
+#X msg 302 149 1;
+#X connect 0 0 6 0;
+#X connect 0 1 5 0;
+#X connect 0 2 7 0;
+#X connect 1 0 0 1;
+#X connect 3 0 0 0;
+#X connect 5 1 6 1;
+#X connect 6 0 7 0;
+#X connect 8 0 13 0;
+#X connect 8 1 5 1;
+#X connect 9 0 12 0;
+#X connect 10 0 12 0;
+#X connect 12 0 8 0;
+#X connect 13 0 5 1;

+ 33 - 0
extra/list-abs/list-dotprod-help.pd

@@ -0,0 +1,33 @@
+#N canvas 0 26 483 343 10;
+#X obj 59 150 list-dotprod;
+#X msg 138 118 3 1;
+#X text 40 32 list-dotprod;
+#X text 60 53 dot-product of two lists: res = sum(Xi*Yi);
+#X obj 290 188 list-mult;
+#X obj 290 215 list-accum;
+#X msg 348 160 3 1;
+#X floatatom 59 179 5 0 0 0 - - -;
+#X floatatom 290 240 5 0 0 0 - - -;
+#X text 240 137 a bit faster \, but the same as;
+#X msg 59 119 2 4;
+#X msg 290 161 2 4;
+#X text 57 209 2*3 + 4*1 = 10;
+#N canvas 520 35 494 396 META 0;
+#X text 12 5 KEYWORDS control list_op;
+#X text 12 25 LICENSE SIBSD;
+#X text 12 125 AUTHOR Frank Barknecht;
+#X text 12 145 HELP_PATCH_AUTHORS Frank Barknecht. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 65 INLET_0 list;
+#X text 12 85 INLET_1 list;
+#X text 12 105 OUTLET_0 list;
+#X text 12 45 DESCRIPTION dot-product of two lists : res = sum(Xi*Yi)
+;
+#X restore 421 312 pd META;
+#X connect 0 0 7 0;
+#X connect 1 0 0 1;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 4 1;
+#X connect 10 0 0 0;
+#X connect 11 0 4 0;

+ 40 - 0
extra/list-abs/list-dotprod.pd

@@ -0,0 +1,40 @@
+#N canvas 0 0 750 558 10;
+#X obj 59 31 inlet;
+#X obj 280 39 inlet;
+#X obj 59 469 outlet;
+#X obj 78 138 list-drip;
+#X obj 257 231 list;
+#X obj 171 259 list-dripslow;
+#X obj 78 258 route float;
+#X obj 171 286 route float;
+#X obj 137 87 s \$0-reset;
+#X obj 108 359 r \$0-reset;
+#X obj 59 58 t b a b b;
+#X text 305 153 list-dotprod;
+#X text 325 174 dot-product of two lists: res = sum(Xi*Yi);
+#X obj 108 409 f 0;
+#X obj 108 384 0;
+#X obj 59 436 f;
+#X obj 78 408 +;
+#X obj 78 322 *;
+#X obj 78 162 t a b;
+#X connect 0 0 10 0;
+#X connect 1 0 4 1;
+#X connect 3 0 18 0;
+#X connect 4 0 5 1;
+#X connect 5 0 7 0;
+#X connect 6 0 17 0;
+#X connect 7 0 17 1;
+#X connect 9 0 14 0;
+#X connect 10 0 15 0;
+#X connect 10 1 3 0;
+#X connect 10 2 4 0;
+#X connect 10 3 8 0;
+#X connect 13 0 16 1;
+#X connect 14 0 13 0;
+#X connect 15 0 2 0;
+#X connect 16 0 13 0;
+#X connect 16 0 15 1;
+#X connect 17 0 16 0;
+#X connect 18 0 6 0;
+#X connect 18 1 5 0;

+ 208 - 0
extra/list-abs/list-drip-help.pd

@@ -0,0 +1,208 @@
+#N canvas 0 26 635 655 10;
+#X obj 70 93 list-drip;
+#X msg 70 66 1 2 3 a b c;
+#X obj 70 124 print;
+#X obj 151 120 bng 15 250 50 0 empty empty end 0 -6 0 8 -262144 -1
+-1;
+#X msg 297 70 1 2 3 a b c;
+#X obj 382 129 bng 15 250 50 0 empty empty end 0 -6 0 8 -262144 -1
+-1;
+#X obj 297 178 print first;
+#X obj 329 154 print second;
+#X obj 212 390 bng 15 250 50 0 empty empty end 0 -6 0 8 -262144 -1
+-1;
+#X text 71 217 Use list-drip2 to combine two lists into one \, for
+example by addition:;
+#X obj 219 550 list;
+#X obj 123 549 list prepend;
+#X obj 42 584 list;
+#X obj 42 612 print RESULT;
+#X obj 123 289 t b b;
+#X msg 123 269 bang;
+#X obj 123 346 t l b;
+#X text 190 302 Add these lists by element. Be careful with their lengths
+;
+#X text 70 18 list-drip: drips or serializes a list \, that is \, it
+sends all elements one after another.;
+#X text 434 105 Drip two lists in sync.;
+#X text 285 429 filter out floats;
+#X obj 42 552 r \$0-end;
+#X obj 212 409 s \$0-end;
+#X text 200 508 reset first;
+#X obj 123 478 +;
+#N canvas 315 75 709 522 add-lots-of-lists 0;
+#X obj 273 211 bng 15 250 50 0 empty empty end 0 -6 0 8 -262144 -1
+-1;
+#X obj 184 167 t l b;
+#X text 138 51 Add many lists by routing the result back to the second
+inlet of list-drip2;
+#X obj 154 142 t b a;
+#X obj 103 433 print CURRENT-RESULT;
+#X msg 68 145 bang;
+#X text 65 125 Reset;
+#X msg 232 103 0.1 0.2 0.3 0.4;
+#X msg 354 103 0.01 0.02 0.03 0.04;
+#X obj 184 370 list prepend;
+#X obj 280 371 list;
+#X obj 103 405 list;
+#X obj 184 299 +;
+#X msg 154 105 1 3 4 7;
+#X msg 84 219 0;
+#X obj 88 176 t b b b;
+#N canvas 347 135 671 625 weighted 0;
+#X obj 435 225 list split 1;
+#X text 59 90 weighted sum of lists;
+#X obj 435 294 list-math *;
+#X obj 435 270 list;
+#X obj 435 248 t b f;
+#X msg 361 184 \$1 0 0 1;
+#X msg 435 184 \$1 0 1 0;
+#X obj 380 83 hsl 64 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 454 83 hsl 64 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 530 83 hsl 64 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 353 486 list;
+#X obj 361 149 f;
+#X obj 435 151 f;
+#X obj 511 153 f;
+#N canvas 0 0 516 490 list-accum 0;
+#X obj 319 215 bng 15 250 50 0 empty empty end 0 -6 0 8 -262144 -1
+-1;
+#X obj 230 171 t l b;
+#X obj 200 146 t b a;
+#X msg 399 128 bang;
+#X text 396 108 Reset;
+#X obj 230 374 list prepend;
+#X obj 326 375 list;
+#X obj 149 409 list;
+#X obj 230 303 +;
+#X msg 375 214 0;
+#X obj 379 171 t b b b;
+#X obj 149 437 outlet;
+#X obj 199 104 inlet;
+#X obj 343 106 inlet;
+#X obj 230 213 list-drip2;
+#X connect 1 0 14 0;
+#X connect 1 1 5 1;
+#X connect 2 0 7 0;
+#X connect 2 1 1 0;
+#X connect 3 0 10 0;
+#X connect 5 0 6 0;
+#X connect 5 0 7 1;
+#X connect 6 0 5 1;
+#X connect 7 0 11 0;
+#X connect 7 0 14 1;
+#X connect 8 0 5 0;
+#X connect 9 0 8 1;
+#X connect 10 0 9 0;
+#X connect 10 1 14 0;
+#X connect 10 2 14 1;
+#X connect 12 0 2 0;
+#X connect 13 0 10 0;
+#X connect 14 0 8 0;
+#X connect 14 1 8 1;
+#X connect 14 2 0 0;
+#X restore 376 444 pd list-accum;
+#X obj 354 509 print W_SUM;
+#X msg 266 81 bang;
+#X obj 269 104 t b b b;
+#X msg 511 183 \$1 1 1 0;
+#X obj 376 38 hsl 64 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 375 59 t b f;
+#X connect 0 0 4 0;
+#X connect 0 1 3 1;
+#X connect 2 0 14 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 4 1 2 1;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 11 1;
+#X connect 8 0 12 1;
+#X connect 9 0 13 1;
+#X connect 10 0 15 0;
+#X connect 11 0 5 0;
+#X connect 12 0 6 0;
+#X connect 13 0 18 0;
+#X connect 14 0 10 1;
+#X connect 16 0 17 0;
+#X connect 17 0 10 0;
+#X connect 17 1 11 0;
+#X connect 17 1 12 0;
+#X connect 17 1 13 0;
+#X connect 17 2 14 1;
+#X connect 18 0 0 0;
+#X connect 19 0 20 0;
+#X connect 20 0 17 0;
+#X connect 20 1 11 1;
+#X restore 434 245 pd weighted;
+#X obj 184 209 list-drip2;
+#X text 419 223 Add lists weighted:;
+#X connect 1 0 17 0;
+#X connect 1 1 9 1;
+#X connect 3 0 11 0;
+#X connect 3 1 1 0;
+#X connect 5 0 15 0;
+#X connect 7 0 3 0;
+#X connect 8 0 3 0;
+#X connect 9 0 10 0;
+#X connect 9 0 11 1;
+#X connect 10 0 9 1;
+#X connect 11 0 4 0;
+#X connect 11 0 17 1;
+#X connect 12 0 9 0;
+#X connect 13 0 3 0;
+#X connect 14 0 12 1;
+#X connect 15 0 14 0;
+#X connect 15 1 17 0;
+#X connect 15 2 17 1;
+#X connect 17 0 12 0;
+#X connect 17 1 12 1;
+#X connect 17 2 0 0;
+#X restore 415 583 pd add-lots-of-lists;
+#X text 418 557 Another example:;
+#X obj 297 97 list-drip2;
+#X obj 123 388 list-drip2;
+#X msg 124 326 1 2 3 4;
+#X msg 196 326 5 6 7 8;
+#X msg 396 70 4 5 6 d e f ignored;
+#N canvas 431 110 494 396 META 0;
+#X text 12 5 KEYWORDS control list_op;
+#X text 12 25 LICENSE SIBSD;
+#X text 12 155 HELP_PATCH_AUTHORS Frank Barknecht. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 45 DESCRIPTION drip or serialize a list \, that is \, send
+all elements one after another.;
+#X text 12 75 INLET_0 anything;
+#X text 12 95 OUTLET_0 symbol float pointer;
+#X text 12 115 OUTLET_1 bang;
+#X text 12 135 AUTHOR Frank Barknecht \, Mathieu Bouchard;
+#X restore 567 624 pd META;
+#X connect 0 0 2 0;
+#X connect 0 1 3 0;
+#X connect 1 0 0 0;
+#X connect 4 0 27 0;
+#X connect 8 0 22 0;
+#X connect 10 0 11 1;
+#X connect 11 0 10 0;
+#X connect 11 0 12 1;
+#X connect 12 0 13 0;
+#X connect 14 0 29 0;
+#X connect 14 1 30 0;
+#X connect 15 0 14 0;
+#X connect 16 0 28 0;
+#X connect 16 1 11 1;
+#X connect 21 0 12 0;
+#X connect 24 0 11 0;
+#X connect 27 0 6 0;
+#X connect 27 1 7 0;
+#X connect 27 2 5 0;
+#X connect 28 0 24 0;
+#X connect 28 1 24 1;
+#X connect 28 2 8 0;
+#X connect 29 0 16 0;
+#X connect 30 0 28 1;
+#X connect 31 0 27 1;

+ 47 - 0
extra/list-abs/list-drip.pd

@@ -0,0 +1,47 @@
+#N canvas 218 94 842 634 10;
+#X obj 63 84 t a a;
+#X obj 63 241 spigot;
+#X obj 102 149 bang;
+#X obj 102 168 1;
+#X obj 223 149 route bang;
+#X obj 183 150 bang;
+#X obj 183 169 0;
+#X obj 102 114 list split 2;
+#X obj 232 379 list split;
+#X obj 299 328 list length;
+#X obj 299 350 >> 1;
+#X obj 63 260 t a a a a;
+#X obj 63 446 list split;
+#X obj 130 398 list length;
+#X obj 130 423 >> 1;
+#X obj 31 19 inlet;
+#X obj 290 175 outlet;
+#X text 73 19 Copyright 2009 by Mathieu Bouchard;
+#X obj 31 53 t b a;
+#X obj 465 119 outlet;
+#X text 520 121 signal end of list;
+#X text 381 23 made compatible with [list-drip]: fbar 2009;
+#X connect 0 0 1 0;
+#X connect 0 1 7 0;
+#X connect 1 0 11 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 1;
+#X connect 4 1 16 0;
+#X connect 5 0 6 0;
+#X connect 6 0 1 1;
+#X connect 7 0 2 0;
+#X connect 7 2 4 0;
+#X connect 7 2 5 0;
+#X connect 8 0 0 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 1;
+#X connect 11 0 12 0;
+#X connect 11 1 13 0;
+#X connect 11 2 8 0;
+#X connect 11 3 9 0;
+#X connect 12 1 0 0;
+#X connect 13 0 14 0;
+#X connect 14 0 12 1;
+#X connect 15 0 18 0;
+#X connect 18 0 19 0;
+#X connect 18 1 0 0;

+ 37 - 0
extra/list-abs/list-drip2-help.pd

@@ -0,0 +1,37 @@
+#N canvas 0 26 588 432 10;
+#X obj 146 235 list-drip2;
+#X text 72 58 Drips two lists in sync \, as long as the first list
+lasts.;
+#X text 42 25 list-drip2;
+#X msg 213 208 a b c d;
+#X obj 213 258 bng 15 250 50 0 empty empty End_of_1st_list 17 7 1 10
+-262144 -1 -1;
+#X obj 179 306 print 2nd;
+#X obj 146 334 print 1st;
+#X msg 146 122 1 2 3 4;
+#X msg 146 100 1 2 3;
+#X msg 146 145 1 2 3 4 5;
+#X obj 146 199 t a b;
+#N canvas 436 26 494 396 META 0;
+#X text 12 5 KEYWORDS control list_op;
+#X text 12 25 LICENSE SIBSD;
+#X text 12 175 AUTHOR Frank Barknecht;
+#X text 12 195 HELP_PATCH_AUTHORS Frank Barknecht. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 45 DESCRIPTION drip two lists in sync \, as long as the
+first list lasts;
+#X text 12 95 INLET_1 anything;
+#X text 12 75 INLET_0 anything;
+#X text 12 135 OUTLET_1 float symbol;
+#X text 12 115 OUTLET_0 float symbol;
+#X text 12 155 OUTLET_2 bang;
+#X restore 517 397 pd META;
+#X connect 0 0 6 0;
+#X connect 0 1 5 0;
+#X connect 0 2 4 0;
+#X connect 3 0 0 1;
+#X connect 7 0 10 0;
+#X connect 8 0 10 0;
+#X connect 9 0 10 0;
+#X connect 10 0 0 0;
+#X connect 10 1 3 0;

+ 19 - 0
extra/list-abs/list-drip2.pd

@@ -0,0 +1,19 @@
+#N canvas 161 215 536 406 10;
+#X text 81 50 Drips two lists in sync \, as long as the first list
+lasts.;
+#X obj 96 273 outlet;
+#X obj 96 87 inlet;
+#X obj 189 270 outlet;
+#X obj 257 272 outlet;
+#X obj 353 125 inlet;
+#X text 304 270 End;
+#X obj 96 163 list-drip;
+#X obj 96 186 t a b;
+#X obj 189 222 list-dripslow;
+#X connect 2 0 7 0;
+#X connect 5 0 9 1;
+#X connect 7 0 8 0;
+#X connect 7 1 4 0;
+#X connect 8 0 1 0;
+#X connect 8 1 9 0;
+#X connect 9 0 3 0;

+ 70 - 0
extra/list-abs/list-dripslow-help.pd

@@ -0,0 +1,70 @@
+#N canvas 0 26 488 309 10;
+#X msg 208 152 1 2 3 4;
+#X obj 122 229 print element;
+#X obj 208 202 print EOL;
+#X msg 122 146 bang;
+#X text 60 30 list-dripslow: Serialize a list on demand.;
+#X text 56 69 First set list through right inlet \, then on each bang
+into left inlet \, one element will be output through left outlet.
+Right outlet bangs at list's end.;
+#N canvas 401 196 593 450 drip-many-example 0;
+#X obj 122 171 list-drip;
+#X obj 122 194 t a b;
+#X obj 122 323 print L1;
+#X obj 207 324 print L2;
+#X obj 297 326 print L3;
+#X obj 207 249 t a b;
+#X obj 122 121 t b b b;
+#X text 160 39 Drip many lists in sync;
+#X msg 122 92 bang;
+#X msg 383 187 A B C;
+#X msg 293 187 1 2 3;
+#X msg 122 149 x y z;
+#X obj 207 225 list-dripslow;
+#X obj 297 283 list-dripslow;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 1 12 0;
+#X connect 5 0 3 0;
+#X connect 5 1 13 0;
+#X connect 6 0 11 0;
+#X connect 6 1 10 0;
+#X connect 6 2 9 0;
+#X connect 8 0 6 0;
+#X connect 9 0 13 1;
+#X connect 10 0 12 1;
+#X connect 11 0 0 0;
+#X connect 12 0 5 0;
+#X connect 13 0 4 0;
+#X restore 332 185 pd drip-many-example;
+#N canvas 606 157 450 300 drip-emulation 0;
+#X obj 140 194 list-dripslow;
+#X obj 140 117 t b l;
+#X obj 140 167 until;
+#X obj 140 224 print;
+#X msg 140 82 1 2 3 4 5 6 7 achtung;
+#X text 135 49 drip fast with dripslow;
+#X connect 0 0 3 0;
+#X connect 0 1 2 1;
+#X connect 1 0 2 0;
+#X connect 1 1 0 1;
+#X connect 2 0 0 0;
+#X connect 4 0 1 0;
+#X restore 332 219 pd drip-emulation;
+#X obj 122 180 list-dripslow;
+#N canvas 416 170 494 396 META 0;
+#X text 12 5 KEYWORDS control list_op;
+#X text 12 25 LICENSE SIBSD;
+#X text 12 145 AUTHOR Frank Barknecht;
+#X text 12 165 HELP_PATCH_AUTHORS Frank Barknecht. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 45 DESCRIPTION serialize a list on demand;
+#X text 12 65 INLET_0 bang;
+#X text 12 85 INLET_1 anything;
+#X text 12 105 INLET_2 float symbol pointer;
+#X text 12 125 OUTLET_0 bang;
+#X restore 437 287 pd META;
+#X connect 0 0 8 1;
+#X connect 3 0 8 0;
+#X connect 8 0 1 0;
+#X connect 8 1 2 0;

+ 0 - 0
extra/list-abs/list-dripslow.pd


Some files were not shown because too many files changed in this diff