diff options
-rw-r--r-- | doc/pddp/help-trigger.pd | 457 |
1 files changed, 232 insertions, 225 deletions
diff --git a/doc/pddp/help-trigger.pd b/doc/pddp/help-trigger.pd index a5a10051..822b1560 100644 --- a/doc/pddp/help-trigger.pd +++ b/doc/pddp/help-trigger.pd @@ -1,225 +1,232 @@ -#N canvas 20 8 893 651 10;
-#X obj 26 16 trigger;
-#X text 26 45 The trigger object outputs its input from right to left
-\, converting to the types indicated by its creation arguments. There
-is also a "pointer" argument type (see the pointer object.);
-#X text 24 230 As I see it \, the [trigger] object serves two great
-purposes which aren't really related - but they might be on some level
-that I don't fully understand yet.;
-#X text 97 15 - sequence messages in right-to-left order and convert
-data types.;
-#X text 22 278 1 Sequence a series of bangs - or triggers for symbols
-and/or other messages. In the example below \, you should see that
-it is important that it is important that [metro] gets a tempo setting
-before it is started - but let's assume for a moment that you wanted
-to start the [metro] with only a single click.;
-#X obj 26 481 metro;
-#X msg 51 462 1000;
-#X obj 26 501 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 26 404 tgl 15 0 empty empty On/Off 0 -6 0 7 -262144 -1 -1 0
-1;
-#X text 20 364 Click the toggle to set the tempo and start the metro
-simoultaneously.;
-#X text 24 109 The [trigger] object can be abbreviated as "t" and the
-creation arguments can be abbreviated as follows:;
-#X text 25 135 Floats = f;
-#X text 25 147 Bangs = b;
-#X text 24 159 Symbols = s;
-#X text 25 173 Lists = l;
-#X text 25 201 Anythings = a;
-#X text 25 187 Pointers = p;
-#X obj 103 150 trigger float bang symbol list pointer anything;
-#X text 204 169 is the same as;
-#X obj 207 189 t f b s l p a;
-#X text 65 413 Triggers are sent from right to left...so our tempo
-messages gets sent to [metro] immediately before the numbers from the
-[toggle] to start and stop the [metro].;
-#X obj 26 422 t f b;
-#X text 27 526 This example is simple \, and may not be very practicle
-in most situations \, but it clearly shows how [trigger] can be used
-to create a simple sequence of events. It is important to note however
-that the messages sent from [trigger]'s outlets occur in ZERO time
-with no delay between the events...more at the top right of the page...
-;
-#X obj 430 94 t b b;
-#X msg 430 75 bang;
-#X obj 430 124 timer;
-#X floatatom 430 144 5 0 0;
-#X obj 399 34 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 399 600 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X text 428 40 Below is a simple structure which will measure the "logical
-time" between bangs from the [trigger] object.;
-#X text 464 75 Click here.;
-#X text 470 141 Watch here.;
-#X text 417 163 Now \, to prove that I'm not crazy...click here >;
-#X msg 705 162 bang;
-#X obj 705 203 timer;
-#X floatatom 705 222 5 0 0;
-#X obj 730 182 delay 2000;
-#X text 543 89 any delay between the first bang and the second bang
-;
-#X text 544 105 from the trigger.;
-#X text 415 179 In this case \, I've simply patched a delay;
-#X text 414 193 object to force a 2 second delay between the;
-#X text 414 207 first and second bangs sent to the [timer].;
-#X text 545 75 In this case \, the [timer] object does not perceive
-;
-#X text 417 290 2 Click this subpatch to read about [trigger]'s second
-great purpose...;
-#N canvas 148 20 927 612 trigger_can_convert_data_types 0;
-#X msg 425 103 2.5;
-#X msg 523 103 bang;
-#X msg 465 103 23 64;
-#X msg 569 103 symbol dog;
-#X obj 425 228 trigger float bang symbol list anything;
-#X text 24 24 All sophisticated programming environments provide tools
-to convert data types. For instance \, Visual Basic has:;
-#X text 24 55 - VarType: to check the data type.;
-#X text 24 70 - CStr: to convert a variable to a string.;
-#X text 23 84 - CDate: to convert a variable to a date.;
-#X text 24 99 - isNumeric: to test whether the variable is a number.
-;
-#X text 22 113 - etc.;
-#X text 19 137 [trigger] is one object in PD which can convert an incoming
-atom to a different type of atom.;
-#X text 422 30 In the example below \, you can see that this [trigger]
-has creation arguments which specify what data type the object should
-output through each outlet. Messages which are sent to the first outlet
-will be floats \; the second outlet will send bangs \; the third \,
-symbols \; etc.;
-#X text 19 172 To prove this \, click on each of the messages below
-and watch your terminal window for the output.;
-#X obj 20 239 t b;
-#X msg 20 210 bang;
-#X msg 57 210 1;
-#X floatatom 90 212 5 0 0;
-#X msg 132 211 symbol cat;
-#X msg 204 211 this is anything;
-#X obj 20 259 print all_messages_are_converted_to_bangs;
-#X text 20 292 Another example showing floats and symbols.;
-#X msg 20 308 bang;
-#X floatatom 90 310 5 0 0;
-#X msg 132 309 symbol cat;
-#X msg 206 319 this is anything;
-#X obj 20 337 t f s;
-#X msg 57 308 1 0;
-#X obj 45 387 print converted_to_symbols;
-#X obj 20 407 print converted_to_floats;
-#X text 62 338 Note that "this is anything" causes an error. That is
-because 'anythings' don't conform to floats \, symbols \, lists \,
-pointers. They can only be converted to "bang".;
-#X text 18 430 In the example above \, note that the trigger object
-does not split a list among the outlets like [unpack] does. Instead
-it sends all list elements through all outlets and converts them as
-necessary.;
-#X text 20 486 Also note that some messages don't convert as nicely
-as others. Hence \, the symbol "cat" converts to a ZERO when [trigger]
-converts that symbol into a float. Likewise \, all numbers will convert
-to a symbol called "float" when sent through [trigger]'s right-most
-outlet.;
-#X floatatom 425 248 5 0 0;
-#X obj 482 248 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X symbolatom 539 286 10 0 0;
-#X floatatom 594 162 5 0 0;
-#X obj 594 200 pack f s;
-#X msg 637 161 symbol earth;
-#X msg 652 181 symbol jupiter;
-#X obj 596 267 print a_list;
-#X floatatom 426 403 5 0 0;
-#X symbolatom 470 403 10 0 0;
-#X obj 514 421 print another_list;
-#X text 630 131 Click on all these.;
-#X obj 426 363 r anythings;
-#X text 425 303 Note how each of the messages sent to this trigger
-are converted appropriately for their receiving atoms boxes. Also note
-that "anythings" are sent to the example below.;
-#X text 430 447 I'e used the [route] object to show how "anythings"
-are converted as they pass through the above [trigger]. Note that all
-messages converted to floats are displayed here in the number box \,
-all symbols are displayed in the symbol box \, and all lists are printed
-to the terminal window.;
-#X obj 654 247 s anythings;
-#X obj 426 383 route float symbol list;
-#X msg 642 103 symbol cat;
-#X connect 0 0 4 0;
-#X connect 1 0 4 0;
-#X connect 2 0 4 0;
-#X connect 3 0 4 0;
-#X connect 4 0 33 0;
-#X connect 4 1 34 0;
-#X connect 4 2 35 0;
-#X connect 4 3 40 0;
-#X connect 4 4 48 0;
-#X connect 14 0 20 0;
-#X connect 15 0 14 0;
-#X connect 16 0 14 0;
-#X connect 17 0 14 0;
-#X connect 18 0 14 0;
-#X connect 19 0 14 0;
-#X connect 22 0 26 0;
-#X connect 23 0 26 0;
-#X connect 24 0 26 0;
-#X connect 25 0 26 0;
-#X connect 26 0 29 0;
-#X connect 26 1 28 0;
-#X connect 27 0 26 0;
-#X connect 36 0 37 0;
-#X connect 37 0 4 0;
-#X connect 38 0 37 1;
-#X connect 39 0 37 1;
-#X connect 45 0 49 0;
-#X connect 49 0 41 0;
-#X connect 49 1 42 0;
-#X connect 49 2 43 0;
-#X connect 50 0 4 0;
-#X restore 421 325 pd trigger_can_convert_data_types;
-#X obj 705 238 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X floatatom 785 164 5 0 0;
-#X text 415 227 You can reset the delay with the number box;
-#X text 415 241 at the top-right to clearly see "logical time";
-#X text 415 254 as measured by [timer].;
-#X text 459 579 This document was updated for PD version 0.35 test
-26 by Dave Sabine as part of a project called pddp proposed by Krzysztof
-Czaja to build comprehensive documentation for PD.;
-#X text 418 378 RELATED OBJECTS;
-#X obj 503 404 route;
-#X obj 423 404 unpack;
-#X obj 469 404 pack;
-#X obj 544 404 delay;
-#X obj 586 404 pipe;
-#X obj 621 404 float;
-#X obj 661 404 int;
-#X obj 690 404 symbol;
-#N canvas 0 0 456 306 related_objects_from_other_libraries 0;
-#X obj 31 36 exciter;
-#X text 26 77 These objects are offered in PD only if you have downloaded
-and properly installed the appropriate library. These objects may or
-may not exist in a single library.;
-#X text 25 126 The best places to find information about PD's libraries
-is:;
-#X text 22 148 www.pure-data.org and click on "Downloads" then "Software"
-;
-#X text 24 163 or;
-#X text 24 178 iem.kug.ac.at/pdb/;
-#X restore 423 435 pd related_objects_from_other_libraries;
-#X connect 5 0 7 0;
-#X connect 6 0 5 1;
-#X connect 8 0 21 0;
-#X connect 21 0 5 0;
-#X connect 21 1 6 0;
-#X connect 23 0 25 1;
-#X connect 23 1 25 0;
-#X connect 24 0 23 0;
-#X connect 25 0 26 0;
-#X connect 27 0 28 0;
-#X connect 33 0 34 0;
-#X connect 33 0 36 0;
-#X connect 34 0 35 0;
-#X connect 35 0 45 0;
-#X connect 36 0 34 1;
-#X connect 46 0 36 1;
+#N canvas 145 60 985 628 10; +#X obj 26 16 trigger; +#X text 24 230 As I see it \, the [trigger] object serves two great +purposes which aren't really related - but they might be on some level +that I don't fully understand yet.; +#X text 22 278 1 Sequence a series of bangs - or triggers for symbols +and/or other messages. In the example below \, you should see that +it is important that it is important that [metro] gets a tempo setting +before it is started - but let's assume for a moment that you wanted +to start the [metro] with only a single click.; +#X obj 26 481 metro; +#X msg 51 462 1000; +#X obj 26 501 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 26 404 tgl 15 0 empty empty On/Off 0 -6 0 7 -262144 -1 -1 0 +1; +#X text 24 104 The [trigger] object can be abbreviated as "t" and the +creation arguments can be abbreviated as follows:; +#X obj 114 150 trigger float bang symbol list pointer anything; +#X text 215 169 is the same as; +#X obj 218 189 t f b s l p a; +#X obj 26 422 t f b; +#X text 27 526 This example is simple \, and may not be very practicle +in most situations \, but it clearly shows how [trigger] can be used +to create a simple sequence of events. It is important to note however +that the messages sent from [trigger]'s outlets occur in ZERO time +with no delay between the events...more at the top right of the page... +; +#X obj 484 94 t b b; +#X msg 484 75 bang; +#X obj 484 124 timer; +#X floatatom 484 144 5 0 0 0 - - -; +#X obj 456 34 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 456 600 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 518 75 Click here.; +#X text 524 141 Watch here.; +#X text 476 163 Now \, to prove that I'm not crazy...click here >; +#X obj 822 203 timer; +#X floatatom 822 222 5 0 0 0 - - -; +#X obj 847 182 delay 2000; +#X text 597 89 any delay between the first bang and the second bang +; +#X text 598 105 from the trigger.; +#X text 476 198 object to force a 2 second delay between the; +#X text 599 75 In this case \, the [timer] object does not perceive +; +#X text 471 290 2 Click this subpatch to read about [trigger]'s second +great purpose...; +#N canvas 148 22 927 612 trigger_can_convert_data_types 0; +#X msg 425 103 2.5; +#X msg 523 103 bang; +#X msg 465 103 23 64; +#X msg 569 103 symbol dog; +#X obj 425 228 trigger float bang symbol list anything; +#X text 24 24 All sophisticated programming environments provide tools +to convert data types. For instance \, Visual Basic has:; +#X text 24 55 - VarType: to check the data type.; +#X text 24 70 - CStr: to convert a variable to a string.; +#X text 23 84 - CDate: to convert a variable to a date.; +#X text 24 99 - isNumeric: to test whether the variable is a number. +; +#X text 22 113 - etc.; +#X text 19 137 [trigger] is one object in PD which can convert an incoming +atom to a different type of atom.; +#X text 422 30 In the example below \, you can see that this [trigger] +has creation arguments which specify what data type the object should +output through each outlet. Messages which are sent to the first outlet +will be floats \; the second outlet will send bangs \; the third \, +symbols \; etc.; +#X text 19 172 To prove this \, click on each of the messages below +and watch your terminal window for the output.; +#X obj 20 239 t b; +#X msg 20 210 bang; +#X msg 57 210 1; +#X floatatom 90 212 5 0 0 0 - - -; +#X msg 132 211 symbol cat; +#X msg 204 211 this is anything; +#X obj 20 259 print all_messages_are_converted_to_bangs; +#X text 20 292 Another example showing floats and symbols.; +#X msg 20 308 bang; +#X floatatom 90 310 5 0 0 0 - - -; +#X msg 132 309 symbol cat; +#X msg 206 319 this is anything; +#X obj 20 337 t f s; +#X msg 57 308 1 0; +#X obj 45 387 print converted_to_symbols; +#X obj 20 407 print converted_to_floats; +#X text 62 338 Note that "this is anything" causes an error. That is +because 'anythings' don't conform to floats \, symbols \, lists \, +pointers. They can only be converted to "bang".; +#X text 18 430 In the example above \, note that the trigger object +does not split a list among the outlets like [unpack] does. Instead +it sends all list elements through all outlets and converts them as +necessary.; +#X text 20 486 Also note that some messages don't convert as nicely +as others. Hence \, the symbol "cat" converts to a ZERO when [trigger] +converts that symbol into a float. Likewise \, all numbers will convert +to a symbol called "float" when sent through [trigger]'s right-most +outlet.; +#X floatatom 425 248 5 0 0 0 - - -; +#X obj 482 248 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X symbolatom 539 286 10 0 0 0 - - -; +#X floatatom 594 162 5 0 0 0 - - -; +#X obj 594 200 pack f s; +#X msg 637 161 symbol earth; +#X msg 652 181 symbol jupiter; +#X obj 596 267 print a_list; +#X floatatom 426 403 5 0 0 0 - - -; +#X symbolatom 470 403 10 0 0 0 - - -; +#X obj 514 421 print another_list; +#X text 630 131 Click on all these.; +#X obj 426 363 r anythings; +#X text 425 303 Note how each of the messages sent to this trigger +are converted appropriately for their receiving atoms boxes. Also note +that "anythings" are sent to the example below.; +#X text 430 447 I'e used the [route] object to show how "anythings" +are converted as they pass through the above [trigger]. Note that all +messages converted to floats are displayed here in the number box \, +all symbols are displayed in the symbol box \, and all lists are printed +to the terminal window.; +#X obj 654 247 s anythings; +#X obj 426 383 route float symbol list; +#X msg 642 103 symbol cat; +#X connect 0 0 4 0; +#X connect 1 0 4 0; +#X connect 2 0 4 0; +#X connect 3 0 4 0; +#X connect 4 0 33 0; +#X connect 4 1 34 0; +#X connect 4 2 35 0; +#X connect 4 3 40 0; +#X connect 4 4 48 0; +#X connect 14 0 20 0; +#X connect 15 0 14 0; +#X connect 16 0 14 0; +#X connect 17 0 14 0; +#X connect 18 0 14 0; +#X connect 19 0 14 0; +#X connect 22 0 26 0; +#X connect 23 0 26 0; +#X connect 24 0 26 0; +#X connect 25 0 26 0; +#X connect 26 0 29 0; +#X connect 26 1 28 0; +#X connect 27 0 26 0; +#X connect 36 0 37 0; +#X connect 37 0 4 0; +#X connect 38 0 37 1; +#X connect 39 0 37 1; +#X connect 45 0 49 0; +#X connect 49 0 41 0; +#X connect 49 1 42 0; +#X connect 49 2 43 0; +#X connect 50 0 4 0; +#X restore 475 325 pd trigger_can_convert_data_types; +#X obj 822 238 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 902 164 5 0 0 0 - - -; +#X text 477 246 at the top-right to clearly see "logical time"; +#X text 477 259 as measured by [timer].; +#X text 509 554 This document was updated for PD version 0.35 test +26 by Dave Sabine as part of a project called pddp proposed by Krzysztof +Czaja to build comprehensive documentation for PD.; +#X text 472 378 RELATED OBJECTS; +#X obj 557 404 route; +#X obj 477 404 unpack; +#X obj 523 404 pack; +#X obj 598 404 delay; +#X obj 640 404 pipe; +#X obj 675 404 float; +#X obj 715 404 int; +#X obj 744 404 symbol; +#N canvas 0 22 456 306 related_objects_from_other_libraries 0; +#X obj 31 36 exciter 200 200 8 0.1 1 1; +#X text 26 77 These objects are offered in PD only if you have downloaded +and properly installed the appropriate library. These objects may or +may not exist in a single library.; +#X text 25 126 The best places to find information about PD's libraries +is:; +#X text 22 148 www.pure-data.org and click on "Downloads" then "Software" +; +#X text 24 163 or; +#X text 24 178 iem.kug.ac.at/pdb/; +#X restore 477 435 pd related_objects_from_other_libraries; +#X obj 940 5 pddp; +#X text 472 463 MORE INFO; +#X obj 479 490 all_about_data_types; +#X obj 480 516 all_about_lists_vs_anythings; +#X obj 822 157 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 17 138 "float" = f; +#X text 17 150 "bang" = b; +#X text 16 162 "symbol" = s; +#X text 17 176 "list" = l; +#X text 17 204 "anything" = a; +#X text 17 190 "pointer" = p; +#X text 26 45 The [trigger] object outputs its input from right to +left \, converting to the types indicated by its creation arguments. +There is also a "pointer" argument type (see the [pointer] object.) +; +#X text 20 364 Click the toggle to set the tempo and start the [metro] +simultaneously.; +#X text 67 413 Triggers are sent from right to left...so our tempo +messages gets sent to [metro] immediately before the numbers from the +toggle to start and stop the [metro].; +#X text 482 40 Below is a simple structure which will measure the "logical +time" between "bangs" from the [trigger] object.; +#X text 477 184 In this case \, I've simply patched a [delay]; +#X text 476 212 first and second "bangs" sent to the [timer].; +#X text 477 232 You can reset the [delay] with the number box; +#X text 86 15 - sequence messages in right-to-left order and convert +data; +#X text 503 15 types; +#X connect 3 0 5 0; +#X connect 4 0 3 1; +#X connect 6 0 11 0; +#X connect 11 0 3 0; +#X connect 11 1 4 0; +#X connect 13 0 15 1; +#X connect 13 1 15 0; +#X connect 14 0 13 0; +#X connect 15 0 16 0; +#X connect 17 0 18 0; +#X connect 22 0 23 0; +#X connect 23 0 31 0; +#X connect 24 0 22 1; +#X connect 32 0 24 1; +#X connect 50 0 24 0; +#X connect 50 0 22 0; |