From f4ebc483412b6d3dd3c98b69c61385bee1e2d6b3 Mon Sep 17 00:00:00 2001 From: Thomas O Fredericks Date: Tue, 27 Oct 2009 20:14:18 +0000 Subject: Added a lot of help patches svn path=/trunk/externals/tof/; revision=12688 --- help/argument-abs.pd | 30 -- help/argument-help.pd | 6 +- help/param-abs.pd | 36 --- help/param-help.pd | 807 +++++++++++++++++++++++++++++++++++++++----------- help/param2-abs.pd | 24 -- help/test-argument.pd | 30 ++ help/test-param-2.pd | 29 ++ help/test-param.pd | 42 +++ 8 files changed, 730 insertions(+), 274 deletions(-) delete mode 100644 help/argument-abs.pd delete mode 100644 help/param-abs.pd delete mode 100644 help/param2-abs.pd create mode 100644 help/test-argument.pd create mode 100644 help/test-param-2.pd create mode 100644 help/test-param.pd diff --git a/help/argument-abs.pd b/help/argument-abs.pd deleted file mode 100644 index d227c72..0000000 --- a/help/argument-abs.pd +++ /dev/null @@ -1,30 +0,0 @@ -#N canvas 336 203 651 389 10; -#X obj 158 36 inlet; -#X obj 158 92 t b b b; -#X text 220 105 first; -#X text 159 192 second; -#X text 73 282 third; -#X obj 158 67 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 210 166 print arg1; -#X obj 134 246 print arg2; -#X obj 11 330 print arg3; -#X obj 210 130 tof/argument 1; -#X obj 134 213 tof/argument 2 100; -#X obj 11 303 tof/argument 3 500; -#X text 204 24 This patch is part of [tof/argument]'s help file.; -#X text 207 42 Its creation arguments are: a b; -#X text 305 127 <-Outputs the first patch creation argument: "a"; -#X text 131 300 <- Outputs 500 because there is not third patch argument. -; -#X text 257 206 <-Outputs "100" because the type of the default value -\, a float 100 \, does not match the type of the patch's second argument -\, a symbol "b".; -#X connect 0 0 5 0; -#X connect 1 0 11 0; -#X connect 1 1 10 0; -#X connect 1 2 9 0; -#X connect 5 0 1 0; -#X connect 9 0 6 0; -#X connect 10 0 7 0; -#X connect 11 0 8 0; diff --git a/help/argument-help.pd b/help/argument-help.pd index a6fbd47..dbfd5cd 100644 --- a/help/argument-help.pd +++ b/help/argument-help.pd @@ -14,11 +14,10 @@ #X obj 422 303 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 422 351 print; -#X text 618 482 <- open it; +#X text 618 484 <- open it; #X obj 422 154 tof/argument 1; #X obj 419 244 tof/argument 1 32; #X obj 422 325 tof/argument; -#X obj 496 485 ./argument-abs a b; #X text 5 176 [argument n default]; #X text -4 17 description: Outputs the patch's creation arguments individually. ; @@ -47,7 +46,8 @@ type as the default value \, the default value will be outputed instead. #X text -4 46 tags: initialization patch; #X text 1 126 see also:; #X obj 73 129 tof/arguments; -#X connect 0 0 14 0; +#X obj 496 485 ./test-argument a b; +#X connect 0 0 29 0; #X connect 4 0 11 0; #X connect 5 0 12 0; #X connect 8 0 13 0; diff --git a/help/param-abs.pd b/help/param-abs.pd deleted file mode 100644 index ec40bed..0000000 --- a/help/param-abs.pd +++ /dev/null @@ -1,36 +0,0 @@ -#N canvas 6 0 1018 686 10; -#X obj 225 477 outlet~; -#X obj 55 21 inlet; -#X text 179 26 This abstraction is an example for the param external. -; -#X floatatom 223 247 0 0 0 0 - - -; -#X obj 223 317 +~; -#X text 153 168 carrier; -#X text 152 186 frequency; -#X obj 224 359 osc~; -#X obj 56 97 print PARAM_NOTFOUND; -#X obj 223 171 loadbang; -#X obj 225 428 *~; -#X obj 315 400 line~; -#X msg 316 376 \$1 100; -#X obj 317 325 loadbang; -#X obj 321 300 param2-abs /id modulation; -#X obj 317 349 tof/param /volume 0 /g slider 0 1; -#X obj 660 195 iemguts/propertybang; -#X obj 660 223 tof/param gui; -#X obj 55 66 tof/param route; -#X obj 223 202 tof/param /carrier 800 /g slider 200 2000; -#X connect 1 0 18 0; -#X connect 3 0 4 0; -#X connect 4 0 7 0; -#X connect 7 0 10 0; -#X connect 9 0 19 0; -#X connect 10 0 0 0; -#X connect 11 0 10 1; -#X connect 12 0 11 0; -#X connect 13 0 15 0; -#X connect 14 0 4 1; -#X connect 15 0 12 0; -#X connect 16 0 17 0; -#X connect 18 0 8 0; -#X connect 19 0 3 0; diff --git a/help/param-help.pd b/help/param-help.pd index abcf5ab..cd4cfff 100644 --- a/help/param-help.pd +++ b/help/param-help.pd @@ -1,202 +1,647 @@ -#N canvas 98 175 722 412 10; -#X obj -23 2 cnv 15 400 100 empty empty empty 20 12 0 14 -249661 -66577 +#N canvas 430 490 403 396 10; +#N canvas 429 334 525 231 /id 0; +#X text 26 42 Abstraction /id:; +#X text 63 67 If an abstraction's arguments contains the "/id" keyword +\, the symbol following the "/id" keyword \, instead of the abstraction's +name \, will be used to build the path.; +#X restore 327 340 pd /id; +#N canvas 1318 214 933 657 /name 0; +#X floatatom 459 165 5 0 0 0 - - -; +#X floatatom 459 215 5 0 0 0 - - -; +#X obj 503 168 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 454 19 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577 0; -#X text -18 54 author: mrtoftrash@gmail.com; -#X text -19 75 version: 2009-09-19 (localized release); -#X text -18 1 description: [param] is a state saving and message routing -system.; -#X text -19 33 tags: state routing; -#X text -17 106 [param] is to state saving what [list] is to lists -:); -#X floatatom 144 229 5 0 0 0 - - -; -#X obj 136 351 dac~; -#X obj 184 275 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 --1 -1 0 1; -#X msg 144 251 /modulation/index \$1; -#X msg 181 297 /volume \$1; -#N canvas 237 177 542 366 [param 0; -#X text 210 53 argument 1: param name (must start with a slash); -#X obj 21 56 tof/param /my_name my_value; -#X text 210 70 argument 2...: param value (can be anything; -#X text 210 86 argument ...: special keywords; -#X text 24 120 A param object creates a storage area for anything. -This data can be accessed through a unique symbolic path.; -#X text 24 227 If the param is inside an abstraction (or inside an -abstraction contained inside another abstraction an so forth) \, the -path starts at the root and follows every child patch (abstraction) -until it reaches the param object \, at which point the param's name -is appended:; -#X text 85 303 /abstraction's name/.../param's name; -#X text 147 171 /my_name; -#X restore -16 164 pd [param /name]; -#N canvas 0 0 975 555 keywords 0; -#X text 565 152 nbx: creates a numberbox; -#X text 564 171 slider min max: creates a slider with the indicated +#X text 450 543 nbx: creates a numberbox; +#X text 450 561 slider min max: creates a slider with the indicated minimum and maximum; -#X text 564 200 bng: creates a bang; -#X text 564 218 tgl: creates a toggle; -#X text 566 236 symbolatom: creates a symbol box; -#X floatatom 509 121 5 0 0 0 - - -; -#X obj 509 95 tof/param /number 30 /g nbx; -#X text 506 137 /g options:; -#X text 509 55 When you create a param \, you can optinally use the -"/g" keyword to flag the param with gui options.; -#X floatatom 162 129 5 0 0 0 - - -; -#X obj 162 106 tof/param /test 50 /nlb; -#X text 49 63 A param automatically ouputs its value when it is created. +#X text 450 592 bng: creates a bang; +#X text 450 610 tgl: creates a toggle; +#X floatatom 452 510 5 0 0 0 - - -; +#X text 449 526 /g options:; +#X text 453 43 A param automatically ouputs its value when it is created. You can disable this behavior with the "/nlb" (no loadbang) keyword. ; -#X text 451 38 /g keyword: GUI options; -#X text 18 41 /nlb keyword: No loadbang; -#X text 24 155 /wfb keyword: Wait for bang; -#X text 56 177 This param will only output its contents on a bang. -; -#X obj 49 227 tof/param /waiting 50 /wfb; -#X floatatom 49 200 5 0 0 0 - - -; -#X floatatom 49 250 5 0 0 0 - - -; -#X obj 93 203 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X text 36 296 /ns keyword: No save; -#X text 67 317 This param will never be saved.; -#X obj 177 298 tof/param /nope 50 /ns; -#X text 249 449 /nps keyword: No preset save; -#X text 280 471 This param will never be saved in a preset file.; -#X obj 448 449 tof/param /noPresets 67 /nps; -#X text 284 411 Special keywords for [param /name] and [param custom] +#X text 457 20 /nlb keyword: No loadbang; +#X obj 453 118 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X text 455 119 /wfb keyword: Wait for bang; +#X obj 454 248 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X text 456 248 /ns keyword: No save; +#X obj 453 405 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X text 455 405 /g keyword: GUI options; +#X obj 455 328 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X text 457 329 /nps keyword: No preset save; +#X text 449 268 The param will never be saved.; +#X text 451 353 The param will never be saved in a preset file.; +#X text 456 142 The param will only output its contents on a bang. ; -#X text 350 5 Special keywords for [param /name]; -#X connect 6 0 5 0; -#X connect 10 0 9 0; -#X connect 16 0 18 0; -#X connect 17 0 16 0; -#X connect 19 0 16 0; -#X restore 150 164 pd keywords; -#N canvas 0 0 450 300 [param 0; -#X text 26 80 outlet 1: bang when a param save is called; -#X text 29 106 outlet 2: the data to be restored (loaded from the save -file); -#X obj 46 228 param custom /cname; -#X text 30 60 inlet 1: data to be saved (can be multiple messages) +#X obj 452 484 tof/param /number 30 /g nbx; +#X obj 460 192 tof/param /waiting 50 /wfb; +#X obj 11 285 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X text 13 286 arguments; +#X text 10 345 argument 1 symbol: name (must start with a slash); +#X text 11 362 argument 2 variable: optionnal default value (can be +anything and of any length); +#X text 11 393 other arguments: special keywords and options; +#X text 10 42 A param object creates a storage area for anything. This +data can be accessed and modified through a unique path.; +#X obj 12 18 cnv 15 300 20 empty empty empty 20 12 0 14 -257985 -66577 +0; +#X obj 13 321 tof/param /name default; +#X text 12 417 The path to a param starts at the root patch and includes +the name of each abstraction that was taversed to reach the object. +The path of the param above is: /name; +#X text 95 514 <- open me; +#X obj 536 86 tof/param /not_lb 50 /nlb; +#X obj 453 293 tof/param /not_saving 50 /ns; +#X obj 455 377 tof/param /no_presets 67 /nps; +#X obj 16 548 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X text 18 549 keywords; +#X text 19 572 You can use many keywords to configure your params. +Each keyword starts with a /. You can use as many keywords as you want +as long at they are not the first argument (that is reserved for the +name).; +#X text 452 434 When you create a param \, you can use the "/g" keyword +to flag the param with gui options that are used by [param gui] to +automatically build GUIs.; +#X text 450 628 symbolatom or sym : creates a symbol box; +#X obj 15 79 cnv 15 300 20 empty empty empty 20 12 0 14 -260097 -66577 +0; +#X text 17 80 inlets/outlets; +#X text 14 104 inlet 1 bang: outputs the value of the param.; +#X text 14 121 inlet 1 anything: stores the value received and outputs +it.; +#X text 13 138 inlet 2 anything: stores the value received.; +#X text 13 157 outlet 2 anything: the stored value.; +#X text 11 477 The path to the param "/carrier" in the middle of the +following abstraction is: /test-param/carrier; +#X text 14 18 param /name; +#X obj 16 516 ./test-param; +#X obj 16 185 cnv 15 300 20 empty empty empty 20 12 0 14 -4032 -66577 +0; +#X text 18 186 default value; +#X connect 0 0 24 0; +#X connect 2 0 24 0; +#X connect 23 0 8 0; +#X connect 24 0 1 0; +#X restore -16 187 pd /name; +#N canvas 122 440 837 442 custom 0; +#X obj 17 211 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X text 19 212 arguments; +#X obj 18 19 cnv 15 300 20 empty empty empty 20 12 0 14 -257985 -66577 +0; +#X text 20 43 Saves and restores any type and quantity of data in a +param file.; +#X text 16 235 argument 1 symbol: the name. Must start with a '/'. ; -#X text 31 18 description: allows to save and restore any type of data -in a state.; -#X obj 157 252 print custom_restored; -#X msg 46 196 this will be saved; -#X msg 205 197 this will also be saved; -#X obj 106 156 t b b; -#X connect 2 0 8 0; -#X connect 2 1 5 0; -#X connect 6 0 2 0; -#X connect 7 0 2 0; -#X connect 8 0 6 0; -#X connect 8 1 7 0; -#X restore -16 187 pd [param custom /name]; -#N canvas 43 205 542 321 [param 0; -#X obj 48 278 print; -#X obj 49 98 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +#X obj 18 282 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X text 20 283 keywords; +#X text 16 307 There is only one keyword: /nps; +#X obj 17 335 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X text 19 336 /nps keyword: No preset save; +#X text 13 360 The param will never be saved in a preset file.; +#X obj 17 384 tof/param custom /yogourt /nps; +#X obj 18 83 cnv 15 300 20 empty empty empty 20 12 0 14 -260097 -66577 +0; +#X text 23 83 inlets/outlets; +#X text 18 109 inlet 1 anything: data to be saved (can be multiple +messages).; +#X obj 495 212 list prepend; +#X text 576 211 Prepend the key to the value; +#X obj 444 110 t b b; +#X msg 541 90 clear; +#X msg 444 139 dump; +#X text 434 46 In the following example \, [param custom] will save +and restore the contents of the [cyclone/coll].; +#X obj 495 185 cyclone/coll; +#C restore; +#X text 427 243 When a param save is called \, the [t b b] is banged. +The message "clear" is stored and "dump" is sent to [cyclone/coll]. +The list builds a "key data" pair out of the dumped data. This pair +is then also stored.; +#X text 426 305 When a param load is called \, the stored "clear" message +is sent to [cyclone/coll] \, clearing its contents. Afterwards. each +of the stored data pairs is then sent to [cyclone/coll] restoring the +previous data.; +#X obj 541 115 param custom /coll; +#X text 17 160 outlet 2: the data to be restored by a param load.; +#X text 18 141 outlet 1 bang: bangs when a param save is called.; +#X text 16 256 other arguments: keywords (see below).; +#X text 20 19 param custom; +#X connect 15 0 24 0; +#X connect 17 0 19 0; +#X connect 17 1 18 0; +#X connect 18 0 24 0; +#X connect 19 0 21 0; +#X connect 21 0 15 0; +#X connect 21 1 15 1; +#X connect 24 0 17 0; +#X connect 24 1 21 0; +#X restore -16 208 pd custom; +#N canvas 222 499 637 424 path 0; +#X obj 373 67 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 373 115 print; +#X obj 41 190 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X text 43 191 arguments; +#X obj 40 58 cnv 15 300 20 empty empty empty 20 12 0 14 -257985 -66577 +0; +#X obj 40 112 cnv 15 300 20 empty empty empty 20 12 0 14 -260097 -66577 +0; +#X text 45 112 inlets/outlets; +#X text 41 82 Outputs the current param path.; +#X obj 375 180 ./test-param-2; +#X obj 373 91 tof/param path; +#X obj 375 152 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 392 64 1) Click here; +#X text 396 150 2) Click here; +#X text 40 138 inlet 1 bang: outputs the param path.; +#X text 40 160 outlet 1 symbol: the param path.; +#X text 40 214 none.; +#X text 42 58 param path; +#X connect 0 0 9 0; +#X connect 9 0 1 0; +#X connect 10 0 8 0; +#X restore -16 229 pd path; +#N canvas 70 415 866 433 dump 0; +#X obj 420 258 print; +#X obj 421 78 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X msg 92 170 guis; -#X text 72 99 A bang will output all the params and their values.; -#X msg 73 129 symbol /FM_MOD; -#X text 169 127 A symbol will dump only the params that start with +#X msg 464 150 guis; +#X text 444 79 A bang will output all the params and their values. +; +#X msg 445 109 symbol /FM_MOD; +#X text 541 107 A symbol will dump only the params that start with that path.; -#X text 129 167 Guis will output all the optional /g values.; -#X obj 49 244 tof/param dump; -#X text 35 23 description: dumps the values or the gui options of params +#X text 501 147 Guis will output all the optional /g values.; +#X obj 421 224 tof/param dump; +#X msg 501 175 guis /FM_MOD; +#X obj 33 257 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X text 35 258 arguments; +#X obj 33 45 cnv 15 300 20 empty empty empty 20 12 0 14 -257985 -66577 +0; +#X obj 33 109 cnv 15 300 20 empty empty empty 20 12 0 14 -260097 -66577 +0; +#X text 38 109 inlets/outlets; +#X text 32 281 none.; +#X text 32 68 Outputs the params and their values or the params and +their GUI options.; +#X text 33 135 inlet 1 bang: outputs the all the params and their values. ; -#X msg 134 188 guis /FM_MOD; -#X text 41 6 [param dump]; +#X text 33 152 inlet 1 symbol: outputs the params and their values +if their names start with this symbol.; +#X text 33 182 inlet 1 guis: outputs the params and their GUI options +if their names start with this symbol.; +#X text 32 216 inlet 1 guis symbol: outputs the params and their GUI +options if their names start with this symbol.; +#X text 35 45 param dump; #X connect 1 0 7 0; #X connect 2 0 7 0; #X connect 4 0 7 0; #X connect 7 0 0 0; -#X connect 9 0 7 0; -#X restore -16 235 pd [param dump]; -#N canvas 288 382 637 377 [param 0; -#X obj 336 180 hradio 15 1 0 8 empty empty empty 0 -8 0 10 -262144 --1 -1 0; -#X obj 392 230 hradio 15 1 0 8 empty empty empty 0 -8 0 10 -262144 +#X connect 8 0 7 0; +#X restore -16 250 pd dump; +#N canvas 20 346 838 409 file 0; +#X obj 489 38 hradio 15 1 0 8 empty empty empty 0 -8 0 10 -262144 -1 +-1 0; +#X obj 547 151 hradio 15 1 0 8 empty empty empty 0 -8 0 10 -262144 -1 -1 0; -#X obj 37 185 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 94 225 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +#X obj 464 17 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X floatatom 336 204 5 0 0 0 - - -; -#X floatatom 392 252 5 0 0 0 - - -; -#X text 376 202 Save preset N; -#X text 430 251 Restore preset N; -#X text 26 46 description: saves and restores params in individual -files on the hard disk.; -#X text 27 27 [param file]; -#X obj 37 266 param file; -#X obj 336 279 param file; -#X text 30 110 Data is saved/restored in the same folder as the root -patch.; -#X text 116 223 Restore main save file; -#X text 59 182 Save main save file; +#X obj 521 127 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X floatatom 489 62 5 0 0 0 - - -; +#X floatatom 547 173 5 0 0 0 - - -; +#X obj 464 198 param file; +#X obj 24 321 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X text 26 322 arguments; +#X obj 24 19 cnv 15 300 20 empty empty empty 20 12 0 14 -257985 -66577 +0; +#X obj 24 183 cnv 15 300 20 empty empty empty 20 12 0 14 -260097 -66577 +0; +#X text 29 183 inlets/outlets; +#X text 23 345 none.; +#X text 26 40 Saves/restores params in a param file.; +#X text 25 98 All params that do not have the "/ns" keyword are saved +in the "main" param file.; +#X text 24 133 All params that do not have the "/ns" or "/nps" keywords +are saved in the "preset" param files.; +#X text 25 61 There are two types of param file. A "main" param file +and up to 1000 "preset" param files.; +#X text 529 60 Save to "preset" file n.; +#X text 585 172 Restore for "preset" file n.; +#X text 543 125 Restore from "main" param file.; +#X text 486 13 Save to "main" param file.; +#X text 24 209 inlet 1 bang: save to "main" param file.; +#X text 24 263 inlet 2 bang: restore from "main" param file.; +#X obj 442 247 cnv 15 300 20 empty empty empty 20 12 0 14 -4032 -66577 +0; +#X text 444 248 param file names; +#X text 441 271 All param files are always stored and searched for +in the same folder as the root patch's folder.; +#X text 443 305 The "main" param file is named as follows:; +#X text 622 323 "name of root patch.param"; +#X text 26 280 inlet 2 float: restore from "preset" file n where n +is a number between 0 and 999; +#X text 26 228 inlet 1 float: save to "preset" file n where n is a +number between 0 and 999; +#X text 581 374 "name of root patch-nnnn.param"; +#X text 444 341 The "preset" param files are named as follows \, where +nnnn is always four digits:; +#X text 26 19 param file; #X connect 0 0 4 0; #X connect 1 0 5 0; -#X connect 2 0 10 0; -#X connect 3 0 10 1; -#X connect 4 0 11 0; -#X connect 5 0 11 1; -#X restore -16 257 pd [param file]; -#N canvas 461 363 450 300 [param 0; -#X text 26 47 description: routes param messages.; -#X text 26 20 [param route]; -#X text 28 92 [param route] routes messages to params. It relativitize -target names.; -#X restore -16 280 pd [param route]; -#N canvas 0 0 517 280 [param 0; -#X text 19 28 description: builds pd guis for params.; -#X obj 21 68 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 4 0 6 0; +#X connect 5 0 6 1; +#X restore -16 271 pd file; +#N canvas 17 441 981 371 route 0; +#X obj 33 203 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X text 35 204 arguments; +#X obj 33 31 cnv 15 300 20 empty empty empty 20 12 0 14 -257985 -66577 +0; +#X obj 33 85 cnv 15 300 20 empty empty empty 20 12 0 14 -260097 -66577 +0; +#X text 38 85 inlets/outlets; +#X text 35 228 none.; +#X text 38 53 Routes messages to params.; +#X text 35 31 param route; +#X text 35 112 inlet 1 anything: the first element of the anything +determines the target. The rest of the elements of the anything are +sent the target.; +#X obj 36 257 cnv 15 300 20 empty empty empty 20 12 0 14 -4032 -66577 +0; +#X text 38 258 targets; +#X text 35 160 outlet 1 anything: messages that do not have a valid +target name or whose target was not found.; +#X text 34 282 [param route] prepends its own path to the target name. +This allows the targeting of params with a relative path. Even if the +paths are relative \, they still need to start with a '/'.; +#X obj 412 225 ./test-param /id routing; +#X floatatom 482 292 5 0 0 0 - - -; +#X floatatom 553 261 5 0 0 0 - - -; +#X text 566 221 <-There is a [param route] connected to the first inlet +of this abstraction.; +#X text 594 259 <-This is connected to a [param /b] inside the abstraction. +; +#X text 518 293 <-This is connected to a [param /a] inside the abstraction. +; +#X msg 470 187 /b \$1; +#X msg 418 161 /a \$1; +#X floatatom 417 137 5 0 0 0 - - -; +#X floatatom 474 159 5 0 0 0 - - -; +#X connect 13 1 14 0; +#X connect 13 2 15 0; +#X connect 19 0 13 0; +#X connect 20 0 13 0; +#X connect 21 0 20 0; +#X connect 22 0 19 0; +#X restore -16 292 pd route; +#N canvas 8 378 991 450 gui 0; +#X obj 431 21 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X obj 90 120 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +#X obj 506 75 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X text 42 65 This inlet creates the guis once. All further bangs only -display the gui window.; -#X obj 21 157 tof/param gui; -#X text 112 117 This inlet creates and displays the window everytime -it is banged. The content is always up to date \, but a bit slower. +#X obj 431 110 tof/param gui; +#X obj 5 219 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X text 7 220 arguments; +#X obj 5 7 cnv 15 300 20 empty empty empty 20 12 0 14 -257985 -66577 +0; +#X obj 5 81 cnv 15 300 20 empty empty empty 20 12 0 14 -260097 -66577 +0; +#X text 10 81 inlets/outlets; +#X text 7 244 none.; +#X obj 8 273 cnv 15 300 20 empty empty empty 20 12 0 14 -4032 -66577 +0; +#X text 10 274 targets; +#X text 7 7 param gui; +#X floatatom 383 238 5 0 0 0 - - -; +#X obj 375 365 dac~; +#X obj 423 284 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X msg 383 260 /modulation/index \$1; +#X msg 420 305 /volume \$1; +#X obj 529 165 cnv 15 200 20 empty empty /FM_MOD/ 2 12 0 8 -258401 +-262144 0; +#X obj 529 188 nbx 5 14 -1e+37 1e+37 0 0 /FM_MOD/modulation/freq /FM_MOD/modulation/freq_ +modulation/freq 50 8 0 8 -1 -262144 -1 3 256; +#X obj 529 206 nbx 5 14 -1e+37 1e+37 0 0 /FM_MOD/modulation/index /FM_MOD/modulation/index_ +modulation/index 50 8 0 8 -1 -262144 -1 20 256; +#X obj 529 224 hsl 100 15 0 1 0 0 /FM_MOD/volume /FM_MOD/volume_ volume +105 7 0 8 -1 -262144 -1 0 1; +#X obj 529 242 hsl 100 15 200 2000 0 0 /FM_MOD/carrier /FM_MOD/carrier_ +carrier 105 7 0 8 -1 -262144 -1 3300 1; +#X obj 383 330 ./test-param /id FM_MOD /carrier 600; +#X text 5 107 inlet 1 bang: creates the GUI once and then displays +the window. All further bangs only display the GUI window without recreating +its contents.; +#X text 453 10 Creates the GUI once and then displays the window. All +further bangs only display the GUI window without recreating its contents. ; -#X connect 1 0 4 0; -#X connect 2 0 4 1; -#X restore -15 302 pd [param gui]; -#N canvas 0 0 525 231 /id 0; -#X text 26 42 Abstraction /id:; -#X text 63 67 If an abstraction's arguments contains the "/id" keyword -\, the symbol following the "/id" keyword \, instead of the abstraction's -name \, will be used to build the path.; -#X restore -16 323 pd /id; -#N canvas 0 0 450 300 [param 0; -#X text 38 36 [param path]; -#X text 37 57 description: outputs the current param path.; -#X obj 42 105 param path; -#X obj 46 83 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +#X text 527 72 Creates and displays the window everytime it is banged. +The content is always up to date \, but this slightly slower.; +#X text 6 298 [param gui] will build a gui for all the params that +have GUI options (set with the "/g" keyword) and that are located in +the same patch or in any of its children.; +#X text 8 32 Automatically builds a gui for params. The values of the +GUI elements are always up to date.; +#X text 1 155 inlet 2 bang: creates and displays the window everytime +it is banged. This slightly slower \, but it takes into account params +that were created or destroyed since it was first created.; +#X text 618 328 <-Click this abstraction's properties menu. The [iemguts/propertybang] +bangs the [param gui] that creates the GUI window.; +#X connect 0 0 2 0; +#X connect 1 0 2 1; +#X connect 12 0 15 0; +#X connect 14 0 16 0; +#X connect 15 0 22 0; +#X connect 16 0 22 0; +#X connect 22 0 13 0; +#X connect 22 0 13 1; +#X restore -16 313 pd gui; +#X text 45 183 Defines a parameter to save/restore/route/display.; +#X text 48 205 Can save/restore any number of things in a param file. +; +#X text 48 226 Outputs the current param path.; +#X text 48 247 Outputs information about the params.; +#X text 48 268 Saves/restores params in a param file.; +#X text 47 289 Routes messages to params.; +#X text 48 310 Automatically builds a gui for params.; +#X text -17 151 Open the folowing subpatches for more information on +each class.; +#X text -17 112 [param] contains multiple classes. The class is selected +by the value of the first argument.; +#N canvas 360 337 548 560 anim 0; +#X obj 172 493 s \$0c; +#N canvas 393 451 450 300 rgbToNum 0; +#X obj 241 358 +; +#X obj 177 430 +; +#X obj 90 313 * -65536; +#X obj 196 319 * -256; +#X obj 310 327 * -1; +#X obj 177 461 - 1; +#X obj 184 496 outlet; +#X obj 85 281 int 0; +#X obj 196 270 int 0; +#X obj 343 272 int 0; +#X obj 166 126 unpack f f f; +#X obj 66 233 clip 0 255; +#X obj 228 230 clip 0 255; +#X obj 329 230 clip 0 255; +#X obj 165 87 inlet; +#X connect 0 0 1 1; +#X connect 1 0 5 0; +#X connect 2 0 1 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 6 0; +#X connect 7 0 2 0; +#X connect 8 0 3 0; +#X connect 9 0 4 0; +#X connect 10 0 11 0; +#X connect 10 1 12 0; +#X connect 10 2 13 0; +#X connect 11 0 7 0; +#X connect 12 0 8 0; +#X connect 13 0 9 0; +#X connect 14 0 10 0; +#X restore 171 434 pd rgbToNum; +#X msg 171 462 color \$1; +#X obj 137 65 t b b b; +#X obj 345 14 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X obj 43 130 print; -#X connect 2 0 4 0; -#X connect 3 0 2 0; -#X restore -16 210 pd [param path]; -#X obj 144 322 ./param-abs /id FM_MOD /carrier 600; -#X obj 404 243 cnv 15 200 20 empty empty /FM_MOD/ 2 12 0 8 -258401 --262144 0; -#X obj 404 266 nbx 5 14 -1e+37 1e+37 0 0 /FM_MOD/modulation/freq /FM_MOD/modulation/freq_ -modulation/freq 50 8 0 8 -262144 -1 -1 29 256; -#X obj 404 284 nbx 5 14 -1e+37 1e+37 0 0 /FM_MOD/modulation/index /FM_MOD/modulation/index_ -modulation/index 50 8 0 8 -262144 -1 -1 20 256; -#X obj 404 302 hsl 100 15 0 1 0 0 /FM_MOD/volume /FM_MOD/volume_ volume -105 7 0 8 -262144 -1 -1 0 1; -#X obj 404 320 hsl 100 15 200 2000 0 0 /FM_MOD/carrier /FM_MOD/carrier_ -carrier 105 7 0 8 -262144 -1 -1 2200 1; -#X obj 441 129 tof/param route; -#X msg 440 91 /FM_MOD/modulation/freq \$1; -#X floatatom 444 44 5 0 0 0 - - -; -#X connect 6 0 9 0; -#X connect 8 0 10 0; -#X connect 9 0 20 0; -#X connect 10 0 20 0; -#X connect 20 0 7 0; -#X connect 20 0 7 1; -#X connect 27 0 26 0; -#X connect 28 0 27 0; +#N canvas 0 0 680 639 hsvToRgb 0; +#X obj 197 94 route 0; +#X msg 197 66 \$2 \$3 \$1; +#X obj 241 121 unpack 0 0 0; +#X text 260 81 svh; +#X obj 197 38 inlet hsv; +#X obj 191 676 outlet rgb; +#X obj 411 159 * 6; +#X obj 390 206 % 6; +#X obj 360 183 t f f; +#X msg 360 159 0; +#X text 416 206 i; +#X obj 360 229 -; +#X obj 241 227 *; +#X obj 241 188 - 1; +#X obj 241 208 * -1; +#X obj 273 340 *; +#X obj 273 301 - 1; +#X obj 273 321 * -1; +#X obj 273 279 *; +#X obj 360 250 t f f; +#X obj 390 272 - 1; +#X obj 390 293 * -1; +#X obj 312 366 *; +#X obj 312 327 - 1; +#X obj 312 347 * -1; +#X obj 312 305 *; +#X obj 241 161 t f f f; +#X obj 248 421 pack 0 0 0 0; +#N canvas 388 287 646 315 select 0; +#X obj 290 37 inlet; +#X obj 16 247 outlet; +#X obj 92 104 t b l; +#X obj 125 128 unpack 0 0 0 0; +#X obj 89 43 inlet p q t v; +#X obj 92 128 i; +#X obj 92 151 select 0 1 2 3 4 5; +#X obj 16 223 pack 0 0 0; +#X obj 16 203 f; +#X obj 96 223 pack 0 0 0; +#X obj 96 203 f; +#X obj 176 223 pack 0 0 0; +#X obj 176 203 f; +#X obj 256 223 pack 0 0 0; +#X obj 256 203 f; +#X obj 336 223 pack 0 0 0; +#X obj 336 203 f; +#X obj 416 223 pack 0 0 0; +#X obj 416 203 f; +#X connect 0 0 5 1; +#X connect 2 0 5 0; +#X connect 2 1 3 0; +#X connect 3 0 7 2; +#X connect 3 0 9 2; +#X connect 3 0 12 1; +#X connect 3 0 14 1; +#X connect 3 0 15 1; +#X connect 3 0 17 1; +#X connect 3 1 10 1; +#X connect 3 1 13 1; +#X connect 3 1 17 2; +#X connect 3 2 7 1; +#X connect 3 2 11 2; +#X connect 3 2 16 1; +#X connect 3 3 8 1; +#X connect 3 3 9 1; +#X connect 3 3 11 1; +#X connect 3 3 13 2; +#X connect 3 3 15 2; +#X connect 3 3 18 1; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 8 0; +#X connect 6 1 10 0; +#X connect 6 2 12 0; +#X connect 6 3 14 0; +#X connect 6 4 16 0; +#X connect 6 5 18 0; +#X connect 7 0 1 0; +#X connect 8 0 7 0; +#X connect 9 0 1 0; +#X connect 10 0 9 0; +#X connect 11 0 1 0; +#X connect 12 0 11 0; +#X connect 13 0 1 0; +#X connect 14 0 13 0; +#X connect 15 0 1 0; +#X connect 16 0 15 0; +#X connect 17 0 1 0; +#X connect 18 0 17 0; +#X restore 253 466 pd select; +#X msg 197 488 \$1 \$1 \$1; +#X obj 136 447 clip 0 1; +#X obj 241 141 clip 0 1; +#X obj 280 183 clip 0 1; +#X obj 360 119 clip 0 1; +#X obj 360 139 select 1; +#X msg 149 367 \$1; +#X obj 199 383 abs; +#X obj 238 362 abs; +#X obj 281 396 abs; +#X obj 194 546 unpack f f f; +#X obj 191 577 * 255; +#X obj 239 576 * 255; +#X obj 306 577 * 255; +#X obj 235 630 pack f f f; +#X obj 196 604 int; +#X obj 244 603 int; +#X obj 296 608 int; +#X connect 0 0 35 0; +#X connect 0 1 2 0; +#X connect 1 0 0 0; +#X connect 2 0 31 0; +#X connect 2 1 32 0; +#X connect 2 2 33 0; +#X connect 4 0 1 0; +#X connect 6 0 8 0; +#X connect 7 0 11 1; +#X connect 7 0 28 1; +#X connect 8 0 11 0; +#X connect 8 1 7 0; +#X connect 9 0 8 0; +#X connect 11 0 19 0; +#X connect 12 0 36 0; +#X connect 13 0 14 0; +#X connect 14 0 12 0; +#X connect 15 0 37 0; +#X connect 16 0 17 0; +#X connect 17 0 15 0; +#X connect 18 0 16 0; +#X connect 19 0 18 1; +#X connect 19 1 20 0; +#X connect 20 0 21 0; +#X connect 21 0 25 1; +#X connect 22 0 38 0; +#X connect 23 0 24 0; +#X connect 24 0 22 0; +#X connect 25 0 23 0; +#X connect 26 0 13 0; +#X connect 26 1 18 0; +#X connect 26 2 25 0; +#X connect 27 0 28 0; +#X connect 28 0 39 0; +#X connect 29 0 39 0; +#X connect 30 0 29 0; +#X connect 31 0 26 0; +#X connect 32 0 12 1; +#X connect 32 0 27 3; +#X connect 32 0 15 1; +#X connect 32 0 22 1; +#X connect 33 0 34 0; +#X connect 34 0 9 0; +#X connect 34 1 6 0; +#X connect 35 0 30 0; +#X connect 36 0 27 0; +#X connect 37 0 27 1; +#X connect 38 0 27 2; +#X connect 39 0 40 0; +#X connect 39 1 41 0; +#X connect 39 2 42 0; +#X connect 40 0 44 0; +#X connect 41 0 45 0; +#X connect 42 0 46 0; +#X connect 43 0 5 0; +#X connect 44 0 43 0; +#X connect 45 0 43 1; +#X connect 46 0 43 2; +#X restore 172 413 pd hsvToRgb; +#X obj 35 132 random 1024; +#X obj 35 170 / 1024; +#X obj 315 185 / 1024; +#X obj 314 131 random 512; +#X obj 313 158 + 512; +#X obj 147 209 / 1024; +#X obj 145 182 + 512; +#X obj 145 154 random 512; +#X obj 197 46 metro 5000; +#X obj 177 12 loadbang; +#X msg 46 226 \$1 5000; +#X msg 146 235 \$1 5000; +#X msg 320 254 \$1 5000; +#X obj 239 361 pack 0.4423 0.87 0.67; +#X obj 50 258 line 0.44 150; +#X obj 148 269 line 0.87 150; +#X obj 320 291 line 0.67 150; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 3 0 6 0; +#X connect 3 1 13 0; +#X connect 3 2 9 0; +#X connect 4 0 14 0; +#X connect 5 0 1 0; +#X connect 6 0 7 0; +#X connect 7 0 16 0; +#X connect 8 0 18 0; +#X connect 9 0 10 0; +#X connect 10 0 8 0; +#X connect 11 0 17 0; +#X connect 12 0 11 0; +#X connect 13 0 12 0; +#X connect 14 0 3 0; +#X connect 15 0 14 0; +#X connect 16 0 20 0; +#X connect 17 0 21 0; +#X connect 18 0 22 0; +#X connect 19 0 5 0; +#X connect 20 0 19 0; +#X connect 21 0 19 1; +#X connect 22 0 19 2; +#X restore 325 80 pd anim; +#X obj -23 2 cnv 15 400 100 empty \$0c empty 20 12 0 14 -54577 -262144 +0; +#X text -18 54 author: mrtoftrash@gmail.com; +#X text -19 33 tags: state routing; +#X text -17 1 description: [param] is a state saving and message routing +system.; +#X text -19 75 version: 2009-10-27 (de localized release); +#X text -20 341 Keyword for defining the param path inside abstractions: +; diff --git a/help/param2-abs.pd b/help/param2-abs.pd deleted file mode 100644 index 867a6e9..0000000 --- a/help/param2-abs.pd +++ /dev/null @@ -1,24 +0,0 @@ -#N canvas 290 157 711 410 10; -#X text 84 2 This abstraction is an example for the param external. -; -#X obj 175 232 *~; -#X floatatom 175 147 0 0 0 0 - - -; -#X floatatom 237 200 0 0 0 0 - - -; -#X text 64 127 frequency; -#X text 63 114 modulation; -#X text 278 216 index; -#X text 280 197 modulation; -#X obj 175 172 osc~; -#X obj 163 341 outlet~; -#X obj 172 99 loadbang; -#X obj 238 148 loadbang; -#X obj 174 122 tof/param /freq 3 /g nbx; -#X obj 237 172 tof/param /index 20 /g nbx; -#X connect 1 0 9 0; -#X connect 2 0 8 0; -#X connect 3 0 1 1; -#X connect 8 0 1 0; -#X connect 10 0 12 0; -#X connect 11 0 13 0; -#X connect 12 0 2 0; -#X connect 13 0 3 0; diff --git a/help/test-argument.pd b/help/test-argument.pd new file mode 100644 index 0000000..d227c72 --- /dev/null +++ b/help/test-argument.pd @@ -0,0 +1,30 @@ +#N canvas 336 203 651 389 10; +#X obj 158 36 inlet; +#X obj 158 92 t b b b; +#X text 220 105 first; +#X text 159 192 second; +#X text 73 282 third; +#X obj 158 67 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 210 166 print arg1; +#X obj 134 246 print arg2; +#X obj 11 330 print arg3; +#X obj 210 130 tof/argument 1; +#X obj 134 213 tof/argument 2 100; +#X obj 11 303 tof/argument 3 500; +#X text 204 24 This patch is part of [tof/argument]'s help file.; +#X text 207 42 Its creation arguments are: a b; +#X text 305 127 <-Outputs the first patch creation argument: "a"; +#X text 131 300 <- Outputs 500 because there is not third patch argument. +; +#X text 257 206 <-Outputs "100" because the type of the default value +\, a float 100 \, does not match the type of the patch's second argument +\, a symbol "b".; +#X connect 0 0 5 0; +#X connect 1 0 11 0; +#X connect 1 1 10 0; +#X connect 1 2 9 0; +#X connect 5 0 1 0; +#X connect 9 0 6 0; +#X connect 10 0 7 0; +#X connect 11 0 8 0; diff --git a/help/test-param-2.pd b/help/test-param-2.pd new file mode 100644 index 0000000..b39b6f1 --- /dev/null +++ b/help/test-param-2.pd @@ -0,0 +1,29 @@ +#N canvas 290 157 711 410 10; +#X text 84 2 This abstraction is an example for the param external. +; +#X obj 175 232 *~; +#X floatatom 175 147 0 0 0 0 - - -; +#X floatatom 237 200 0 0 0 0 - - -; +#X text 64 127 frequency; +#X text 63 114 modulation; +#X text 278 216 index; +#X text 280 197 modulation; +#X obj 175 172 osc~; +#X obj 163 341 outlet~; +#X obj 172 99 loadbang; +#X obj 238 148 loadbang; +#X obj 174 122 tof/param /freq 3 /g nbx; +#X obj 237 172 tof/param /index 20 /g nbx; +#X obj 477 36 inlet; +#X obj 478 71 tof/param path; +#X obj 480 98 print path; +#X connect 1 0 9 0; +#X connect 2 0 8 0; +#X connect 3 0 1 1; +#X connect 8 0 1 0; +#X connect 10 0 12 0; +#X connect 11 0 13 0; +#X connect 12 0 2 0; +#X connect 13 0 3 0; +#X connect 14 0 15 0; +#X connect 15 0 16 0; diff --git a/help/test-param.pd b/help/test-param.pd new file mode 100644 index 0000000..5b88251 --- /dev/null +++ b/help/test-param.pd @@ -0,0 +1,42 @@ +#N canvas 9 299 932 527 10; +#X obj 285 477 outlet~; +#X obj 35 117 inlet; +#X text 575 26 This abstraction is an example for the param external. +; +#X floatatom 283 247 0 0 0 0 - - -; +#X obj 283 317 +~; +#X text 213 168 carrier; +#X text 212 186 frequency; +#X obj 284 359 osc~; +#X obj 36 193 print PARAM_NOTFOUND; +#X obj 283 171 loadbang; +#X obj 285 428 *~; +#X obj 375 400 line~; +#X msg 376 376 \$1 100; +#X obj 377 325 loadbang; +#X obj 377 349 tof/param /volume 0 /g slider 0 1; +#X obj 660 195 iemguts/propertybang; +#X obj 660 223 tof/param gui; +#X obj 35 162 tof/param route; +#X obj 283 202 tof/param /carrier 800 /g slider 200 2000; +#X obj 383 299 test-param-2 /id modulation; +#X obj 469 442 tof/param /a; +#X obj 470 471 outlet; +#X obj 642 476 outlet; +#X obj 640 448 tof/param /b; +#X connect 1 0 17 0; +#X connect 3 0 4 0; +#X connect 4 0 7 0; +#X connect 7 0 10 0; +#X connect 9 0 18 0; +#X connect 10 0 0 0; +#X connect 11 0 10 1; +#X connect 12 0 11 0; +#X connect 13 0 14 0; +#X connect 14 0 12 0; +#X connect 15 0 16 0; +#X connect 17 0 8 0; +#X connect 18 0 3 0; +#X connect 19 0 4 1; +#X connect 20 0 21 0; +#X connect 23 0 22 0; -- cgit v1.2.1