Update of /cvsroot/pure-data/doc/pddp In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6452
Modified Files: pddp.pd Added Files: all_about_cyclone.pd all_about_data_structures.pd all_about_data_types.pd all_about_lists_vs_anythings.pd all_about_looping.pd all_about_symbol_construction.pd dynamic_sends.pd netreceive-help.pd pddp-style-guide.pd scalar-help.pd select-help.pd set-help.pd standard_gui_elements.pd sublist-help.pd Log Message: added a number of sketches for the help structure; most are not close to completion
--- NEW FILE: all_about_data_structures.pd --- #N canvas 317 126 761 632 10; #X text 43 164 see also:; #X obj 84 219 template; #X obj 161 277 append; #X obj 54 187 getsize; #X obj 121 187 setsize; #X obj 149 219 element; #X obj 216 277 sublist; #X obj 35 277 pointer; #X obj 99 277 get; #X obj 37 377 drawnumber; #X obj 38 416 plot; #X obj 114 376 drawpolygon; #X obj 104 414 filledpolygon; #X obj 204 378 drawcurve; #X obj 203 414 filledcurve; #X text 34 339 drawing objects:; #X text 9 34 The original idea behind the creation of Pd was to make a Max-like environment that also had a means of graphically specifying a score. Pd's "data structures" are the system devised for this purpose. ; #X text 33 257 for manipulating data structures:; #X obj 4 -3 cnv 15 750 20 empty empty all_about_data_structures 2 10 1 18 -233017 -66577 0; #X obj 719 -1 pddp; #X obj 35 219 struct; #X obj 129 277 set; #N canvas 0 22 454 304 display 0; #X restore 321 581 pd display; #X text 9 98 "scalar" is the basic graphical component of Pd's data structures. When working with data structures , all of the objects pertain to reading and editing "scalars".;
--- NEW FILE: all_about_lists_vs_anythings.pd --- #N canvas 118 146 866 595 10; #X msg 74 245 1 2 3; #X obj 134 276 route list; #X obj 134 297 print list; #X obj 209 297 print NOTlist; #X msg 183 224 list this is a list with a cast; #X msg 190 243 this is a list withOUT a cast; #X msg 41 225 list 1 2 3; #X msg 10 63 list; #X msg 17 83 list 5; #X msg 24 103 list pie; #X symbolatom 32 129 10 0 0 0 - - -; #X obj 4 2 cnv 15 850 20 empty empty all_about_lists_vs_anythings 20 10 1 18 -233017 -66577 0; #X obj 821 3 pddp; #X text 20 558 by Hans-Christoph Steiner hans@at.or.at; #X obj 65 437 list2int; #X obj 129 436 l2i; #X obj 131 462 a2l; #X obj 64 463 any2list; #X obj 65 412 lister; #X obj 64 489 list2symbol; #X obj 64 510 symbol2list; #X obj 153 489 l2s; #X obj 153 509 s2l; #X obj 197 490 tosymbol; #X obj 197 509 fromsymbol; #X text 500 259 use [prepend]!!; #X obj 617 257 prepend; #X obj 680 326 drip; #X text 587 326 write about:; #X obj 560 460 glue; #X obj 621 487 pack; #X obj 620 461 list2symbol; #X obj 730 460 tosymbol; #X text 8 175 More than one "float" in a message is considered a "list". More than one "symbol" in a message is not implicitly considered a "list" , only if you cast it.; #X text 87 104 A "list" of one "symbol" is translated into a "symbol". ; #X text 72 83 A "list" of one "float" is translated into a "float". ; #X text 50 63 An empty "list" is tranlated into a "bang".; #X text 7 39 SPECIAL CASES OF "LISTS".; #X text 496 214 working with "lists" and "anythings":; #X text 537 434 making "lists" from untyped inputs:; #X obj 10 148 print NOT-LISTS; #X obj 496 460 repack; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 1 3 0; #X connect 4 0 1 0; #X connect 5 0 1 0; #X connect 6 0 1 0; #X connect 7 0 40 0; #X connect 8 0 40 0; #X connect 9 0 10 0; #X connect 9 0 40 0; #X connect 31 0 30 0;
--- NEW FILE: scalar-help.pd --- #N canvas 351 60 461 532 10; #N canvas 0 22 454 304 scalar-window 0; #X restore 164 67 pd scalar-window; #X obj 2 2 cnv 15 450 20 empty empty "scalar" 2 11 1 18 -233017 -66577 0; #X obj 418 3 pddp; #X obj 256 478 all_about_data_structures; #X text 221 461 for more info , click on this:; #X text 29 307 - You can cut , copy , paste , and duplicate "scalars". ; #X text 29 212 - You can edit the contents of a "scalar" within the Properties panel. When you select 'Properties' , Pd will open a text editor with the contents of that "scalar". When you are done editing it , hit "OK" and your changes will take effect.; #X text 18 288 In edit mode:; #X text 29 323 - You can move "scalars" by clicking and dragging.; #X text 20 196 In any mode:; #X text 18 376 In run mode:; #X text 30 390 - You can resize breakpoints. The mouse cursor will change when you are resizing breakpoints.; #X text 30 417 - You can move breakpoints. Click near the breakpoint , but not so close that the mouse cursor changes to the resize cursor. ; #X text 29 338 - The blue rectangle is the "handle" for grabbing and moving the "scalar".; #X text 20 32 "scalar" is the basic graphical component of Pd's data structures.; #X text 305 512 updated for Pd 0.37.1; #X text 4 174 There are numerous ways to manually edit "scalars":; #X text 4 501 by Hans-Christoph Steiner hans@at.or.at;
--- NEW FILE: set-help.pd --- #N struct help-set-template1 float x float y; #N canvas 346 46 655 535 12; #X msg 272 235 next; #X floatatom 19 265 5 0 0 2 X_value - -; #X floatatom 106 265 5 0 0 2 Y_value - -; #X obj 258 260 pointer; #X text 261 189 output first scalar in list; #X text 318 235 output next item; #X text 282 332 First argument selects template.; #X text 282 347 Remaining args are names of fields.; #X msg 258 211 traverse pd-help-set-data , next; #N canvas 0 22 288 134 help-set-data 1; #X scalar help-set-template1 44 50 ;; #X scalar help-set-template1 99 73 ;; #X restore 377 409 pd help-set-data; #N canvas 164 72 425 146 help-set-template1 0; #X obj 41 87 filledpolygon 9 0 1 0 0 20 0 20 30 0 30; #X obj 60 21 template float x float y; #X restore 377 431 pd help-set-template1; #X text 86 10 -- set values in a scalar; #X obj 19 338 set help-set-template1 x y; #X text 359 497 updated for Pd version 0.35; #X text 6 72 [set] takes a pointer to a scalar in its rightmost inlet ; the remaining inlets set numeric values of fields. Only the leftmost inlet is "hot". You can't [set] "arrays" or "sublists". Instead , you can get pointers into them using [element] and [sublist] (probably not working yet) and set individual items.; #X obj 29 432 all_about_data_structures; #X text 13 408 for more info , open this patch:; #X obj 106 298 t b f; #X text 273 474 Miller's help patch:; #X obj 474 474 help-set; #X obj 21 10 set; #X connect 0 0 3 0; #X connect 1 0 12 0; #X connect 2 0 17 0; #X connect 3 0 12 2; #X connect 8 0 3 0; #X connect 17 0 1 0; #X connect 17 1 12 1;
--- NEW FILE: all_about_looping.pd --- #N canvas 255 95 856 623 10; #X text 460 79 looping objects:; #X obj 462 101 until; #X obj 572 102 loop; #X obj 458 504 susloop~; #X obj 527 504 loop~; #X text 455 483 for looping samples:; #X obj 0 2 cnv 15 850 20 empty empty all_about_looping 20 10 1 18 -233017 -66577 0; #X obj 816 3 pddp; #X obj 461 127 counter; #X obj 519 127 gem_counter; #X obj 604 127 cxc.counter; #X obj 463 551 pdp_loop; #X obj 534 551 pdp_qtloop~; #X obj 572 504 loopsampler; #X text 480 395 examples:; #X obj 480 424 test-loop~; #X obj 695 126 for++; #X obj 60 167 +; #X floatatom 89 170 5 0 0 0 - - -; #X msg 59 138 1; #X obj 139 186 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X msg 98 138 0; #X obj 60 209 t f f; #X text 214 302 X; #X text 76 306 Y; #X obj 60 289 t b f; #N canvas 0 22 450 300 graph2 0; #X array $0-array 100 float 1; #A 0 0 0.950467 0.973181 0.989041 0.997937 0.999806 0.994635 0.982459 0.963366 0.937489 0.905011 0.866159 0.821209 0.770476 0.714317 0.653128 0.587341 0.517417 0.44385 0.367158 0.28788 0.206575 0.123815 0.040184 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274 0.000796274; #X coords 0 1 99 -1 300 100 1; #X restore 82 405 graph; #X obj 90 314 tabwrite $0-array; #X obj 60 186 moses 100; #X obj 59 111 bng 20 250 50 0 empty empty start 0 -6 1 10 -4033 -1 -1; #X text 136 166 <-- counter; #X text 158 186 <-- split at array size to stop; #X text 186 199 and reset counter to 0; #X text 57 336 ^--bang for next step; #X obj 39 198 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X text 422 36 inf; #X obj 60 249 expr abs(cos( min (1.57 , ($f1 / $f2 - 0.4)) ) ); #X obj 263 227 hsl 128 15 1 127 0 1 empty empty change_graph_shape -130 8 1 12 -208896 -1 -1 1100 0; #X text 7 29 Programming with Pd is a different way of thinking that standard procedural or object-oriented programming. Looping illustrates this. Instead of setting up a C-like [counter] or [for++] , set up a condition to continue the loop , and a condition that ends the loop. ; #X text 13 362 In this example , the "bang" from [t b f] continues the loop. The [moses 100] ends the loop.; #X text 17 601 by Hans-Christoph Steiner hans@at.or.at; #X text 629 603 updated for Pd version 0.37.1; #X text 125 138 <-- stop; #X text 451 466 There are also specific loops for samples and video: ; #X text 458 530 video looping:; #X obj 660 504 xgroove~; #X obj 619 353 readsf~; #X obj 431 338 bng 15 250 50 0 empty empty play_sound 17 7 0 10 -4033 -1 -1; #X obj 619 328 spigot; #X obj 656 306 tgl 15 0 empty empty allow_looping 17 7 0 10 -4033 -1 -1 0 1; #X text 429 271 For the most basic looping of samples , you can use [readsf~]:; #X msg 430 307 open ../sound/voice.wav; #X text 664 373 ^- "bang"ed when complete; #X connect 17 0 18 0; #X connect 17 0 28 0; #X connect 18 0 17 1; #X connect 19 0 17 0; #X connect 20 0 21 0; #X connect 21 0 18 0; #X connect 21 0 17 1; #X connect 22 0 36 0; #X connect 22 1 27 1; #X connect 25 0 34 0; #X connect 25 1 27 0; #X connect 28 0 22 0; #X connect 28 1 20 0; #X connect 29 0 19 0; #X connect 34 0 19 0; #X connect 36 0 25 0; #X connect 37 0 36 1; #X connect 46 1 48 0; #X connect 47 0 46 0; #X connect 48 0 46 0; #X connect 49 0 48 1; #X connect 51 0 46 0;
--- NEW FILE: select-help.pd --- #N canvas 192 92 972 630 10; #X floatatom 22 332 0 0 0 0 - - -; #X msg 156 120 6; #X msg 119 120 234; #X floatatom 119 150 0 0 0 0 - - -; #X msg 121 301 1; #X msg 89 301 54; #X obj 22 392 print x1; #X obj 100 391 print x2; #X msg 58 301 23; #X msg 22 302 234; #X msg 65 120 6; #X obj 28 180 select 6; #X msg 28 120 234; #X obj 28 210 print x1; #X obj 107 211 print x2; #X obj 177 391 print x3; #X obj 255 392 print x4; #X floatatom 28 150 0 0 0 0 - - -; #X obj 22 362 select 23 54 1; #X text 54 31 abbreviation:; #X obj 150 31 sel; #X text 20 53 In its simplest form shown below , Select checks its input agains the constant "6". If they match , the first outlet gives "bang" and otherwise the input is copied to the second outlet. If Select is used with a single argument , a second inlet allows you to change the test value.; #X text 22 239 You can give several arguments. You get an outlet for each test value and finally an outlet for values which match none of them. In this case you don't get inlets to change the test values: ; #X obj 32 566 print x1; #X obj 114 567 print x2; #X msg 34 451 symbol cort; #X msg 46 476 symbol zack; #X msg 178 476 symbol cort; #X msg 184 501 symbol zack; #X obj 34 539 select cort; #X msg 308 462 symbol cort; #X msg 415 462 symbol zack; #X obj 308 551 print x1; #X obj 385 551 print x2; #X obj 308 521 select cort zack; #X obj 462 551 print x3; #X msg 413 487 symbol bill; #X text 24 426 Select can also be used to sort symbols:; #X text 81 601 see also:; #X obj 173 603 route; #X obj 32 10 select; #X text 92 10 - compare numbers or symbols; #X text 329 602 updated for Pd version 0.37; #X obj 820 7 pddp; #X text 614 589 Miller's help patch:; #X obj 759 589 help-select; #X connect 0 0 18 0; #X connect 1 0 3 0; #X connect 2 0 3 0; #X connect 3 0 11 1; #X connect 4 0 0 0; #X connect 5 0 0 0; #X connect 8 0 0 0; #X connect 9 0 0 0; #X connect 10 0 17 0; #X connect 11 0 13 0; #X connect 11 1 14 0; #X connect 12 0 17 0; #X connect 17 0 11 0; #X connect 18 0 6 0; #X connect 18 1 7 0; #X connect 18 2 15 0; #X connect 18 3 16 0; #X connect 25 0 29 0; #X connect 26 0 29 0; #X connect 27 0 29 1; #X connect 28 0 29 1; #X connect 29 0 23 0; #X connect 29 1 24 0; #X connect 30 0 34 0; #X connect 31 0 34 0; #X connect 34 0 32 0; #X connect 34 1 33 0; #X connect 34 2 35 0; #X connect 36 0 34 0;
--- NEW FILE: standard_gui_elements.pd --- #N canvas 92 31 460 548 10; #X msg 22 148 ; pd dsp $1; #X obj 2 2 cnv 15 450 20 empty empty [object_name] 2 11 1 18 -233017 -66577 0; #X obj 22 107 tgl 35 0 empty empty Start 0 -6 1 12 -114652 -1 -1 0 1; #X obj 340 114 vsl 20 128 0 127 0 0 empty empty master_level 0 -8 1 10 -237557 -1 -1 0 1; #X obj 194 466 grouping patch; #X obj 119 218 nbx 5 20 -1e+37 1e+37 0 0 empty empty display_number_box 0 -6 1 16 -199729 -1 -1 0 256; #X text 17 261 The idea behind these objects is to have a color scheme which consistently represents various ideas. Also , having GUI objects highlighted by color signals the user that they should play with that object , while plain white objects are part of the implementation. ; #X obj 418 3 pddp; #X text 175 447 click on these for more info:; #X text 248 523 updated for Pd version 0.37.1; #N canvas 0 22 454 304 related_objects 0; #X restore 317 466 pd related_objects; #X text 5 523 by H-C Steiner hans@at.or.at; #X text 14 37 [object_name] is an example patch for the PDDP style guide.;
--- NEW FILE: dynamic_sends.pd --- #N canvas 499 325 522 457 10; #X obj 310 194 f $0; #X symbolatom 318 235 0 0 0 0 - - -; #X obj 310 213 makesymbol pd-%s-controlled; #N canvas 0 22 482 332 1024-controlled 0; #X restore 319 61 pd $0-controlled; #N canvas 0 22 478 328 controlled 0; #X restore 68 61 pd controlled; #X msg 46 167 ; pd-controlled vis $1; #X obj 46 123 tgl 40 0 empty empty open_close 0 -6 1 12 -217060 -1 -1 1 1; #X msg 310 285 ; $1 vis $2; #X obj 310 256 pack symbol float; #X obj 310 170 t b f; #X obj 310 125 tgl 40 0 empty empty open_close 0 -6 1 12 -217060 -1 -1 0 1; #X text 112 333 Since $0 is only expanded if it starts the name , it is necessary to use [makesymbol] in order to put the $0 expansion into the middle of the name.; #X connect 0 0 2 0; #X connect 2 0 1 0; #X connect 2 0 8 0; #X connect 6 0 5 0; #X connect 8 0 7 0; #X connect 9 0 0 0; #X connect 9 1 8 1; #X connect 10 0 9 0;
--- NEW FILE: pddp-style-guide.pd --- #N canvas 323 116 596 539 10; #X text 33 38 Here are various text conventions for discussing various aspects of Pd in text:; #X text 36 88 atoms:; #X text 52 108 "anything" , "bang" , "float" , "list" , "pointer" , "symbol"; #X text 33 138 objects:; #X text 50 157 [route] , [set] , [float] , [symbol] , [trigger] , etc.; #X text 34 191 messages:; #X text 49 214 [pd dsp 1 ( , [set 0 ( ,; #X obj 37 450 standard_gui_elements;
--- NEW FILE: all_about_data_types.pd --- #N canvas 290 43 848 640 10; #X obj 434 530 route; #X obj 213 411 symbol; #X obj 153 432 int; #X floatatom 91 286 5 0 0 0 - - -; #X text 130 286 float; #X symbolatom 182 286 10 0 0 0 - - -; #X text 263 287 symbol; #X obj 271 411 pointer; #X obj 519 109 symbol; #X symbolatom 519 156 0 0 0 0 - - -; #X msg 528 133 word; #X msg 519 91 test; #X obj 42 414 bang; #X obj 42 434 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X text 61 434 aka [bng]; #X msg 502 69 symbol this; #X text 576 111 casting as a symbol; #X text 593 68 set type directly; #X text 567 134 does not work (check console messages); #X floatatom 432 131 5 0 0 0 - - -; #X msg 437 110 12; #X msg 420 90 float 83; #X obj 18 556 int; #X obj 26 536 / 5.23; #X floatatom 26 508 5 0 0 0 - - -; #X floatatom 59 576 5 0 0 0 - - -; #X floatatom 18 576 5 0 0 0 - - -; #X text 5 308 casting and storage objects:; #X obj 153 412 float; #X text 5 326 There a number of objects which are used for storing messages , or casting messages as a specific data type , sometimes converting from one data type to another. The right inlet on these objects is stores that value , which can be later output using a bang. ; #N canvas 770 126 474 324 Related_Objects 0; #X obj 32 54 ftos; #X obj 68 54 list2symbol; #X text 23 22 data type conversion; #X obj 155 55 tosymbol; #X obj 219 55 fromsymbol; #X obj 36 252 lister; #X obj 34 98 atoi; #X obj 30 138 list2int; #X obj 94 137 l2i; #X obj 96 163 a2l; #X obj 29 164 any2list; #X obj 158 138 list2symbol; #X obj 158 159 symbol2list; #X obj 247 138 l2s; #X obj 247 158 s2l; #X restore 680 577 pd Related_Objects; #X text 10 240 Data types are known as 'atoms' in Pd. float and symbol atoms have 'atom boxes'for realtime display and control from within a patch.; #X obj 404 19 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 404 594 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X text 411 279 Many objects cast the data they receive when they output it:; #X text 530 376 Some objects do not cast the data:; #X obj 428 347 trigger anything; #X msg 428 322 this is a list without a cast; #X obj 428 370 print; #X text 414 420 Some objects need to have the data explicitly declared in order to handle it. These are mostly symbol handling objects.; #X text 414 487 Objects which route data generally can handle explicitly or implicitly defined data.; #X obj 480 530 trigger; #X obj 538 530 niagara; #X obj 430 463 select; #X text 411 41 symbols need to be declared explicitly , floats do not , but can be:; #X obj 213 434 lister; #X obj 4 -3 cnv 15 750 20 empty empty all_about_data_types 20 10 1 18 -233017 -66577 0; #X obj 719 -1 pddp; #X text 17 604 by Hans-Christoph Steiner hans@at.or.at; #X text 12 81 the "anything" data type allows anything to pass through unchanged.; #X text 17 470 examples of casting:; #X text 424 557 click on these for more info:; #X text 629 606 updated for Pd version 0.37.1; #X text 82 49 anything bang float list pointer scalar symbol; #X text 6 34 data types (atoms):; #X text 0 68 "anything"; #X text 0 184 "list"; #X text 0 170 "float"; #X text 0 211 "symbol"; #X text 0 197 "scalar"; #X text 0 157 "bang"; #X msg 100 105 anything 1 two three; #X msg 251 105 one 2 3; #X obj 156 188 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 160 162 t a b f l p s; #X obj 190 189 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X msg 253 139 list one 2 3; #X msg 292 169 1 2 3; #X obj 108 506 tosymbol; #X obj 172 507 fromsymbol; #X obj 255 506 list2symbol; #X obj 259 548 ftos; #X obj 445 577 all_about_lists_vs_anythings; #X connect 8 0 9 0; #X connect 10 0 9 0; #X connect 11 0 8 0; #X connect 15 0 9 0; #X connect 20 0 19 0; #X connect 21 0 19 0; #X connect 22 0 26 0; #X connect 23 0 22 0; #X connect 23 0 25 0; #X connect 24 0 23 0; #X connect 32 0 33 0; #X connect 36 0 38 0; #X connect 37 0 36 0; #X connect 61 0 64 0; #X connect 62 0 64 0; #X connect 64 0 63 0; #X connect 64 3 65 0; #X connect 66 0 64 0; #X connect 67 0 64 0;
--- NEW FILE: netreceive-help.pd --- #N canvas 147 52 764 593 10; #X obj 94 453 netreceive 4567 0 old; #X obj 76 453 tgl 17 0 empty empty empty 0 -6 0 8 -4033 -1 -1 0 1; #X text 10 415 sends everything it receives into the global message space; #X text 12 508 You can send and receive messages to Pd from the command line using 'pdsend' and 'pdreceive'.; #X obj 4 -3 cnv 15 750 20 empty empty netreceive 20 10 1 18 -233017 -66577 0; #X obj 719 -1 pddp; #X obj 612 537 help-netreceive; #X text 467 537 Miller's help patch:; #X connect 0 0 1 0;
--- NEW FILE: sublist-help.pd --- #N canvas 28 72 733 292 12; #X text 407 254 updated for Pd version 0.32; #X obj 21 10 sublist; #X text 99 9 -- get a list from a field of a scalar; #X text 30 49 Don't try this yet -- it's untested.; #X text 37 87 "sublist" will take as creation arguments a template name and a field name ; its one input takes a pointer. If you send a pointer (which should agree with the template name) , "sublist" will output the field (which should be of type "list".) The output is in fact a pointer to the head of the sublist.; #X text 27 226 for more info , open this patch:; #X text 363 226 Miller's help patch:; #X obj 43 250 all_about_data_structures; #X obj 564 226 help-sublist;
--- NEW FILE: all_about_symbol_construction.pd --- #N canvas 180 74 859 631 10; #X obj 0 2 cnv 15 850 20 empty empty all_about_symbol_construction 20 10 1 18 -233017 -66577 0; #X obj 816 3 pddp; #X text 17 601 by Hans-Christoph Steiner hans@at.or.at; #X text 629 603 updated for Pd version 0.37.1; #X obj 452 550 sprintf; #X obj 751 550 makesymbol; #X obj 659 550 makefilename; #X obj 574 550 list2symbol; #X symbolatom 456 177 55 0 0 0 - - -; #X obj 456 151 list2symbol; #X symbolatom 528 129 6 0 0 0 - - -; #X msg 528 103 symbol -; #X msg 456 73 make these into one symbol with no spaces; #X text 445 35 By setting a symbol on the right inlet of [list2symbol] , you can create symbols without spaces:; #X text 592 102 <- click here to use "-"; #X text 613 115 instead of spaces; #X text 9 85 There are many different ways of constructing symbols from various parts. You can turn lists into symbols by replacing the spaces with other characters or you can use objects with "format strings" that allow you to create symbols with more flexibility; #X obj 510 550 tosymbol; #X text 442 211 [tosymbol] works in a very similar way:; #X text 9 40 Many times you need to dynamically create different symbols. For example , if you are working with many files , you might want to name them with a sequential number.; #X symbolatom 455 316 55 0 0 0 - - -; #X msg 455 232 make these into one symbol with no spaces; #X text 638 274 instead of spaces; #X obj 455 292 tosymbol; #X text 546 144 ^-- or type here and hit enter; #X text 446 523 Related objects:; #X msg 517 260 separator -|-; #X text 616 261 <- click here to use "-|-"; #X connect 9 0 8 0; #X connect 10 0 9 1; #X connect 11 0 10 0; #X connect 12 0 9 0; #X connect 21 0 23 0; #X connect 23 0 20 0; #X connect 26 0 23 0;
--- NEW FILE: all_about_cyclone.pd --- #N canvas 588 66 510 630 10; #X obj 4 4 cnv 15 500 20 empty empty all_about_cyclone 20 10 1 18 -233017 -66577 0; #X obj 471 5 pddp; #X text 293 604 updated for Pd version 0.37.1; #X text 49 199 - hammer contains Pd versions of Max objects; #X text 49 220 - sickle contains Pd versions of MSP objects; #X text 50 240 - optional dummies sub-library , which contains a large set of dummy classes , serving as substitutions for Max/MSP classes not (yet) implemented in the cyclone; #X text 51 285 - cyclone sub-library , taking care of loading the other three components , and which itself contains: a small set of operators (!- , !/ , ==~ , !=~ , <~ , <=~ , >~ , >=~ , !-~ , !/~ , %~ , +=~) and an importing mechanism provided by the cyclone class; #X text 41 63 Cyclone is a library of Pure Data classes , bringing some level of compatibility between Max/MSP and Pd environments. Although being itself in the early stage of development , it is meant to eventually become part of a much larger project , aiming at unification and standardization of computer musician's tools. In its current form , cyclone is mainly for people using both Max and Pd , and thus wanting to develop cross-platform patches , but it also provide many very useful objects for the Pd-only user.; #X text 7 462 For more info: http://suita.chopin.edu.pl/~czaja/miXed/externs/cyclone.html;
Index: pddp.pd =================================================================== RCS file: /cvsroot/pure-data/doc/pddp/pddp.pd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** pddp.pd 22 Aug 2003 00:20:54 -0000 1.1 --- pddp.pd 27 May 2004 16:53:47 -0000 1.2 *************** *** 1,31 **** ! #N canvas 262 2 490 557 10; ! #X text 14 17 PDDP: Pure Data Documentation Project; ! #X text 25 40 The PDDP was proposed initially in early 2002 by Krzysztof ! Czaja who suggested that Pure Data was in need of comprehensive documentation. ! ; ! #X text 45 162 - Michal Seta; ! #X text 45 135 - Miller Puckette; ! #X text 45 148 - Dave Sabine; ! #X text 25 89 The project is now managed un-officially by Dave Sabine ! who acts as primary author and editor. The people involved in this ! project include (alphabetically):; ! #X text 25 184 PDDP will eventually be available in the main PD distribution ! , but for now is available at Dave's web site: http://www.davesabine.com/media/puredata.asp ! ; ! #X text 25 231 All comments , corrections , etc. regarding the PDDP ! reference files should be directed to Dave Sabine: dave@davesabine.com ! ; ! #X text 14 282 THINGS TO NOTE:; ! #X text 25 308 Authors: If you would like to participate in this project ! , simply gather together information about objects , tutorials , ! examples , etc. and contact Dave Sabine for info about formatting ! your documents. All documents should then be forwarded to Dave to be ! included in the PDDP download which is available at his web site.; ! #X text 25 396 Externals and other Libraries: Each PDDP document includes ! mention of "related objects from other PD libraries" as well as mention ! of "related native PD objects". The objects from other libraries are ! available only if you download those libraries from their respective ! authors and integrate them properly into your version of PD. We do ! not and cannot maintain a complete list of externals - but we try. ! For more info about externals and other objects , see http://www.pure-data.org/ ! and the Pure Data Base at http://iem.kug.ac.at/pdb/; --- 1,34 ---- ! #N canvas 262 22 459 539 10; ! #X text 25 32 The PDDP was proposed initially in early 2002 by Krzysztof ! Czaja who suggested that Pure Data was in need of comprehensive documentation. ! ; ! #X text 45 154 - Michal Seta; ! #X text 45 127 - Miller Puckette; ! #X text 45 140 - Dave Sabine; ! #X text 25 81 The project is now managed un-officially by Dave Sabine ! who acts as primary author and editor. The people involved in this ! project include (alphabetically):; ! #X text 14 297 THINGS TO NOTE:; ! #X text 25 315 Authors: If you would like to participate in this project ! , simply gather together information about objects , tutorials , ! examples , etc. and contact Dave Sabine for info about formatting ! your documents. All documents should then be forwarded to Dave to be ! included in the PDDP download which is available at his web site.; ! #X text 25 403 Externals and other Libraries: Each PDDP document includes ! mention of "related objects from other PD libraries" as well as mention ! of "related native PD objects". The objects from other libraries are ! available only if you download those libraries from their respective ! authors and integrate them properly into your version of PD. We do ! not and cannot maintain a complete list of externals - but we try. ! For more info about externals and other objects , see http://www.pure-data.org/ ! and the Pure Data Base at http://iem.kug.ac.at/pdb/; ! #X text 45 168 - Hans-Christoph Steiner; ! #X text 25 238 All comments , corrections , etc. regarding the PDDP ! reference files should be directed to the Pd Developers' list: pd-dev@iem.at ! ; ! #X text 26 188 PDDP is now part of the CVS Pd distributions. It was ! originally available at Dave's web site: http://www.davesabine.com/media/puredata.asp ! ; ! #X obj 3 2 cnv 15 450 20 empty empty PDDP 2 12 1 18 -233017 -66577 ! 0; ! #X text 102 5 Pure Data Documentation Project;