Update of /cvsroot/pure-data/abstractions/footils/list-abs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7520
Modified Files: Tag: branch-v0-39-2-extended list-fifo-help.pd list-fifo.pd Added Files: Tag: branch-v0-39-2-extended list-lifo-help.pd list-lifo.pd Log Message: fixes for list-fifo, added list-lifo while at it.
Index: list-fifo-help.pd =================================================================== RCS file: /cvsroot/pure-data/abstractions/footils/list-abs/list-fifo-help.pd,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** list-fifo-help.pd 28 May 2007 12:29:32 -0000 1.1.2.1 --- list-fifo-help.pd 30 May 2007 19:09:22 -0000 1.1.2.2 *************** *** 1,40 **** ! #N canvas 256 47 862 626 10; ! #X obj 192 535 print; ! #X obj 192 331 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 ! -1 -1; ! #X msg 299 357 1 2 3 4 5; ! #X symbolatom 312 378 10 0 0 0 - - -; ! #X floatatom 325 395 5 0 0 0 - - -; ! #X symbolatom 419 424 10 0 0 0 - - -; ! #X msg 109 412 clear; ! #X obj 250 505 bng 15 250 50 0 empty empty EOL 17 7 1 10 -262144 -1 -1; ! #X text 117 175 CAUTION:; ! #X text 118 193 When a message contains the delimiter symbol , it ! is falsely split into two parts.; ! #X text 117 110 [list-fifo] can be used to limit the number of messages ! passing during a certain time (might be usefull to limit the used network ! bandwidth). It also can be used as a sequencer.; ! #X text 81 29 [list-fifo]; ! #X text 118 228 Default delimiter between messages is the empty symbol. ! You can customize this with the first argument:; ! #X text 61 397 clear stored list; ! #X text 163 314 trigger output; ! #X text 288 315 store lists or elements; ! #X text 416 407 manually change delimiter symbol; ! #X text 119 55 [list-fifo] stores incoming (list-)messages and outputs them one by one on incoming bangs in the order they arrive like a FIFO: first in , first out.; ! #X text 104 580 Based on a patch and idea by Roman Haefli 2006; ! #X obj 192 476 list-fifo; ! #X msg 290 337 eins due trois four; ! #X obj 121 270 list-fifo MY_DELIMITER; ! #X connect 1 0 19 0; ! #X connect 2 0 19 1; ! #X connect 3 0 19 1; ! #X connect 4 0 19 1; ! #X connect 5 0 19 2; ! #X connect 6 0 19 0; ! #X connect 19 0 0 0; ! #X connect 19 1 7 0; ! #X connect 20 0 19 1; --- 1,39 ---- ! #N canvas 256 47 587 530 10; ! #X msg 247 186 1 2 3 4 5; ! #X symbolatom 260 207 10 0 0 0 - - -; ! #X floatatom 273 224 5 0 0 0 - - -; ! #X obj 198 339 bng 15 250 50 0 empty empty EOL 17 7 1 10 -262144 -1 -1; ! #X text 59 38 [list-fifo]; ! #X text 97 64 [list-fifo] stores incoming (list-)messages and outputs them one by one on incoming bangs in the order they arrive like a FIFO: first in , first out.; ! #X msg 295 274 bang; ! #X obj 140 305 list-fifo; ! #X text 82 439 2007 Frank Barknecht; ! #X msg 238 166 a b c; ! #X msg 140 149 bang; ! #X text 230 147 store lists or elements ("push"); ! #X text 111 125 trigger output ("pop"); ! #X text 277 255 clear stored list ("reset"); ! #N canvas 0 0 450 300 show 0; ! #X obj 60 48 inlet; ! #X obj 60 72 list prepend set; ! #X obj 60 97 list trim; ! #X obj 60 126 outlet; ! #X connect 0 0 1 0; ! #X connect 1 0 2 0; ! #X connect 2 0 3 0; ! #X restore 140 364 pd show; ! #X msg 74 262 clear; ! #X msg 140 390; ! #X connect 0 0 7 1; ! #X connect 1 0 7 1; ! #X connect 2 0 7 1; ! #X connect 6 0 7 2; ! #X connect 7 0 14 0; ! #X connect 7 1 3 0; ! #X connect 9 0 7 1; ! #X connect 10 0 7 0; ! #X connect 14 0 16 0; ! #X connect 15 0 7 0;
--- NEW FILE: list-lifo.pd --- #N canvas 300 195 692 556 10; #X obj 268 56 inlet; #X obj 268 184 t a a; #X obj 268 250 list prepend; #X obj 366 302 t b a; #X obj 366 325 list; #X obj 143 379 list; #X obj 247 431 list split 1; #X obj 143 401 t a a; #X obj 182 462 list split; #X obj 182 498 outlet; #X obj 71 56 inlet; #X text 380 252 prepend size of list; #X obj 326 494 outlet; #X obj 347 217 list-len; #X obj 366 55 inlet; #X obj 143 431 list split 1; #X text 419 304 store lists; #X text 348 430 get length of next stored list and split it off.; #X text 270 34 push; #X text 365 35 reset stack; #X obj 366 79 b; #X obj 71 138 route clear; #X obj 143 164 b; #X text 69 34 pop (or clear); #X obj 268 301 list append; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 1 13 0; #X connect 2 0 24 0; #X connect 3 0 4 0; #X connect 3 1 4 1; #X connect 4 0 5 1; #X connect 4 0 24 1; #X connect 5 0 7 0; #X connect 6 0 8 1; #X connect 6 2 12 0; #X connect 7 0 15 0; #X connect 7 1 6 0; #X connect 8 0 9 0; #X connect 8 1 3 0; #X connect 10 0 21 0; #X connect 13 0 2 1; #X connect 14 0 20 0; #X connect 15 1 8 0; #X connect 20 0 3 0; #X connect 21 0 3 0; #X connect 21 1 22 0; #X connect 22 0 5 0; #X connect 24 0 3 0;
--- NEW FILE: list-lifo-help.pd --- #N canvas 256 47 587 530 10; #X msg 247 186 1 2 3 4 5; #X symbolatom 260 207 10 0 0 0 - - -; #X floatatom 273 224 5 0 0 0 - - -; #X obj 198 339 bng 15 250 50 0 empty empty EOL 17 7 1 10 -262144 -1 -1; #X msg 295 274 bang; #X msg 238 166 a b c; #X msg 140 149 bang; #X text 230 147 store lists or elements ("push"); #X text 111 125 trigger output ("pop"); #X text 277 255 clear stored list ("reset"); #X obj 140 305 list-lifo; #X text 60 38 [list-lifo]; #X text 97 64 [list-lifo] stores incoming (list-)messages and outputs them one by one on incoming bangs in the opposite order of arrival like a LIFO: Last in , first out.; #N canvas 0 0 450 300 show 0; #X obj 60 48 inlet; #X obj 60 72 list prepend set; #X obj 60 97 list trim; #X obj 60 126 outlet; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 2 0 3 0; #X restore 140 364 pd show; #X msg 140 390; #X msg 74 262 clear; #X text 82 439 2007 Frank Barknecht; #X connect 0 0 10 1; #X connect 1 0 10 1; #X connect 2 0 10 1; #X connect 4 0 10 2; #X connect 5 0 10 1; #X connect 6 0 10 0; #X connect 10 0 13 0; #X connect 10 1 3 0; #X connect 13 0 14 0; #X connect 15 0 10 0;
Index: list-fifo.pd =================================================================== RCS file: /cvsroot/pure-data/abstractions/footils/list-abs/list-fifo.pd,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** list-fifo.pd 28 May 2007 12:29:32 -0000 1.1.2.1 --- list-fifo.pd 30 May 2007 19:09:22 -0000 1.1.2.2 *************** *** 1,56 **** ! #N canvas 252 152 752 488 10; ! #X obj 22 272 list split 1; ! #X obj 22 224 until; ! #X obj 259 67 list append [delim]; ! #X obj 22 395 list; ! #X obj 22 321 t b b; ! #X obj 22 26 inlet trigger; ! #X obj 259 25 inlet list; ! #X obj 423 26 inlet delimiter; ! #X obj 22 419 outlet; ! #X obj 101 420 outlet; ! #X obj 52 198 b; ! #X obj 423 78 symbol $1; ! #X obj 441 48 loadbang; ! #X obj 423 124 route symbol; ! #X obj 22 75 route bang clear; ! #X obj 22 250 list; ! #X obj 259 155 list-extend; ! #X obj 115 365 list-extend; ! #X obj 301 131 t b b; ! #X obj 157 338 t b b; ! #X obj 22 296 select [delim]; ! #X text 108 439 EOL; ! #X text 20 440 list; ! #X text 334 310 Based on a patch and idea by Roman Haefli 2006; ! #X connect 0 0 20 0; ! #X connect 0 1 15 1; ! #X connect 0 1 16 1; ! #X connect 0 2 9 0; ! #X connect 0 2 10 0; ! #X connect 1 0 15 0; ! #X connect 2 0 16 0; ! #X connect 3 0 8 0; ! #X connect 4 0 3 0; ! #X connect 4 1 1 1; ! #X connect 4 1 17 1; ! #X connect 5 0 14 0; ! #X connect 6 0 2 0; ! #X connect 7 0 11 0; ! #X connect 10 0 1 1; ! #X connect 11 0 13 0; ! #X connect 12 0 11 0; ! #X connect 13 0 2 1; ! #X connect 13 0 20 1; ! #X connect 14 0 1 0; ! #X connect 14 1 18 0; ! #X connect 14 1 19 0; ! #X connect 15 0 0 0; ! #X connect 16 0 15 1; ! #X connect 17 0 3 1; ! #X connect 18 0 16 0; ! #X connect 18 1 16 1; ! #X connect 19 0 17 0; ! #X connect 19 1 17 1; ! #X connect 20 0 4 0; ! #X connect 20 1 17 0; --- 1,50 ---- ! #N canvas 300 195 692 556 10; ! #X obj 268 56 inlet; ! #X obj 268 184 t a a; ! #X obj 268 250 list prepend; ! #X obj 268 301 list prepend; ! #X obj 366 302 t b a; ! #X obj 366 325 list; ! #X obj 143 379 list; ! #X obj 247 431 list split 1; ! #X obj 143 401 t a a; ! #X obj 182 462 list split; ! #X obj 182 498 outlet; ! #X obj 71 56 inlet; ! #X text 380 252 prepend size of list; ! #X obj 326 494 outlet; ! #X obj 347 217 list-len; ! #X obj 366 55 inlet; ! #X obj 143 431 list split 1; ! #X text 419 304 store lists; ! #X text 348 430 get length of next stored list and split it off.; ! #X text 270 34 push; ! #X text 365 35 reset stack; ! #X obj 366 79 b; ! #X obj 71 138 route clear; ! #X obj 143 164 b; ! #X text 69 34 pop (or clear); ! #X connect 0 0 1 0; ! #X connect 1 0 2 0; ! #X connect 1 1 14 0; ! #X connect 2 0 3 0; ! #X connect 3 0 4 0; ! #X connect 4 0 5 0; ! #X connect 4 1 5 1; ! #X connect 5 0 3 1; ! #X connect 5 0 6 1; ! #X connect 6 0 8 0; ! #X connect 7 0 9 1; ! #X connect 7 2 13 0; ! #X connect 8 0 16 0; ! #X connect 8 1 7 0; ! #X connect 9 0 10 0; ! #X connect 9 1 4 0; ! #X connect 11 0 22 0; ! #X connect 14 0 2 1; ! #X connect 15 0 21 0; ! #X connect 16 1 9 0; ! #X connect 21 0 4 0; ! #X connect 22 0 4 0; ! #X connect 22 1 23 0; ! #X connect 23 0 6 0;