Symbols and Singletons [was: Re: [PD] Segmented Patch Chords? PVar / PV?]

Frank Barknecht fbar at footils.org
Thu Feb 16 17:46:50 CET 2006


Hallo,
Enrique Erne hat gesagt: // Enrique Erne wrote:

> indeed singleton.pd would be useful sometimes.

Attached is a version with slightly different behaviour. It is
intended to be able to create any object including up to 10 arguments.
Additionally I chose to use a special singleton "tag" as first
argument to support creating "twingletons". You'll see in the
help-patch what I mean.

Ciao
-- 
 Frank Barknecht                 _ ______footils.org_ __goto10.org__
-------------- next part --------------
#N canvas 160 304 587 350 10;
#X obj 259 234 outlet;
#X text 83 259 If the argument is not equal to 0 \, use it. Pd init
arguments to 0 so unused arguments will be 0;
#X obj 143 116 select 0;
#X text 82 296 This is useful to have internals inited \, but not reset
if there is no argument specified.;
#X obj 143 190 select 0;
#X text 275 172 if 2nd arg \, then use as default value;
#X obj 143 20 inlet;
#X obj 259 13 inlet;
#X text 297 14 convenience inlet;
#X obj 143 96 list append \$1;
#X obj 143 169 list append \$2;
#X obj 143 55 bang;
#X connect 2 0 10 0;
#X connect 2 1 0 0;
#X connect 4 1 0 0;
#X connect 6 0 11 0;
#X connect 7 0 0 0;
#X connect 9 0 2 0;
#X connect 10 0 4 0;
#X connect 11 0 9 0;
-------------- next part --------------
#N canvas 184 74 837 725 10;
#N canvas 0 22 236 173 1108-container 0;
#X restore 227 18 pd \$0-container;
#X obj 156 360 f \$0;
#X obj 156 380 makefilename pd-%d-container;
#X obj 47 18 loadbang;
#X obj 47 611 outlet;
#X obj 47 132 value \$1.st.req;
#X obj 47 311 select 0;
#X obj 47 157 t f f;
#X obj 77 177 + 1;
#X obj 77 197 value \$1.st.req;
#X obj 47 335 t b b;
#X msg 47 589 1;
#X obj 156 401 t s s;
#X msg 186 423 \; \$1 clear;
#X text 357 607 more simple-minded \, we would just set \$1.st.req
to "1" instead of incrementing it each time. (however \, this way we
also now how many instances of the class we have). and of course we
could use just one [value] - i use 2 for better readability.;
#X obj 161 134 del 0;
#X obj 161 153 value \$1.st.req;
#X floatatom 161 176 5 0 0 0 - - -;
#X text 201 179 wow! the number of instances;
#N canvas 0 0 570 825 1108-arguments 0;
#X obj 36 485 outlet;
#X obj 36 371 r \$0-tolist;
#X obj 171 87 t b a;
#X obj 201 109 s \$0-tolist;
#X obj 171 156 t b a;
#X obj 201 178 s \$0-tolist;
#X obj 171 225 t b a;
#X obj 201 247 s \$0-tolist;
#X obj 171 299 t b a;
#X obj 201 321 s \$0-tolist;
#X obj 171 64 list_argument \$2;
#X obj 171 134 list_argument \$3;
#X obj 171 202 list_argument \$4;
#X obj 171 276 list_argument \$5;
#X obj 171 357 list_argument \$6;
#X obj 171 35 inlet;
#X obj 127 426 t a;
#X obj 36 426 list prepend;
#X obj 171 381 t b a;
#X obj 201 403 s \$0-tolist;
#X obj 171 461 t b a;
#X obj 201 483 s \$0-tolist;
#X obj 171 437 list_argument \$7;
#X obj 170 537 t b a;
#X obj 200 559 s \$0-tolist;
#X obj 169 607 t b a;
#X obj 199 629 s \$0-tolist;
#X obj 169 682 t b a;
#X obj 199 704 s \$0-tolist;
#X obj 170 513 list_argument \$8;
#X obj 169 583 list_argument \$9;
#X obj 169 658 list_argument \$10;
#X obj 169 757 t b a;
#X obj 199 779 s \$0-tolist;
#X obj 169 733 list_argument \$11;
#X connect 1 0 17 0;
#X connect 2 0 11 0;
#X connect 2 1 3 0;
#X connect 4 0 12 0;
#X connect 4 1 5 0;
#X connect 6 0 13 0;
#X connect 6 1 7 0;
#X connect 8 0 14 0;
#X connect 8 1 9 0;
#X connect 10 0 2 0;
#X connect 11 0 4 0;
#X connect 12 0 6 0;
#X connect 13 0 8 0;
#X connect 14 0 18 0;
#X connect 15 0 10 0;
#X connect 16 0 17 1;
#X connect 17 0 16 0;
#X connect 17 0 0 0;
#X connect 18 0 22 0;
#X connect 18 1 19 0;
#X connect 20 0 29 0;
#X connect 20 1 21 0;
#X connect 22 0 20 0;
#X connect 23 0 30 0;
#X connect 23 1 24 0;
#X connect 25 0 31 0;
#X connect 25 1 26 0;
#X connect 27 0 34 0;
#X connect 27 1 28 0;
#X connect 29 0 23 0;
#X connect 30 0 25 0;
#X connect 31 0 27 0;
#X connect 32 1 33 0;
#X connect 34 0 32 0;
#X restore 365 379 pd \$0-arguments;
#X obj 77 458 list;
#X msg 152 587;
#X msg 509 377 set \, addsemi \, adddollar 1 \, add2 obj 10 10;
#X obj 47 48 t b b b b b;
#X obj 283 470 t a b;
#X obj 368 510 + 1;
#X msg 336 536 adddollar \$1;
#X msg 362 486 2;
#X obj 338 512 f 2;
#X obj 84 481 list prepend;
#X msg 274 561 set;
#X obj 407 467 b;
#X connect 1 0 2 0;
#X connect 2 0 12 0;
#X connect 3 0 23 0;
#X connect 5 0 7 0;
#X connect 6 0 10 0;
#X connect 7 0 6 0;
#X connect 7 1 8 0;
#X connect 8 0 9 0;
#X connect 10 0 11 0;
#X connect 10 1 20 0;
#X connect 11 0 4 0;
#X connect 12 0 29 1;
#X connect 12 1 13 0;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 19 0 24 0;
#X connect 20 0 29 0;
#X connect 22 0 21 0;
#X connect 22 0 31 0;
#X connect 23 0 5 0;
#X connect 23 1 1 0;
#X connect 23 2 15 0;
#X connect 23 3 19 0;
#X connect 23 4 22 0;
#X connect 24 0 20 1;
#X connect 24 1 28 0;
#X connect 25 0 28 1;
#X connect 26 0 21 0;
#X connect 27 0 28 1;
#X connect 28 0 25 0;
#X connect 28 0 26 0;
#X connect 29 0 21 0;
#X connect 30 0 21 0;
#X connect 31 0 27 0;
-------------- next part --------------
#N canvas 415 240 552 487 10;
#X obj 79 44 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
;
#X obj 80 137 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
;
#X obj 80 230 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
;
#X obj 245 43 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 269 139 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 295 230 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 75 339 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
;
#X obj 75 385 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 80 117 singleton TABLE_X table x;
#X obj 80 211 singleton TABLE_Y table y 100;
#X obj 269 119 singleton TABLE_X table x;
#X obj 295 211 singleton TABLE_Y table y 100;
#X obj 75 320 singleton LIST list prepend 1 2 3 4 5 6 7 8;
#X obj 75 365 singleton LIST list prepend 1 2 3 4 5 6 7 8;
#X text 85 292 Up to 10 arguments supported;
#X obj 81 85 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
;
#X obj 247 84 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 79 24 singleton MUL_A *;
#X obj 245 23 singleton MUL_A *;
#X obj 248 65 singleton MUL_B *;
#X obj 81 65 singleton MUL_B *;
#X connect 8 0 1 0;
#X connect 9 0 2 0;
#X connect 10 0 4 0;
#X connect 11 0 5 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 17 0 0 0;
#X connect 18 0 3 0;
#X connect 19 0 16 0;
#X connect 20 0 15 0;


More information about the Pd-list mailing list