Update of /cvsroot/pure-data/abstractions/footils/list-abs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17078/list-abs
Added Files: OSCprepend-help.pd OSCprepend.pd README last-x-help.pd last-x.pd list-accum-help.pd list-accum.pd list-demux.pd list-drip-help.pd list-drip.pd list-drip2.pd list-dripslow-help.pd list-dripslow.pd list-inter-example.pd list-inter-gem-example.pd list-inter-help.pd list-inter.pd list-len-help.pd list-len.pd list-makefilename-help.pd list-makefilename.pd list-math-help.pd list-math.pd list-minmax-help.pd list-minmax.pd list-rev-help.pd list-rev.pd list-rot-help.pd list-rot.pd sroute-help.pd sroute.pd take-two-help.pd take-two.pd triple-scale-help.pd triple-scale.pd Log Message: Initial import of list-abs, abstractions using pd-0.39's new [list] object family to do common list operations. See the README for details.
--- NEW FILE: list-minmax.pd --- #N canvas 499 299 571 374 10; #X obj 128 37 list-drip; #X obj 128 60 route float; #X obj 128 204 f; #X obj 112 284 outlet; #X obj 171 259 f; #X obj 171 286 outlet; #X obj 40 198 t b b; #X obj 128 13 inlet; #X obj 112 256 f; #N canvas 0 0 450 300 once 0; #X obj 110 75 inlet; #X obj 105 187 spigot 1; #X obj 110 104 t b f; #X msg 125 151 0; #X msg 165 99 1; #X obj 165 63 inlet; #X obj 102 219 outlet; #X connect 0 0 2 0; #X connect 1 0 6 0; #X connect 2 0 3 0; #X connect 2 1 1 0; #X connect 3 0 1 1; #X connect 4 0 1 1; #X connect 5 0 4 0; #X restore 218 112 pd once; #X obj 128 90 t f f f; #X obj 218 59 s $0-end; #X obj 262 87 r $0-end; #X obj 40 174 r $0-end; #X obj 128 146 <=; #X obj 128 168 select 1; #X obj 244 205 f; #X obj 244 169 select 1; #X obj 244 147 >=; #X connect 0 0 1 0; #X connect 0 1 11 0; #X connect 1 0 10 0; #X connect 2 0 8 1; #X connect 2 0 14 1; #X connect 4 0 5 0; #X connect 6 0 8 0; #X connect 6 1 4 0; #X connect 7 0 0 0; #X connect 8 0 3 0; #X connect 9 0 14 1; #X connect 9 0 18 1; #X connect 10 0 14 0; #X connect 10 0 18 0; #X connect 10 1 16 1; #X connect 10 1 2 1; #X connect 10 2 9 0; #X connect 12 0 9 1; #X connect 13 0 6 0; #X connect 14 0 15 0; #X connect 15 0 2 0; #X connect 16 0 4 1; #X connect 16 0 18 1; #X connect 17 0 16 0; #X connect 18 0 17 0;
--- NEW FILE: list-rot.pd --- #N canvas 489 301 701 467 10; #X obj 322 283 list split 1; #X obj 322 324 list prepend; #X obj 367 216 until; #X text 416 325 move first element to back; #X obj 322 251 list; #X obj 267 277 t l; #X obj 323 170 f $1; #X obj 323 194 moses 1; #X obj 302 54 inlet; #X obj 406 83 inlet; #X text 457 83 how often to rotate; #X obj 221 268 list; #X obj 221 231 b; #X text 74 191 pass unchanged , if rot# < 1; #X floatatom 397 140 5 0 0 0 - - -; #X obj 302 80 t b b l; #X obj 299 388 list; #X obj 238 116 s $0-out; #X obj 211 351 r $0-out; #X text 349 53 list to rotate; #X msg 135 37 0 1 2 3 4 5 6 7; #X obj 299 418 outlet; #X connect 0 0 1 0; #X connect 0 1 1 1; #X connect 1 0 5 0; #X connect 1 0 16 1; #X connect 2 0 4 0; #X connect 4 0 0 0; #X connect 5 0 4 1; #X connect 6 0 7 0; #X connect 7 0 12 0; #X connect 7 1 2 0; #X connect 8 0 15 0; #X connect 9 0 6 1; #X connect 11 0 16 1; #X connect 12 0 11 0; #X connect 14 0 6 1; #X connect 15 0 17 0; #X connect 15 1 6 0; #X connect 15 2 4 1; #X connect 15 2 11 1; #X connect 16 0 21 0; #X connect 18 0 16 0; #X connect 20 0 15 0;
--- NEW FILE: list-inter.pd --- #N canvas 364 37 760 649 10; #X obj 345 204 list-drip; #X obj 426 327 list-dripslow; #X obj 345 264 t a b; #X obj 439 434 t l; #X obj 322 477 list; #X obj 322 502 outlet; #X obj 345 176 list; #X obj 368 145 inlet; #X obj 535 282 inlet; #X obj 345 64 inlet; #X obj 345 434 list prepend; #X obj 345 369 expr $f3*($f2-$f1) + $f1; #X text 23 67 inlets:; #X text 37 85 1) float 0-1: distance between lists; #X text 39 106 2) list 1; #X text 39 125 2) list 2; #X text 20 25 list-inter: elementwise linear interpolation between two (float) lists.; #X obj 345 93 t b f b; #X obj 512 303 list; #X obj 512 259 r $0-start; #X obj 389 117 s $0-start; #X obj 424 411 r $0-start; #X obj 345 226 route float; #X text 14 197 Non-float elements in first list will be kept.; #X connect 0 0 22 0; #X connect 0 1 4 0; #X connect 1 0 11 1; #X connect 2 0 11 0; #X connect 2 1 1 0; #X connect 3 0 10 1; #X connect 4 0 5 0; #X connect 6 0 0 0; #X connect 7 0 6 1; #X connect 8 0 18 1; #X connect 9 0 17 0; #X connect 10 0 3 0; #X connect 10 0 4 1; #X connect 11 0 10 0; #X connect 17 0 6 0; #X connect 17 1 11 2; #X connect 17 2 20 0; #X connect 18 0 1 1; #X connect 19 0 18 0; #X connect 21 0 10 1; #X connect 22 0 2 0; #X connect 22 1 10 0;
--- NEW FILE: sroute.pd --- #N canvas 0 0 450 300 10; #X obj 148 99 inlet; #X obj 90 54 list split 1; #X obj 90 31 inlet; #X obj 90 188 outlet; #X obj 90 124 select $1; #X obj 90 154 list; #X obj 148 188 outlet; #X obj 148 156 list; #X connect 0 0 4 1; #X connect 1 0 4 0; #X connect 1 1 5 1; #X connect 1 1 7 1; #X connect 2 0 1 0; #X connect 4 0 5 0; #X connect 4 1 7 0; #X connect 5 0 3 0; #X connect 7 0 6 0;
--- NEW FILE: list-inter-example.pd --- #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;
--- NEW FILE: list-len-help.pd --- #N canvas 460 246 450 300 10; #X obj 123 162 list-len; #X msg 160 132 1 2 3 4 5 6; #X obj 123 232 print Length; #X floatatom 141 197 5 0 0 0 - - -; #X msg 123 77 bang; #X text 47 20 list-len: calculate length of a list.; #X msg 136 101 1; #X text 182 74 empty list; #X text 218 102 convert atom to 1-elem list; #X text 262 133 "real" lists; #X msg 167 101 dog; #X connect 0 0 2 0; #X connect 0 0 3 0; #X connect 1 0 0 0; #X connect 4 0 0 0; #X connect 6 0 0 0; #X connect 10 0 0 0;
--- NEW FILE: list-inter-help.pd --- #N canvas 256 50 764 621 10; #X text 101 83 inlets:; #X text 115 101 1) float 0-1: distance between lists; #X text 117 122 2) list 1; #X text 117 141 2) list 2; #X text 95 30 list-inter: elementwise linear interpolation between two (float) lists.; #X obj 228 153 hsl 128 15 0 1 0 0 empty empty factor_(0-1) -2 -6 0 10 -262144 -1 -1 10400 0; #X obj 225 359 vsl 15 128 0 10 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 9470 1; #X obj 264 359 vsl 15 128 0 10 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 7740 1; #X obj 304 359 vsl 15 128 0 10 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 3110 1; #X floatatom 225 333 5 0 0 0 - - -; #X floatatom 264 333 5 0 0 0 - - -; #X floatatom 304 333 5 0 0 0 - - -; #X obj 225 282 list-inter; #X text 87 519 Also see [triple-scale] , but [list-inter] works for float lists of arbitrary length.; #X obj 225 311 unpack 0 0 0 0; #X obj 343 360 vsl 15 128 0 10 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 11090 1; #X floatatom 343 334 5 0 0 0 - - -; #X obj 164 307 print; #X text 96 63 Non-float elements in first list will be kept.; #X msg 257 181 5 2 9 3; #X msg 267 207 5 x 9 3; #X text 326 207 careful!; #X msg 290 255 8 7 1 10; #X connect 5 0 12 0; #X connect 9 0 6 0; #X connect 10 0 7 0; #X connect 11 0 8 0; #X connect 12 0 14 0; #X connect 12 0 17 0; #X connect 14 0 9 0; #X connect 14 1 10 0; #X connect 14 2 11 0; #X connect 14 3 16 0; #X connect 16 0 15 0; #X connect 19 0 12 1; #X connect 20 0 12 1; #X connect 22 0 12 2;
--- NEW FILE: triple-scale-help.pd --- #N canvas 358 179 532 458 10; #X obj 112 74 hsl 128 15 0 1 0 0 empty empty factor_(0-1) -2 -6 0 10 -262144 -1 -1 4800 0; #X obj 109 187 triple-scale; #X text 61 29 interpolate linearily between two points (x , y , z) ; #X obj 109 216 unpack 0 0 0; #X obj 109 264 vsl 15 128 0 10 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 7790 1; #X obj 148 264 vsl 15 128 0 10 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 1750 1; #X obj 188 264 vsl 15 128 0 10 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 7590 1; #X floatatom 109 238 5 0 0 0 - - -; #X floatatom 148 238 5 0 0 0 - - -; #X floatatom 188 238 5 0 0 0 - - -; #X msg 148 132 5 1 9; #X msg 188 160 8 2 1; #X connect 0 0 1 0; #X connect 1 0 3 0; #X connect 3 0 7 0; #X connect 3 1 8 0; #X connect 3 2 9 0; #X connect 7 0 4 0; #X connect 8 0 5 0; #X connect 9 0 6 0; #X connect 10 0 1 1; #X connect 11 0 1 2;
--- NEW FILE: list-accum.pd --- #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;
--- NEW FILE: OSCprepend-help.pd --- #N canvas 417 189 565 469 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 - -; #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;
--- NEW FILE: list-math.pd --- #N canvas 424 89 624 640 10; #X msg 119 113 1 2 3 4 a b c; #X text 251 117 <- click to test; #X obj 196 386 list; #X obj 77 499 list; #X obj 100 271 route float; #X obj 100 385 list prepend; #X floatatom 248 273 5 0 0 0 - - -; #N canvas 0 0 533 407 drip 0; #X obj 64 206 list split 1; #X obj 64 123 until; #X obj 64 181 list append; #X obj 194 206 bang; #X text 146 90 First store list , then start the loop; #X text 163 118 "until" bangs its output until told to stop by a "bang" to its right inlet.; #X text 182 160 Store the remaining list.; #X text 239 205 third outlet of "split" tells us to stop.; #X obj 64 243 outlet; #X obj 64 57 inlet; #X obj 64 86 t b l; #X text 237 44 From list-help.pd; #X connect 0 0 8 0; #X connect 0 1 2 1; #X connect 0 2 3 0; #X connect 1 0 2 0; #X connect 2 0 0 0; #X connect 3 0 1 1; #X connect 9 0 10 0; #X connect 10 0 1 0; #X connect 10 1 2 1; #X restore 100 242 pd drip; #X obj 78 150 t b a b; #X text 254 314 Do math only on float elements; #X obj 122 178 s $0-reset-result; #X obj 179 357 r $0-reset-result; #X text 260 177 clear result list; #X text 175 242 "Drip" (serialize) the list; #X text 258 389 Repack the list (think of the counter); #X text 124 496 Final result is built here; #X obj 78 81 inlet; #X obj 100 307 expr $f1 $1 $f2; #X obj 200 273 inlet; #X obj 77 530 outlet; #X text 182 32 Use as "list-math operator" where operator is some binary operator , expr can understand.; #X connect 0 0 8 0; #X connect 2 0 5 1; #X connect 3 0 19 0; #X connect 4 0 17 0; #X connect 4 1 5 0; #X connect 5 0 2 0; #X connect 5 0 3 1; #X connect 6 0 17 1; #X connect 7 0 4 0; #X connect 8 0 3 0; #X connect 8 1 7 0; #X connect 8 2 10 0; #X connect 11 0 5 1; #X connect 16 0 8 0; #X connect 17 0 5 0; #X connect 18 0 17 1;
--- NEW FILE: list-demux.pd --- #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;
--- NEW FILE: README --- list-abs --------
These are abstractions implementing common list operations. Included are in alphabetical order:
last-x.pd
get a list containing the last x atoms received.
list-accum.pd
sum all floats in a list.
list-demux.pd
route lists to different outlets (like demux in zexy). Not an abstraction, just a patch illustrating the idiom.
list-drip.pd
serialize a list automatically (like drip in zexy).
list-drip2.pd
serialize two lists in sync as long as first list lasts.
list-dripslow.pd
serialize a list on demand: each bang will output the next element.
list-inter.pd
element-wise linear interpolation between two (float) lists. list-inter-example-gem.pd shows a more complicated usage example, but requires gem for visualisation.
list-len.pd
calculate length of a list.
list-makefilename.pd
apply [makefilename] on list elements, if they are symbols.
list-math.pd
apply [expr OP] with OP in (+,-,*,/) on list elements, if they are floats.
list-minmax.pd
find minimum and maximum float in a list.
list-rev.pd
reverse a list.
list-rot.pd
rotate a list (move X elements from front to back)
sroute.pd
a settable [route] object for a single selector.
take-two.pd
take a list as input and print all combinations of length two without repetition.
triple-scale.pd
this actually is not using [list]: Interpolate between two (x,y,z)-points. Also see [list-inter], which is more powerful.
--- NEW FILE: sroute-help.pd --- #N canvas 0 0 658 332 10; #X obj 127 156 sroute 1; #X obj 178 124 hradio 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -1 -1 0; #X msg 127 72 1 1 1; #X msg 78 72 0 0 0; #X msg 176 72 2 2 2; #X text 84 29 sroute: settable route; #X obj 444 126 hradio 15 1 0 3 empty empty bad 0 -6 0 8 -262144 -1 -1 0; #X symbolatom 414 96 10 0 0 2 good - -; #X obj 127 235 print SR1; #X obj 335 235 print SR2; #X msg 351 99 b b b; #X msg 335 72 a a a; #X text 401 61 type "a" or "b"; #X obj 335 156 sroute a; #X obj 178 207 print SR1-miss; #X obj 386 203 print SR2-miss; #X connect 0 0 8 0; #X connect 0 1 14 0; #X connect 1 0 0 1; #X connect 2 0 0 0; #X connect 3 0 0 0; #X connect 4 0 0 0; #X connect 6 0 13 1; #X connect 7 0 13 1; #X connect 10 0 13 0; #X connect 11 0 13 0; #X connect 13 0 9 0; #X connect 13 1 15 0;
--- NEW FILE: list-len.pd --- #N canvas 0 0 534 321 10; #X obj 126 70 inlet; #X obj 82 144 list-drip; #X obj 161 209 + 1; #X obj 82 172 b; #X obj 116 249 f; #X obj 116 276 outlet; #X obj 148 183 1; #X obj 132 211 f 1; #X obj 206 213 0; #X obj 126 104 t a b b; #X text 37 37 list-len: calculate length of a list.; #X connect 0 0 9 0; #X connect 1 0 3 0; #X connect 1 1 4 0; #X connect 2 0 7 1; #X connect 3 0 7 0; #X connect 4 0 5 0; #X connect 6 0 7 1; #X connect 7 0 2 0; #X connect 7 0 4 1; #X connect 8 0 4 1; #X connect 9 0 1 0; #X connect 9 1 6 0; #X connect 9 2 8 0;
--- NEW FILE: list-makefilename-help.pd --- #N canvas 510 222 590 494 10; #X obj 83 371 print M; #X obj 83 334 list-makefilename %s-blabla; #X obj 82 33 cnv 15 220 30 empty empty list-makefilename 20 12 0 14 -233017 -66577 0; #X msg 267 220 xyz-%s-abc; #X msg 267 200 /help/%s; #X text 80 76 Change symbols in a list , pass floats unchanged.; #X msg 83 200 1 2 3 4 SYMBOL; #X msg 83 222 list FREQ 440 AMP 1; #X msg 267 287 const; #X msg 314 286 You-probably-%don't-want-this; #X text 301 250 pass unchanged; #X msg 267 249 %s; #X text 78 111 Use as "list-makefilename makefilename-arg". Right inlet can be used to change the arg to makefilename. Please only use symbol placeholders (== "%s"); #X connect 1 0 0 0; #X connect 3 0 1 1; #X connect 4 0 1 1; #X connect 6 0 1 0; #X connect 7 0 1 0; #X connect 8 0 1 1; #X connect 9 0 1 1; #X connect 11 0 1 1;
--- NEW FILE: take-two.pd --- #N canvas 444 190 497 465 10; #X obj 206 267 list split 1; #X obj 206 330 list; #X obj 206 389 list; #X obj 206 300 t b a; #X obj 206 233 list; #X obj 206 200 until; #X obj 256 174 b; #X obj 206 85 inlet; #X obj 206 415 outlet; #N canvas 0 0 533 407 drip 0; #X obj 64 206 list split 1; #X obj 64 123 until; #X obj 64 181 list append; #X obj 194 206 bang; #X text 146 90 First store list , then start the loop; #X text 163 118 "until" bangs its output until told to stop by a "bang" to its right inlet.; #X text 182 160 Store the remaining list.; #X text 239 205 third outlet of "split" tells us to stop.; #X obj 64 243 outlet; #X obj 64 57 inlet; #X text 237 44 From list-help.pd; #X obj 143 243 outlet; #X obj 64 86 t b a; #X connect 0 0 8 0; #X connect 0 1 2 1; #X connect 0 2 3 0; #X connect 0 2 11 0; #X connect 1 0 2 0; #X connect 2 0 0 0; #X connect 3 0 1 1; #X connect 9 0 12 0; #X connect 12 0 1 0; #X connect 12 1 2 1; #X restore 206 355 pd drip; #X obj 206 152 t b a; #X connect 0 0 3 0; #X connect 0 1 1 1; #X connect 0 1 4 1; #X connect 0 2 6 0; #X connect 1 0 9 0; #X connect 2 0 8 0; #X connect 3 0 1 0; #X connect 3 1 2 1; #X connect 4 0 0 0; #X connect 5 0 4 0; #X connect 6 0 5 1; #X connect 7 0 10 0; #X connect 9 0 2 0; #X connect 10 0 5 0; #X connect 10 1 4 1;
--- NEW FILE: list-rev-help.pd --- #N canvas 449 421 464 309 10; #X msg 156 76 1 2 3 4; #X obj 184 109 print Original; #X obj 156 199 list-rev; #X obj 184 164 print Reversed; #X obj 183 230 print Rev_again; #X text 127 35 list-rev: reverse a list's order.; #X obj 156 131 list-rev; #X connect 0 0 1 0; #X connect 0 0 6 0; #X connect 2 0 4 0; #X connect 6 0 2 0; #X connect 6 0 3 0;
--- NEW FILE: list-drip-help.pd --- #N canvas 353 34 661 705 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 383 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 3300 1; #X obj 454 83 hsl 64 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144 -1 -1 2700 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 2600 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; #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;
--- NEW FILE: list-drip2.pd --- #N canvas 161 215 536 406 10; #X obj 133 90 inlet; #X obj 133 246 outlet; #X obj 247 95 inlet; #X obj 190 213 outlet; #X obj 247 173 outlet; #N canvas 501 342 487 367 drip-two-lists 1; #X obj 64 243 outlet; #X obj 64 57 inlet; #X obj 157 240 outlet; #X obj 225 242 outlet; #X obj 321 95 inlet; #X text 272 240 End; #X obj 64 133 list-drip; #X obj 64 156 t a b; #X obj 157 192 list-dripslow; #X connect 1 0 6 0; #X connect 4 0 8 1; #X connect 6 0 7 0; #X connect 6 1 3 0; #X connect 7 0 0 0; #X connect 7 1 8 0; #X connect 8 0 2 0; #X restore 133 139 pd drip-two-lists; #X text 300 172 bang at end; #X text 244 212 second list; #X text 190 248 first list; #X text 51 35 Drips two lists in sync , as long as the first list lasts.; #X connect 0 0 5 0; #X connect 2 0 5 1; #X connect 5 0 1 0; #X connect 5 1 3 0; #X connect 5 2 4 0;
--- NEW FILE: list-minmax-help.pd --- #N canvas 368 264 689 365 10; #X floatatom 254 271 5 0 0 0 min - -; #X floatatom 326 271 5 0 0 0 max - -; #X obj 254 138 random 100; #X obj 254 116 until; #X msg 366 138 set; #X msg 232 61 10; #X msg 254 160 add2 $1; #X obj 232 88 t b f b; #X msg 254 203 41 49 75 14 47 94 89 87 30 87; #X text 178 28 list-minmax: find minimum and maximum float in a list. ; #X msg 141 201 2; #X text 140 178 special cases; #X obj 254 234 list-minmax; #X msg 179 202 11 2 2 2; #X connect 2 0 6 0; #X connect 3 0 2 0; #X connect 4 0 8 0; #X connect 5 0 7 0; #X connect 6 0 8 0; #X connect 7 0 8 0; #X connect 7 1 3 0; #X connect 7 2 4 0; #X connect 8 0 12 0; #X connect 10 0 12 0; #X connect 12 0 0 0; #X connect 12 1 1 0; #X connect 13 0 12 0;
--- NEW FILE: list-math-help.pd --- #N canvas 431 198 659 551 10; #X obj 160 259 print L; #X msg 160 194 1 2 3 4 a b c; #X floatatom 270 193 5 0 0 0 - - -; #X obj 404 263 print L; #X msg 404 198 1 2 3 4 a b c; #X floatatom 514 197 5 0 0 0 - - -; #X obj 164 365 print L; #X msg 164 300 1 2 3 4 a b c; #X floatatom 274 299 5 0 0 0 - - -; #X obj 160 226 list-math *; #X msg 159 167 1 2 3 4 a b c , 10 20 30 x y z; #X text 144 93 Use as "list-math operator" where operator is some binary operator , that expr can understand , like + , - , * or /; #X obj 406 373 print L; #X msg 406 308 1 2 3 4 a b c; #X floatatom 516 307 5 0 0 0 - - -; #X obj 132 31 cnv 15 140 30 empty empty list-math 20 12 0 14 -233017 -66577 0; #X text 292 40 simple mathematical operations on lists.; #X obj 404 230 list-math +; #X obj 164 332 list-math /; #X obj 406 340 list-math -; #X connect 1 0 9 0; #X connect 2 0 9 1; #X connect 4 0 17 0; #X connect 5 0 17 1; #X connect 7 0 18 0; #X connect 8 0 18 1; #X connect 9 0 0 0; #X connect 10 0 9 0; #X connect 13 0 19 0; #X connect 14 0 19 1; #X connect 17 0 3 0; #X connect 18 0 6 0; #X connect 19 0 12 0;
--- NEW FILE: list-inter-gem-example.pd --- #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;
--- NEW FILE: take-two-help.pd --- #N canvas 309 319 748 381 10; #X obj 114 160 take-two; #X obj 114 203 print; #X msg 114 104 1 2 3 4; #X msg 176 103 list a b c d e f g h; #X text 192 153 take a list as input and print all combinations of length two without repetition.; #X connect 0 0 1 0; #X connect 2 0 0 0; #X connect 3 0 0 0;
--- NEW FILE: triple-scale.pd --- #N canvas 146 135 849 526 10; #X obj 224 150 unpack 0 0 0; #X obj 224 117 inlet; #X obj 189 312 pack 0 0 0; #X obj 189 333 outlet; #X obj 382 150 unpack 0 0 0; #X obj 382 117 inlet; #X obj 134 118 inlet; #X obj 134 146 t f f f; #X obj 133 207 expr $f1*($f3-$f2) + $f2; #X obj 221 234 expr $f1*($f3-$f2) + $f2; #X obj 311 255 expr $f1*($f3-$f2) + $f2; #X text 178 41 interpolate linearily between to points (x , y , z) ; #X text 455 118 point 2; #X text 280 117 point 1; #X text 142 99 0-1; #X connect 0 0 8 1; #X connect 0 1 9 1; #X connect 0 2 10 1; #X connect 1 0 0 0; #X connect 2 0 3 0; #X connect 4 0 8 2; #X connect 4 1 9 2; #X connect 4 2 10 2; #X connect 5 0 4 0; #X connect 6 0 7 0; #X connect 7 0 8 0; #X connect 7 1 9 0; #X connect 7 2 10 0; #X connect 8 0 2 0; #X connect 9 0 2 1; #X connect 10 0 2 2;
--- NEW FILE: last-x-help.pd --- #N canvas 446 464 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 - -; #X connect 0 0 2 0; #X connect 1 0 0 0; #X connect 4 0 0 1;
--- NEW FILE: last-x.pd --- #N canvas 417 318 723 395 10; #X obj 153 175 cnv 15 150 80 empty empty empty 20 12 0 14 -233017 -66577 0; #X floatatom 356 89 5 0 0 2 change-size - -; #X obj 326 112 t f b; #X text 378 110 first reset (b) , then set new length (f).; #X text 311 195 Right outlet is responsible to first fill the list ; #X text 312 211 Left outlet then only lets the smaller list pass.; #X obj 180 183 list; #X obj 326 54 inlet; #X obj 180 149 inlet; #X obj 180 302 outlet; #X obj 180 228 list split $1; #X connect 1 0 2 0; #X connect 2 0 10 1; #X connect 2 1 6 1; #X connect 6 0 10 0; #X connect 7 0 2 0; #X connect 8 0 6 0; #X connect 10 0 6 1; #X connect 10 0 9 0; #X connect 10 2 6 1;
--- NEW FILE: list-accum-help.pd --- #N canvas 247 182 450 300 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; #X connect 0 0 1 0; #X connect 0 0 3 0; #X connect 2 0 0 0; #X connect 4 0 0 0;
--- NEW FILE: list-dripslow.pd --- #N canvas 592 504 407 292 10; #N canvas 0 0 533 407 dripslow 0; #X obj 87 232 list split 1; #X obj 87 207 list append; #X obj 87 283 outlet; #X obj 87 83 inlet; #X obj 166 283 outlet; #X obj 159 81 inlet; #X obj 87 118 b; #X text 202 82 list; #X text 42 83 bang; #X text 210 283 EOL; #X text 28 282 element; #X obj 166 253 b; #X connect 0 0 2 0; #X connect 0 1 1 1; #X connect 0 2 11 0; #X connect 1 0 0 0; #X connect 3 0 6 0; #X connect 5 0 1 1; #X connect 6 0 1 0; #X connect 11 0 4 0; #X restore 149 136 pd dripslow; #X obj 149 199 outlet; #X obj 149 73 inlet; #X obj 221 199 outlet; #X obj 221 71 inlet; #X text 265 70 list; #X text 105 71 bang; #X text 274 200 EOL; #X text 94 198 element; #X connect 0 0 1 0; #X connect 0 1 3 0; #X connect 2 0 0 0; #X connect 4 0 0 1;
--- NEW FILE: list-makefilename.pd --- #N canvas 424 89 624 640 10; #X msg 119 113 1 2 3 4 a b c; #X text 251 117 <- click to test; #X obj 196 386 list; #X obj 77 499 list; #X obj 100 385 list prepend; #N canvas 0 0 533 407 drip 0; #X obj 64 206 list split 1; #X obj 64 123 until; #X obj 64 181 list append; #X obj 194 206 bang; #X text 146 90 First store list , then start the loop; #X text 163 118 "until" bangs its output until told to stop by a "bang" to its right inlet.; #X text 182 160 Store the remaining list.; #X text 239 205 third outlet of "split" tells us to stop.; #X obj 64 243 outlet; #X obj 64 57 inlet; #X obj 64 86 t b l; #X text 237 44 From list-help.pd; #X connect 0 0 8 0; #X connect 0 1 2 1; #X connect 0 2 3 0; #X connect 1 0 2 0; #X connect 2 0 0 0; #X connect 3 0 1 1; #X connect 9 0 10 0; #X connect 10 0 1 0; #X connect 10 1 2 1; #X restore 100 202 pd drip; #X obj 78 150 t b a b; #X obj 122 178 s $0-reset-result; #X obj 179 357 r $0-reset-result; #X text 260 177 clear result list; #X text 181 204 "Drip" (serialize) the list; #X text 258 389 Repack the list (think of the counter); #X text 124 496 Final result is built here; #X obj 78 81 inlet; #X obj 223 248 inlet; #X obj 77 530 outlet; #X obj 100 231 route symbol; #X obj 100 334 makefilename $1; #X text 202 228 only work on symbols; #X obj 223 272 symbol; #X msg 223 293 set $1; #X text 148 27 Use as "list-makefilename makefilename-arg". Right inlet can be used to change the arg to makefilename. Please only use symbol placeholders (== "%s"); #X connect 0 0 6 0; #X connect 2 0 4 1; #X connect 3 0 15 0; #X connect 4 0 2 0; #X connect 4 0 3 1; #X connect 5 0 16 0; #X connect 6 0 3 0; #X connect 6 1 5 0; #X connect 6 2 7 0; #X connect 8 0 4 1; #X connect 13 0 6 0; #X connect 14 0 19 0; #X connect 16 0 17 0; #X connect 16 1 4 0; #X connect 17 0 4 0; #X connect 19 0 20 0; #X connect 20 0 17 0;
--- NEW FILE: list-rev.pd --- #N canvas 575 483 566 351 10; #X obj 92 29 inlet; #N canvas 0 0 533 407 drip 0; #X obj 64 206 list split 1; #X obj 64 123 until; #X obj 64 181 list append; #X obj 194 206 bang; #X obj 64 243 outlet; #X obj 64 57 inlet; #X obj 64 86 t b l; #X text 237 44 From list-help.pd; #X obj 143 243 outlet; #X connect 0 0 4 0; #X connect 0 1 2 1; #X connect 0 2 3 0; #X connect 0 2 8 0; #X connect 1 0 2 0; #X connect 2 0 0 0; #X connect 3 0 1 1; #X connect 5 0 6 0; #X connect 6 0 1 0; #X connect 6 1 2 1; #X restore 92 94 pd drip; #X obj 148 141 t l; #X obj 92 141 list; #X obj 136 207 list; #X obj 92 54 t l b; #X obj 136 259 outlet; #X text 174 95 drip list; #X text 174 210 intermediate store , bang'd on list end.; #X text 178 140 repack in reverse order; #X connect 0 0 5 0; #X connect 1 0 3 0; #X connect 1 1 4 0; #X connect 2 0 3 1; #X connect 3 0 2 0; #X connect 3 0 4 1; #X connect 4 0 6 0; #X connect 5 0 1 0; #X connect 5 1 3 1;
--- NEW FILE: list-rot-help.pd --- #N canvas 471 516 479 301 10; #X msg 136 118 0 1 2 3 4 5 6 7; #X floatatom 201 151 5 0 0 0 ROT# - -; #X obj 136 230 print; #X obj 136 183 list-rot 3; #X text 124 33 list-rot; #X text 64 61 Rotate a list (move ROT# elements from front to back) ; #X text 63 81 ROT# has to be positive , negative ROT# will not rotate! ; #X connect 0 0 3 0; #X connect 1 0 3 1; #X connect 3 0 2 0;
--- NEW FILE: OSCprepend.pd --- #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;
--- NEW FILE: list-drip.pd --- #N canvas 0 0 450 300 10; #N canvas 0 0 533 407 drip 1; #X obj 64 206 list split 1; #X obj 64 123 until; #X obj 64 181 list append; #X obj 194 206 bang; #X text 146 90 First store list , then start the loop; #X text 163 118 "until" bangs its output until told to stop by a "bang" to its right inlet.; #X text 182 160 Store the remaining list.; #X text 239 205 third outlet of "split" tells us to stop.; #X obj 64 243 outlet; #X obj 64 57 inlet; #X text 237 44 From list-help.pd; #X obj 143 243 outlet; #X obj 64 86 t b a; #X connect 0 0 8 0; #X connect 0 1 2 1; #X connect 0 2 3 0; #X connect 0 2 11 0; #X connect 1 0 2 0; #X connect 2 0 0 0; #X connect 3 0 1 1; #X connect 9 0 12 0; #X connect 12 0 1 0; #X connect 12 1 2 1; #X restore 133 139 pd drip; #X obj 133 90 inlet; #X obj 133 212 outlet; #X obj 177 181 outlet; #X connect 0 0 2 0; #X connect 0 1 3 0; #X connect 1 0 0 0;
--- NEW FILE: list-dripslow-help.pd --- #N canvas 356 400 543 329 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; #X connect 0 0 8 1; #X connect 3 0 8 0; #X connect 8 0 1 0; #X connect 8 1 2 0;