From eb23d182721b9cee66f9013bea54e32e64f51e13 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 7 Feb 2006 03:55:12 +0000 Subject: after much discussion with Frank and IO, I think these objecst are properly vetted. But they belong somewhere else, not purepd. We just need a name for such a library svn path=/trunk/abstractions/purepd/; revision=4561 --- any_argument-help.pd | 64 +++++++++++++++++++++++++++++++++++++++++++++++++ any_argument.pd | 26 ++++++++++++++++++++ float_argument.pd | 37 +++++++++++++++++++++------- symbol_argument-help.pd | 53 ++++++++++++++++++++++++++++++++++++++++ symbol_argument.pd | 50 ++++++++++++++++++++++++++++---------- 5 files changed, 208 insertions(+), 22 deletions(-) create mode 100644 any_argument-help.pd create mode 100644 any_argument.pd create mode 100644 symbol_argument-help.pd diff --git a/any_argument-help.pd b/any_argument-help.pd new file mode 100644 index 0000000..e3cbc0c --- /dev/null +++ b/any_argument-help.pd @@ -0,0 +1,64 @@ +#N canvas 373 226 558 485 10; +#X msg 195 93 bang; +#X msg 49 93 bang; +#X msg 51 209 bang; +#X obj 50 266 print blank; +#X msg 46 345 bang; +#X msg 241 346 bang; +#X obj 49 119 any_argument word; +#X obj 51 241 any_argument; +#X obj 195 119 any_argument 5; +#X obj 46 381 any_argument \$1 default; +#X obj 241 382 any_argument \$1 256; +#X msg 204 207 bang; +#X obj 203 264 print blank; +#X obj 204 239 any_argument \$1; +#X text 15 12 [any_argument]; +#X obj 32 265 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 185 265 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 194 145 5 0 0 1 float - -; +#X symbolatom 48 146 6 0 0 1 symbol - -; +#X text 26 37 This object can take any kind of argument and outputs +either a symbol or a float \, depending on whether the argument is +numeric or not.; +#X text 32 295 If you set a second argument \, it will be used as the +default when the argument is blank. An argument of 0 is also ignored. +; +#X floatatom 241 412 5 0 0 0 - - -; +#X msg 386 346 bang; +#X floatatom 386 412 5 0 0 0 - - -; +#X obj 386 382 any_argument 0 256; +#X symbolatom 46 408 10 0 0 0 - - -; +#X msg 322 92 bang; +#X obj 322 118 any_argument 255.255.255.255; +#X symbolatom 322 144 15 0 0 1 symbol - -; +#X msg 362 207 bang; +#X obj 361 264 print blank; +#X obj 343 265 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 362 239 any_argument 0; +#X text 24 173 If the first argument is blank or 0 \, there is no output +(Pd initializes all variables to 0):; +#X connect 0 0 8 0; +#X connect 1 0 6 0; +#X connect 2 0 7 0; +#X connect 4 0 9 0; +#X connect 5 0 10 0; +#X connect 6 0 18 0; +#X connect 7 0 3 0; +#X connect 7 0 15 0; +#X connect 8 0 17 0; +#X connect 9 0 25 0; +#X connect 10 0 21 0; +#X connect 11 0 13 0; +#X connect 13 0 12 0; +#X connect 13 0 16 0; +#X connect 22 0 24 0; +#X connect 24 0 23 0; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X connect 29 0 32 0; +#X connect 32 0 30 0; +#X connect 32 0 31 0; diff --git a/any_argument.pd b/any_argument.pd new file mode 100644 index 0000000..40ed660 --- /dev/null +++ b/any_argument.pd @@ -0,0 +1,26 @@ +#N canvas 160 301 515 350 10; +#X obj 189 234 outlet; +#X text 13 259 If the argument is not equal to 0 \, use it. Pd init +arguments to 0 so unused arguments will be 0; +#X obj 73 116 select 0; +#X text 12 296 This is useful to have internals inited \, but not reset +if there is no argument specified.; +#X obj 73 190 select 0; +#X text 205 172 if 2nd arg \, then use as default value; +#X obj 73 13 inlet; +#X obj 189 13 inlet; +#X text 227 14 convenience inlet; +#X obj 73 96 list append \$1; +#X obj 73 169 list append \$2; +#X obj 73 55 bang; +#X obj 188 56 list; +#X text 194 74 arguments output symbols so this should too; +#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 12 0; +#X connect 9 0 2 0; +#X connect 10 0 4 0; +#X connect 11 0 9 0; +#X connect 12 0 0 0; diff --git a/float_argument.pd b/float_argument.pd index ad44b17..a524549 100644 --- a/float_argument.pd +++ b/float_argument.pd @@ -1,14 +1,33 @@ -#N canvas 390 291 482 332 10; -#X obj 143 96 f \$1; -#X obj 244 203 outlet; -#X obj 143 14 loadbang; +#N canvas 554 317 498 348 10; +#X obj 214 233 outlet; #X text 40 248 If the argument is not equal to 0 \, use it. Pd init arguments to 0 so unused arguments will be 0; -#X obj 194 153 select 0; -#X obj 142 51 trigger bang bang; +#X obj 113 116 select 0; #X text 39 285 This is useful to have internals inited \, but not reset if there is no argument specified.; -#X connect 0 0 4 0; +#X obj 113 190 select 0; +#X obj 113 169 float \$2; +#X obj 113 96 float \$1; +#X text 176 181 if 2nd arg \, then use as default value; +#X obj 113 14 inlet; +#X obj 259 13 inlet; +#X text 297 14 convenience inlet; +#X obj 229 59 route float; +#X text 316 56 just in case; +#X obj 261 138 purepd_error float_argument; +#X obj 261 92 bang; +#X obj 114 49 bang; +#X text 5 14 loadbang inlet; +#X msg 261 114 wrong data type on right inlet; #X connect 2 0 5 0; -#X connect 4 1 1 0; -#X connect 5 0 0 0; +#X connect 2 1 0 0; +#X connect 4 1 0 0; +#X connect 5 0 4 0; +#X connect 6 0 2 0; +#X connect 8 0 15 0; +#X connect 9 0 11 0; +#X connect 11 0 0 0; +#X connect 11 1 14 0; +#X connect 14 0 17 0; +#X connect 15 0 6 0; +#X connect 17 0 13 0; diff --git a/symbol_argument-help.pd b/symbol_argument-help.pd new file mode 100644 index 0000000..fc0d7ae --- /dev/null +++ b/symbol_argument-help.pd @@ -0,0 +1,53 @@ +#N canvas 661 259 509 458 10; +#X msg 49 93 bang; +#X msg 51 209 bang; +#X obj 50 266 print blank; +#X msg 36 346 bang; +#X msg 241 346 bang; +#X msg 204 207 bang; +#X obj 203 264 print blank; +#X obj 32 265 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 185 265 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X symbolatom 48 146 6 0 0 1 symbol - -; +#X text 26 37 This object can take any kind of argument and outputs +either a symbol or a float \, depending on whether the argument is +numeric or not.; +#X symbolatom 36 409 10 0 0 0 - - -; +#X msg 202 92 bang; +#X symbolatom 202 144 15 0 0 1 symbol - -; +#X msg 362 207 bang; +#X obj 361 264 print blank; +#X obj 343 265 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 24 173 If the first argument is blank or 0 \, there is no output +(Pd initializes all variables to 0):; +#X symbolatom 241 411 10 0 0 0 - - -; +#X obj 202 118 symbol_argument 255.255.255.255; +#X obj 49 119 symbol_argument word; +#X obj 51 241 symbol_argument; +#X obj 362 239 symbol_argument 0; +#X obj 36 382 symbol_argument \$1 default; +#X obj 204 239 symbol_argument \$1; +#X text 32 295 If you set a second argument \, it will be used as the +default when the first argument is blank. Also if the first argument +is numeric \, the default will be used.; +#X obj 242 382 symbol_argument 44 default; +#X connect 0 0 20 0; +#X connect 1 0 21 0; +#X connect 3 0 23 0; +#X connect 4 0 26 0; +#X connect 5 0 24 0; +#X connect 12 0 19 0; +#X connect 14 0 22 0; +#X connect 19 0 13 0; +#X connect 20 0 9 0; +#X connect 21 0 2 0; +#X connect 21 0 7 0; +#X connect 22 0 15 0; +#X connect 22 0 16 0; +#X connect 23 0 11 0; +#X connect 24 0 6 0; +#X connect 24 0 8 0; +#X connect 26 0 18 0; diff --git a/symbol_argument.pd b/symbol_argument.pd index 29c72bc..7d7f178 100644 --- a/symbol_argument.pd +++ b/symbol_argument.pd @@ -1,13 +1,37 @@ -#N canvas 0 22 454 304 10; -#X obj 142 28 loadbang; -#X obj 141 63 trigger bang bang; -#X obj 256 92 symbol; -#X obj 141 129 select symbol; -#X obj 141 91 symbol \$1; -#X obj 227 261 outlet; -#X connect 0 0 1 0; -#X connect 1 0 4 0; -#X connect 1 1 2 0; -#X connect 2 0 3 1; -#X connect 3 1 5 0; -#X connect 4 0 3 0; +#N canvas 63 319 466 316 10; +#X obj 37 48 trigger bang bang; +#X obj 151 68 symbol; +#X obj 37 94 select symbol; +#X obj 37 68 symbol \$1; +#X obj 201 274 outlet; +#X obj 226 11 inlet; +#X text 264 12 convenience inlet; +#X obj 38 13 inlet; +#X text 275 56 keep things consistent; +#X obj 226 57 list; +#X obj 226 78 route symbol; +#X obj 228 108 bang; +#X msg 228 130 wrong data type on right inlet; +#X obj 229 154 purepd_error symbol_argument; +#X obj 17 158 trigger bang bang; +#X obj 131 178 symbol; +#X obj 17 204 select symbol; +#X obj 17 178 symbol \$2; +#X connect 0 0 3 0; +#X connect 0 1 1 0; +#X connect 1 0 2 1; +#X connect 2 0 14 0; +#X connect 2 1 4 0; +#X connect 3 0 2 0; +#X connect 5 0 9 0; +#X connect 7 0 0 0; +#X connect 9 0 10 0; +#X connect 10 0 4 0; +#X connect 10 1 11 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 14 0 17 0; +#X connect 14 1 15 0; +#X connect 15 0 16 1; +#X connect 16 1 4 0; +#X connect 17 0 16 0; -- cgit v1.2.1