Update of /cvsroot/pure-data/doc/pddp In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20967
Modified Files: help-trigger.pd Log Message: cleaned up patch for MacOSX
Index: help-trigger.pd =================================================================== RCS file: /cvsroot/pure-data/doc/pddp/help-trigger.pd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** help-trigger.pd 22 Aug 2003 00:20:54 -0000 1.1 --- help-trigger.pd 19 Apr 2004 21:52:29 -0000 1.2 *************** *** 1,225 **** ! #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; --- 1,232 ---- ! #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;