diff options
Diffstat (limited to 'doc/pddp/help-trigger.pd')
-rw-r--r-- | doc/pddp/help-trigger.pd | 232 |
1 files changed, 0 insertions, 232 deletions
diff --git a/doc/pddp/help-trigger.pd b/doc/pddp/help-trigger.pd deleted file mode 100644 index 00f0780a..00000000 --- a/doc/pddp/help-trigger.pd +++ /dev/null @@ -1,232 +0,0 @@ -#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.puredata.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 pddp_open all_about_data_types; -#X obj 480 516 pddp_open 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; |