From 9cd18a9a42d6494a36043a594573fd167b6edc55 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 19 Apr 2004 21:52:29 +0000 Subject: cleaned up patch for MacOSX svn path=/trunk/; revision=1613 --- doc/pddp/help-trigger.pd | 457 ++++++++++++++++++++++++----------------------- 1 file 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; -- cgit v1.2.1