From 59b6ed633cd63ec112f4367365ac14479a8e4120 Mon Sep 17 00:00:00 2001 From: Guenter Geiger Date: Wed, 13 Nov 2002 08:53:08 +0000 Subject: This commit was generated by cvs2svn to compensate for changes in r208, which included commits to RCS files with non-trunk default branches. svn path=/trunk/; revision=209 --- doc/additional/pd-msg/0.intro.txt | 152 +++++++++++++++++++++ doc/additional/pd-msg/1.msg_and_patch/0.all_msg.pd | 82 +++++++++++ .../pd-msg/1.msg_and_patch/1.0.objects.pd | 28 ++++ .../pd-msg/1.msg_and_patch/1.1.add_objects.pd | 59 ++++++++ .../pd-msg/1.msg_and_patch/1.2.create_patch.pd | 29 ++++ .../pd-msg/1.msg_and_patch/1.3.show_hide.pd | 9 ++ doc/additional/pd-msg/1.msg_and_patch/2.menu.pd | 36 +++++ .../pd-msg/1.msg_and_patch/3.0.events.pd | 32 +++++ .../pd-msg/1.msg_and_patch/3.1.motion.pd | 35 +++++ .../pd-msg/1.msg_and_patch/3.2.cut_paste.pd | 55 ++++++++ doc/additional/pd-msg/1.msg_and_patch/4.fonts.pd | 24 ++++ .../pd-msg/1.msg_and_patch/5.loadbang.pd | 16 +++ doc/additional/pd-msg/2.msg_and_pd/1.pd_basic.pd | 15 ++ doc/additional/pd-msg/2.msg_and_pd/2.open_close.pd | 9 ++ doc/additional/pd-msg/3.pdscript/README | 16 +++ doc/additional/pd-msg/3.pdscript/lisp.pd | 2 + doc/additional/pd-msg/3.pdscript/pdsend | Bin 0 -> 5120 bytes doc/additional/pd-msg/3.pdscript/test.sh | 38 ++++++ doc/additional/pd-msg/3.pdscript/test.txt | 83 +++++++++++ .../pd-msg/4.msg_from_tcl/0.create_dummy_patch | 18 +++ doc/additional/pd-msg/4.msg_from_tcl/1.tcl2pd | 33 +++++ doc/additional/pd-msg/4.msg_from_tcl/2.nogui | 35 +++++ doc/additional/pd-msg/4.msg_from_tcl/2.nogui.txt | 12 ++ doc/additional/pd-msg/4.msg_from_tcl/recv.pd | 5 + doc/additional/pd-msg/4.msg_from_tcl/test.pd | 9 ++ doc/additional/pd-msg/5.examples/1.polyphonie.pd | 99 ++++++++++++++ .../pd-msg/5.examples/2.create_new_abstract.pd | 29 ++++ doc/additional/pd-msg/5.examples/asound.pd | 52 +++++++ 28 files changed, 1012 insertions(+) create mode 100755 doc/additional/pd-msg/0.intro.txt create mode 100755 doc/additional/pd-msg/1.msg_and_patch/0.all_msg.pd create mode 100755 doc/additional/pd-msg/1.msg_and_patch/1.0.objects.pd create mode 100755 doc/additional/pd-msg/1.msg_and_patch/1.1.add_objects.pd create mode 100755 doc/additional/pd-msg/1.msg_and_patch/1.2.create_patch.pd create mode 100755 doc/additional/pd-msg/1.msg_and_patch/1.3.show_hide.pd create mode 100755 doc/additional/pd-msg/1.msg_and_patch/2.menu.pd create mode 100755 doc/additional/pd-msg/1.msg_and_patch/3.0.events.pd create mode 100755 doc/additional/pd-msg/1.msg_and_patch/3.1.motion.pd create mode 100755 doc/additional/pd-msg/1.msg_and_patch/3.2.cut_paste.pd create mode 100755 doc/additional/pd-msg/1.msg_and_patch/4.fonts.pd create mode 100755 doc/additional/pd-msg/1.msg_and_patch/5.loadbang.pd create mode 100755 doc/additional/pd-msg/2.msg_and_pd/1.pd_basic.pd create mode 100755 doc/additional/pd-msg/2.msg_and_pd/2.open_close.pd create mode 100755 doc/additional/pd-msg/3.pdscript/README create mode 100755 doc/additional/pd-msg/3.pdscript/lisp.pd create mode 100755 doc/additional/pd-msg/3.pdscript/pdsend create mode 100755 doc/additional/pd-msg/3.pdscript/test.sh create mode 100755 doc/additional/pd-msg/3.pdscript/test.txt create mode 100755 doc/additional/pd-msg/4.msg_from_tcl/0.create_dummy_patch create mode 100755 doc/additional/pd-msg/4.msg_from_tcl/1.tcl2pd create mode 100755 doc/additional/pd-msg/4.msg_from_tcl/2.nogui create mode 100755 doc/additional/pd-msg/4.msg_from_tcl/2.nogui.txt create mode 100755 doc/additional/pd-msg/4.msg_from_tcl/recv.pd create mode 100755 doc/additional/pd-msg/4.msg_from_tcl/test.pd create mode 100755 doc/additional/pd-msg/5.examples/1.polyphonie.pd create mode 100755 doc/additional/pd-msg/5.examples/2.create_new_abstract.pd create mode 100755 doc/additional/pd-msg/5.examples/asound.pd diff --git a/doc/additional/pd-msg/0.intro.txt b/doc/additional/pd-msg/0.intro.txt new file mode 100755 index 00000000..55b15591 --- /dev/null +++ b/doc/additional/pd-msg/0.intro.txt @@ -0,0 +1,152 @@ +Here some documentation about internal pd messages. +(pd-msg_05) + +1) Thoses msg are sent directly to pd (pd selector) or to a loaded patch (pd-patch.pd selector). + all thoses msg has to be finnished by a ";" + you can test them using : + in the file menu : message + pdsend + the tclsend2pd in the 4.msg_from_tcl folder. + + Thoses message allows you (examples): + To control pd without the gui : + Take benefit of the no-gui option + open a patch via socket... (tcl, python, sh, c++,...) + modify or create new patch + Create patch that will create some other + Deals with massive polyphonie (100 osc~ or more...) + load patchs from an other + construct generative patch + Create new gui + etc... + +2) Here an list of those msg (* are documented somewhere in this doc): + + messages to pd: + init [gimme] + filename [symbol] [symbol] + * open [symbol] [symbol] + * quit + foo [gimme] + * dsp [gimme] + meters [float] + key [gimme] + * audiostatus + finderror + ping + + messages to canvas: + * obj [gimme] + * msg [gimme] + * floatatom [gimme] + * symbolatom [gimme] + * text [gimme] + * graph [gimme] + * array + * scalar [gimme] + bng [gimme] + toggle [gimme] + vslider [gimme] + hslider [gimme] + radio [gimme] + vumeter [gimme] + mycnv [gimme] + * connect [float] [float] [float] [float] + * restore [gimme] + write [symbol] [defsymbol] + read [symbol] [defsymbol] + mergefile [symbol] [defsymbol] + sort + * click [float] [float] [float] [float] + * mouseup [float] [float] [float] + * key [gimme] + * motion [float] [float] [float] + * print [symbol] + * menusave + * menusaveas + * menuclose [deffloat] + * saveto [symbol] [symbol] + * cut + * copy + * paste + * duplicate + * selectall + * tidy + * texteditor + * editmode [deffloat] + protectmode [deffloat] + * print [symbol] + * pop [deffloat] + * loadbang + * relocate [symbol] [symbol] + * menufont + * font [float] [float] [float] + * find [gimme] + * findagain + * findparent + * vis [float] + properties [float] [float] + help [float] [float] + arraydialog [symbol] [float] [float] [float] + map [float] + clear + intatom [gimme] + atom [gimme] + + + +3) Here the map of the documentation : + 1.msg_and_patch + describe msg that can be sent to patch. + contains pd files + + 2.msg_and_pd + describe msg that can be sent to pd. + contains pd files + + 3.pdscript + it's sh scrip using pdsend to create patch into pd. + pdscript has been done by Guenter Geiger + contains it's own readme + files. + + 4.msg_from_tcl/tk + decribe how to use tcl/tk to create, open patch, etc... + + 5.Examples + Contain an example of how a "obj x y myOsc~" message can be use + to deal with massive polyphonie + +4) Releases : + + release 0.5 : pd-msg_05.tar.gz + add some more msg. + Thanks to Krzysztof Czaja + all msg are listed for pd0.34 + + release 0.4 : pd-msg_04.tar.gz + add many message : + the events messages + the menu messages + the cut&paste msg, etc... + complete the polyphonie example + + release 0.3 : pd-msg + Rearenge patch & examples in diferents directory. + add polyphonie examples + add tcl scripts... + + release 0.2 : self-generation + add messages to open and close patch. + + release 0.1 : self-construction + first release + +5) To do list : + + some msg are not well explain or not explain at all. + +6) Reference : + Look @ the end of code of g_canvas.c in the source directory. + + +Damien HENRY \ No newline at end of file diff --git a/doc/additional/pd-msg/1.msg_and_patch/0.all_msg.pd b/doc/additional/pd-msg/1.msg_and_patch/0.all_msg.pd new file mode 100755 index 00000000..53427be0 --- /dev/null +++ b/doc/additional/pd-msg/1.msg_and_patch/0.all_msg.pd @@ -0,0 +1,82 @@ +#N canvas 708 185 541 701 10; +#X text 14 2 Here the list of all the messages :; +#X msg 40 207 array 500 190; +#X msg 40 233 scalar 500 220; +#X msg 40 318 restore; +#X msg 40 292 connect \$1 \$2 \$3 \$4; +#X text 16 28 objects; +#X text 17 267 methods for reading files; +#X text 20 345 events; +#X msg 40 376 click \$1 \$2 \$3 \$4; +#X msg 40 426 mouseup \$1 \$2 \$3; +#X text 375 6 GUI stuff; +#X msg 375 30 menusave; +#X msg 375 56 menusaveas; +#X msg 375 82 menuclose; +#X msg 375 108 saveto; +#X msg 375 194 cut; +#X msg 375 217 copy; +#X msg 375 266 duplicate; +#X msg 375 134 tidy; +#X msg 375 160 texteditor; +#X msg 375 464 editmode \$1; +#X msg 375 536 print; +#X msg 375 622 pop; +#X msg 375 500 loadbang; +#X msg 375 572 relocate; +#X msg 375 307 menufont; +#X msg 375 331 font 10 100 100; +#X msg 375 402 findagain; +#X msg 375 426 findparent; +#X msg 375 598 vis; +#X obj 40 631 s pd-0.all_msg.pd; +#X obj 375 652 s pd-0.all_msg.pd; +#X msg 40 51 obj 300 10 r test; +#X msg 40 77 msg 300 40 bang; +#X msg 40 129 symbolatom 300 100 symbol; +#X msg 40 155 text 300 130 comment; +#X msg 40 181 graph; +#X msg 40 499 key 1 \$1; +#X text 456 81 Warnnig !!!; +#X text 426 109 ?????; +#X text 149 234 ?????; +#X msg 375 242 paste; +#X msg 375 379 find test; +#X text 443 570 ?????; +#X msg 40 401 motion \$1 \$2 \$3; +#X msg 40 103 floatatom 300 70; +#X connect 1 0 30 0; +#X connect 2 0 30 0; +#X connect 3 0 30 0; +#X connect 4 0 30 0; +#X connect 8 0 30 0; +#X connect 9 0 30 0; +#X connect 11 0 31 0; +#X connect 12 0 31 0; +#X connect 13 0 31 0; +#X connect 14 0 31 0; +#X connect 15 0 31 0; +#X connect 16 0 31 0; +#X connect 17 0 31 0; +#X connect 18 0 31 0; +#X connect 19 0 31 0; +#X connect 20 0 31 0; +#X connect 21 0 31 0; +#X connect 22 0 31 0; +#X connect 23 0 31 0; +#X connect 24 0 31 0; +#X connect 25 0 31 0; +#X connect 26 0 31 0; +#X connect 27 0 31 0; +#X connect 28 0 31 0; +#X connect 29 0 31 0; +#X connect 32 0 30 0; +#X connect 33 0 30 0; +#X connect 34 0 30 0; +#X connect 35 0 30 0; +#X connect 36 0 30 0; +#X connect 37 0 30 0; +#X connect 41 0 31 0; +#X connect 42 0 31 0; +#X connect 44 0 30 0; +#X connect 45 0 30 0; diff --git a/doc/additional/pd-msg/1.msg_and_patch/1.0.objects.pd b/doc/additional/pd-msg/1.msg_and_patch/1.0.objects.pd new file mode 100755 index 00000000..cacf9eef --- /dev/null +++ b/doc/additional/pd-msg/1.msg_and_patch/1.0.objects.pd @@ -0,0 +1,28 @@ +#N canvas 656 148 543 410 10; +#X msg 39 237 array 500 190; +#X msg 39 263 scalar 500 220; +#X msg 39 348 restore; +#X msg 39 322 connect \$1 \$2 \$3 \$4; +#X text 15 58 objects; +#X text 16 297 methods for reading files; +#X msg 39 81 obj 300 10 r test; +#X msg 39 107 msg 300 40 bang; +#X msg 39 133 floatatom 300 70 symbol; +#X msg 39 159 symbolatom 300 100 symbol; +#X msg 39 185 text 300 130 comment; +#X msg 39 211 graph; +#X text 148 264 ?????; +#X obj 39 383 s pd-1.0.objects.pd; +#X text 110 348 ??????; +#X text 16 7 Here the list of all the messages; +#X text 17 24 that deals with objects.; +#X connect 0 0 13 0; +#X connect 1 0 13 0; +#X connect 2 0 13 0; +#X connect 3 0 13 0; +#X connect 6 0 13 0; +#X connect 7 0 13 0; +#X connect 8 0 13 0; +#X connect 9 0 13 0; +#X connect 10 0 13 0; +#X connect 11 0 13 0; diff --git a/doc/additional/pd-msg/1.msg_and_patch/1.1.add_objects.pd b/doc/additional/pd-msg/1.msg_and_patch/1.1.add_objects.pd new file mode 100755 index 00000000..f9ba0822 --- /dev/null +++ b/doc/additional/pd-msg/1.msg_and_patch/1.1.add_objects.pd @@ -0,0 +1,59 @@ +#N canvas 67 167 711 648 10; +#X text 42 13 To add an object into patch just send a message to the +patch itself :; +#X msg 42 49 msg 500 10 bang; +#X text 42 98 The selector should be "msg" \, "floatatom" \, "obj" +\, "text" \, "array" \, "symbolatom" \, "scalar" and "graph"; +#X text 224 53 <= Click here first; +#X text 42 279 For connecting objects use the selector "connect". it +take 4 arguments : the number of the first object \, the number of +the outlet \, the number of the second object \, and the number of +the inlet :; +#X text 207 232 <= and here; +#X text 236 204 <= Then click here (and have a look to the properties +of the object created); +#X text 193 348 <= click here <= and here; +#X text 42 437 And now the end of this exemple :; +#X text 42 143 The next 2 numbers are X & Y position in the canvas. +Then it's a symbol for the name of the obj \, the content of the msg +\, etc... and some additionals parameters.; +#X msg 42 205 floatatom 600 10 7 50 5000; +#X msg 42 230 obj 500 40 metro 500; +#X msg 42 482 obj 500 70 random 127; +#X msg 42 532 floatatom 500 100 5; +#X msg 42 582 text 500 130 That's it !; +#X text 16 53 1; +#X text 20 204 2; +#X text 20 226 3; +#X text 18 348 4; +#X text 18 370 5; +#X text 20 483 6; +#X text 20 509 7; +#X text 20 532 8; +#X text 19 556 9; +#X text 14 582 10; +#X text 276 530 !!! W A R N N I N G !!! It's very important to respect +the order the objects are created. If you don't the "connect" selector +won't work correctly. If you are not sure \, reload this patch and +try again.; +#X msg 43 349 connect 34 0 36 0; +#X msg 43 374 connect 35 0 36 1; +#X msg 42 507 connect 36 0 37 0; +#X msg 42 557 connect 37 0 38 0; +#X obj 42 74 s pd-1.add_objects.pd; +#X obj 42 255 s pd-1.add_objects.pd; +#X obj 43 399 s pd-1.add_objects.pd; +#X obj 42 612 s pd-1.add_objects.pd; +#X connect 1 0 30 0; +#X connect 10 0 31 0; +#X connect 11 0 31 0; +#X connect 12 0 33 0; +#X connect 13 0 33 0; +#X connect 14 0 33 0; +#X connect 26 0 32 0; +#X connect 27 0 32 0; +#X connect 27 0 32 0; +#X connect 27 0 32 0; +#X connect 27 0 32 0; +#X connect 28 0 33 0; +#X connect 29 0 33 0; diff --git a/doc/additional/pd-msg/1.msg_and_patch/1.2.create_patch.pd b/doc/additional/pd-msg/1.msg_and_patch/1.2.create_patch.pd new file mode 100755 index 00000000..2e422d5f --- /dev/null +++ b/doc/additional/pd-msg/1.msg_and_patch/1.2.create_patch.pd @@ -0,0 +1,29 @@ +#N canvas 181 410 915 475 10; +#X msg 38 150 msg 10 10 bang; +#X msg 38 198 obj 10 40 metro 500; +#X msg 38 174 floatatom 100 10 7 50 5000; +#X msg 38 270 obj 10 70 random 127; +#X msg 38 318 floatatom 10 100 5; +#X msg 38 366 text 10 130 That's it !; +#X msg 38 222 connect 0 0 2 0; +#X msg 38 246 connect 1 0 2 1; +#X msg 38 294 connect 2 0 3 0; +#X msg 38 342 connect 3 0 4 0; +#X text 205 37 click here first; +#X obj 38 404 s pd-new_patch; +#X text 33 13 This will create a sub patch in this windows and open +it :; +#X msg 33 37 obj 500 200 pd new_patch; +#X text 40 127 and then click here to fill it :; +#X obj 33 62 s pd-1.2.create_patch.pd; +#X connect 0 0 11 0; +#X connect 1 0 11 0; +#X connect 2 0 11 0; +#X connect 3 0 11 0; +#X connect 4 0 11 0; +#X connect 5 0 11 0; +#X connect 6 0 11 0; +#X connect 7 0 11 0; +#X connect 8 0 11 0; +#X connect 9 0 11 0; +#X connect 13 0 15 0; diff --git a/doc/additional/pd-msg/1.msg_and_patch/1.3.show_hide.pd b/doc/additional/pd-msg/1.msg_and_patch/1.3.show_hide.pd new file mode 100755 index 00000000..b0f866a0 --- /dev/null +++ b/doc/additional/pd-msg/1.msg_and_patch/1.3.show_hide.pd @@ -0,0 +1,9 @@ +#N canvas 198 107 383 241 10; +#N canvas 209 154 262 142 my-subpatch 0; +#X text 37 40 This is the sub patch; +#X restore 215 98 pd my-subpatch; +#X msg 33 62 \; pd-my-subpatch vis 1; +#X msg 37 127 \; pd-my-subpatch vis 0; +#X text 43 42 pop-up; +#X text 40 109 close; +#X text 13 17 pop-up and close a subpatch :; diff --git a/doc/additional/pd-msg/1.msg_and_patch/2.menu.pd b/doc/additional/pd-msg/1.msg_and_patch/2.menu.pd new file mode 100755 index 00000000..7256ffe4 --- /dev/null +++ b/doc/additional/pd-msg/1.msg_and_patch/2.menu.pd @@ -0,0 +1,36 @@ +#N canvas 22 196 222 608 10; +#X text 17 121 GUI stuff; +#X msg 17 145 menusave; +#X msg 17 171 menusaveas; +#X msg 17 197 menuclose; +#X msg 17 223 saveto; +#X msg 17 249 tidy; +#X msg 17 275 texteditor; +#X msg 17 434 editmode \$1; +#X msg 35 408 0; +#X msg 69 408 1; +#X msg 17 460 print; +#X msg 17 301 menufont; +#X msg 17 353 findagain; +#X msg 17 379 findparent; +#X text 68 222 ?????; +#X msg 17 327 find test; +#X obj 17 496 s pd-2.menu.pd; +#X text 98 196 Warnning !!!; +#X text 15 14 Thoes msg will do exactly; +#X text 17 33 what the corresponding; +#X text 19 52 menu do.; +#X connect 1 0 16 0; +#X connect 2 0 16 0; +#X connect 3 0 16 0; +#X connect 4 0 16 0; +#X connect 5 0 16 0; +#X connect 6 0 16 0; +#X connect 7 0 16 0; +#X connect 8 0 7 0; +#X connect 9 0 7 0; +#X connect 10 0 16 0; +#X connect 11 0 16 0; +#X connect 12 0 16 0; +#X connect 13 0 16 0; +#X connect 15 0 16 0; diff --git a/doc/additional/pd-msg/1.msg_and_patch/3.0.events.pd b/doc/additional/pd-msg/1.msg_and_patch/3.0.events.pd new file mode 100755 index 00000000..f864ad40 --- /dev/null +++ b/doc/additional/pd-msg/1.msg_and_patch/3.0.events.pd @@ -0,0 +1,32 @@ +#N canvas 204 161 381 325 10; +#X msg 36 86 click \$1 \$2 \$3 \$4; +#X obj 111 182 key; +#X floatatom 111 208 0 0 0; +#X floatatom 50 184 0 0 0; +#X msg 50 158 0; +#X msg 6 6 bang; +#X text 56 41 left; +#X text 124 41 rigth; +#X text 70 4 Msg-dealing with events :; +#X text 89 28 click; +#X text 218 47 \$1 x; +#X text 219 65 \$2 y; +#X text 218 117 \$4 mod (0:nomod \; 1 shift \; 2 crtl \; 3 alt \; 4 +right click); +#X obj 36 290 s pd-3.0.events.pd; +#X text 218 86 \$3 (unuse ???); +#X msg 36 129 mouseup \$1 \$2 \$4; +#X msg 113 60 15 15 0 8; +#X msg 36 60 15 15 0 1; +#X text 59 232 \$1 number of the key; +#X msg 36 209 key 1 \$1; +#X msg 36 257 motion \$1 \$2 \$4; +#X connect 0 0 13 0; +#X connect 1 0 2 0; +#X connect 3 0 19 0; +#X connect 4 0 3 0; +#X connect 15 0 13 0; +#X connect 16 0 0 0; +#X connect 17 0 0 0; +#X connect 19 0 13 0; +#X connect 20 0 13 0; diff --git a/doc/additional/pd-msg/1.msg_and_patch/3.1.motion.pd b/doc/additional/pd-msg/1.msg_and_patch/3.1.motion.pd new file mode 100755 index 00000000..f281242f --- /dev/null +++ b/doc/additional/pd-msg/1.msg_and_patch/3.1.motion.pd @@ -0,0 +1,35 @@ +#N canvas 184 269 411 486 10; +#N canvas 654 338 332 294 testing 0; +#X obj 95 11 loadbang; +#X msg 95 36 0; +#X obj 12 37 random 127; +#X floatatom 66 94 0 0 0; +#X msg 12 11 bang; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 2 0 3 0; +#X connect 4 0 2 0; +#X restore 119 439 pd testing; +#X obj 20 438 s pd-testing; +#X obj 89 247 pack f f; +#X text 8 54 Start here; +#X floatatom 120 185 0 0 0; +#X floatatom 89 186 0 0 0; +#X obj 100 219 t b f; +#X text 7 363 Stop here; +#X text 85 154 try this !!!; +#X text 9 9 This example will show you how to use the motion msg.; +#X msg 20 101 click 15 15 0 0; +#X msg 89 271 motion \$1 \$2 0; +#X msg 20 390 motion 15 15 0 \, editmode 0 \, vis 0; +#X msg 20 75 vis 1 \, editmode 1 \, click 5 5 0 0 \, mouseup 200 200 +0; +#X connect 2 0 11 0; +#X connect 4 0 6 0; +#X connect 5 0 2 0; +#X connect 6 0 2 0; +#X connect 6 1 2 1; +#X connect 10 0 1 0; +#X connect 11 0 1 0; +#X connect 12 0 1 0; +#X connect 13 0 1 0; diff --git a/doc/additional/pd-msg/1.msg_and_patch/3.2.cut_paste.pd b/doc/additional/pd-msg/1.msg_and_patch/3.2.cut_paste.pd new file mode 100755 index 00000000..48db2a4f --- /dev/null +++ b/doc/additional/pd-msg/1.msg_and_patch/3.2.cut_paste.pd @@ -0,0 +1,55 @@ +#N canvas 175 194 409 473 10; +#N canvas 591 210 328 290 testing 0; +#X obj 95 10 loadbang; +#X msg 95 35 0; +#X obj 12 37 random 127; +#X floatatom 66 93 0 0 0; +#X msg 12 11 bang; +#X obj 95 10 loadbang; +#X msg 95 35 0; +#X obj 12 37 random 127; +#X floatatom 66 93 0 0 0; +#X msg 12 11 bang; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 2 0 3 0; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 8 0; +#X connect 7 0 8 0; +#X connect 9 0 7 0; +#X restore 315 439 pd testing; +#X obj 20 438 s pd-testing; +#X obj 248 211 pack f f; +#X text 7 40 Start here; +#X floatatom 279 149 0 0 0; +#X floatatom 248 148 0 0 0; +#X obj 259 183 t b f; +#X text 7 374 Stop here; +#X text 17 11 This example will show you how to use the motion msg. +; +#X msg 194 322 cut; +#X msg 194 348 duplicate; +#X msg 20 60 vis 1 \, editmode 1 \, click 5 5 0 0 \, mouseup 200 200 +0; +#X msg 20 399 motion 15 15 \, editmode0 \, vis 0; +#X text 50 81 show and select what's in the patch; +#X text 151 419 close all; +#X text 232 324 you can try thoses too.; +#X text 66 125 and then here to copy and here to move; +#X msg 31 256 mouseup 200 200 0; +#X text 49 236 to acheive the pasting; +#X msg 37 146 copy \, paste \, click 15 15 0 0; +#X msg 248 235 motion \$1 \$2 0; +#X connect 2 0 20 0; +#X connect 4 0 6 0; +#X connect 5 0 2 0; +#X connect 6 0 2 0; +#X connect 6 1 2 1; +#X connect 9 0 1 0; +#X connect 10 0 1 0; +#X connect 11 0 1 0; +#X connect 12 0 1 0; +#X connect 17 0 1 0; +#X connect 19 0 1 0; +#X connect 20 0 1 0; diff --git a/doc/additional/pd-msg/1.msg_and_patch/4.fonts.pd b/doc/additional/pd-msg/1.msg_and_patch/4.fonts.pd new file mode 100755 index 00000000..c7ee019b --- /dev/null +++ b/doc/additional/pd-msg/1.msg_and_patch/4.fonts.pd @@ -0,0 +1,24 @@ +#N canvas 43 70 405 234 10; +#X msg 12 26 menufont; +#X msg 32 64 font 10 100 100; +#X msg 32 88 font 14 100 100; +#X msg 30 114 font 24 100 100; +#X msg 158 86 50; +#X msg 198 86 200; +#X msg 158 112 font 10 100 \$1; +#X msg 274 84 50; +#X msg 314 84 200; +#X msg 274 112 font 10 \$1 100; +#X text 14 3 Here the list of all the messages dealing with fonts : +; +#X obj 14 196 s pd-4.fonts.pd; +#X connect 0 0 11 0; +#X connect 1 0 11 0; +#X connect 2 0 11 0; +#X connect 3 0 11 0; +#X connect 4 0 6 0; +#X connect 5 0 6 0; +#X connect 6 0 11 0; +#X connect 7 0 9 0; +#X connect 8 0 9 0; +#X connect 9 0 11 0; diff --git a/doc/additional/pd-msg/1.msg_and_patch/5.loadbang.pd b/doc/additional/pd-msg/1.msg_and_patch/5.loadbang.pd new file mode 100755 index 00000000..68d79b6a --- /dev/null +++ b/doc/additional/pd-msg/1.msg_and_patch/5.loadbang.pd @@ -0,0 +1,16 @@ +#N canvas 619 324 275 289 10; +#X msg 39 236 loadbang; +#X obj 62 122 loadbang; +#X msg 62 148 1; +#X floatatom 62 174 0 0 0; +#X obj 29 93 random 127; +#X msg 29 68 bang; +#X text 26 13 The loadbang message; +#X text 81 68 <= click here first; +#X text 118 234 <= then click here; +#X obj 39 262 s pd-5.loadbang.pd; +#X connect 0 0 9 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 4 0 3 0; +#X connect 5 0 4 0; diff --git a/doc/additional/pd-msg/2.msg_and_pd/1.pd_basic.pd b/doc/additional/pd-msg/2.msg_and_pd/1.pd_basic.pd new file mode 100755 index 00000000..48ec9f24 --- /dev/null +++ b/doc/additional/pd-msg/2.msg_and_pd/1.pd_basic.pd @@ -0,0 +1,15 @@ +#N canvas 312 164 378 475 10; +#X text 20 51 turn DSP calculation off & on; +#X msg 98 94 \; pd dsp 0 \;; +#X msg 172 94 \; pd dsp 1 \;; +#X msg 24 301 \; pd quit \;; +#X floatatom 26 73 1 0 1; +#X obj 26 123 s pd; +#X msg 26 97 dsp \$1; +#X msg 25 218 \; pd audiostatus \;; +#X text 22 194 same as "DIO errors"; +#X text 25 12 Here some message we can send to pd.; +#X text 21 275 Quit pd (WARNNING); +#X text 21 356 There are many more that i don't know :-(; +#X connect 4 0 6 0; +#X connect 6 0 5 0; diff --git a/doc/additional/pd-msg/2.msg_and_pd/2.open_close.pd b/doc/additional/pd-msg/2.msg_and_pd/2.open_close.pd new file mode 100755 index 00000000..6b0adabf --- /dev/null +++ b/doc/additional/pd-msg/2.msg_and_pd/2.open_close.pd @@ -0,0 +1,9 @@ +#N canvas 189 280 494 273 10; +#X text 10 4 open and close an abstraction; +#X text 23 85 (you have to put a corect name & valid path); +#X text 25 114 close; +#X text 26 30 open; +#X msg 25 50 \; pd open your_abs.pd ./your_path \;; +#X msg 26 135 \; pd pd-your_abs.pd menuclose \;; +#X text 23 171 (you have to put a corect name & valid path); +#X text 64 197 Those last 2 tricks came from Miller \, but i didn't succed to make them work. hope somebody will be more lucky.; diff --git a/doc/additional/pd-msg/3.pdscript/README b/doc/additional/pd-msg/3.pdscript/README new file mode 100755 index 00000000..dbfc7054 --- /dev/null +++ b/doc/additional/pd-msg/3.pdscript/README @@ -0,0 +1,16 @@ +This is a short example how to "script" a pd patch +with pd commands. + +First start pd +# pd lisp.pd + +Then either start the automated shell script +# ./test.sh + +or pipe the pd commands to pdsend directly: + +# pdsend 3005 < test.txt + +Read through text.txt for further explanations + +Guenter diff --git a/doc/additional/pd-msg/3.pdscript/lisp.pd b/doc/additional/pd-msg/3.pdscript/lisp.pd new file mode 100755 index 00000000..34dfa190 --- /dev/null +++ b/doc/additional/pd-msg/3.pdscript/lisp.pd @@ -0,0 +1,2 @@ +#N canvas 417 30 252 94 10; +#X obj 39 27 netreceive 3005 0 old; diff --git a/doc/additional/pd-msg/3.pdscript/pdsend b/doc/additional/pd-msg/3.pdscript/pdsend new file mode 100755 index 00000000..cf6339e6 Binary files /dev/null and b/doc/additional/pd-msg/3.pdscript/pdsend differ diff --git a/doc/additional/pd-msg/3.pdscript/test.sh b/doc/additional/pd-msg/3.pdscript/test.sh new file mode 100755 index 00000000..107d3ec0 --- /dev/null +++ b/doc/additional/pd-msg/3.pdscript/test.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +PORT=3005 + + +function setfreq() +{ +./pdsend $PORT < ; + +pd-new connect 0 0 1 0; +pd-new connect 1 0 2 0; +pd-new connect 1 0 2 1; + +// we put a comment; +// object number 3; +pd-new text 80 0 This is a comment; + +// a Message object; +// object number 4; + +pd-new msg 10 90 440; + +// connect it to the osc~; + +pd-new connect 4 0 0 0; + +// and a number object; +// nr 5; + +pd-new floatatom 10 120; + +// connect it; + +pd-new connect 5 0 0 0; + +// put a communication channel for the frequency (a "receive"); +// nr 6; + +pd-new obj 10 150 r freq; +// a line; +// nr 7; +pd-new obj 10 180 line; + +// connect receive to the line; + +pd-new connect 6 0 7 0; + +// line to the osc~; + +pd-new connect 7 0 0 0; + +// turn on audio; + +pd dsp 1; + +// and ... control it the first word is the name of the receive above; + +freq 500 4000; + +// that's it, there will be several things to figure out, but by writing; +// this patch down in ascii I get the feeling that coding pd in lisp; +// will be a killer ... defininitely.; +// we will be able to automate lots of things I had to do by hand here; + + + diff --git a/doc/additional/pd-msg/4.msg_from_tcl/0.create_dummy_patch b/doc/additional/pd-msg/4.msg_from_tcl/0.create_dummy_patch new file mode 100755 index 00000000..030d0687 --- /dev/null +++ b/doc/additional/pd-msg/4.msg_from_tcl/0.create_dummy_patch @@ -0,0 +1,18 @@ +#!/usr/bin/wish -f + +#damien HENRY le 2001 07 14 + +puts "***********************************************" +puts "* This will create a patch in pure-data *" +puts "* be sure that the recv.pd file is loadded *" +puts "***********************************************" + +set to_pd [socket localhost 3006] + +puts $to_pd "pd-recv.pd obj 10 10 pd new_patch;" +puts $to_pd "pd-new_patch msg 10 10 bang;" +puts $to_pd "pd-new_patch msg 10 30 message;" +puts $to_pd "pd-new_patch connect 0 0 1 0;" + +exit + diff --git a/doc/additional/pd-msg/4.msg_from_tcl/1.tcl2pd b/doc/additional/pd-msg/4.msg_from_tcl/1.tcl2pd new file mode 100755 index 00000000..883cc78e --- /dev/null +++ b/doc/additional/pd-msg/4.msg_from_tcl/1.tcl2pd @@ -0,0 +1,33 @@ +#!/usr/bin/wish -f + +#Here a small exemple that show how to send msg to pd from TCL. +#damien HENRY +#dh20010806 + +puts "*********************" +puts "* pd -nogui example *" +puts "* (c) Damien HENRY *" +puts "* This is GPL... *" +puts "*********************" +puts "" +puts "WARNING : you need to run pd -open and load recv.pd first" + +#definition of the procedure that send msg to pd +proc pd_send {string2send} { + set to_pd [socket localhost 3006] + puts $to_pd $string2send + .lmsg configure -text $string2send + close $to_pd +} + +#create the gui +wm title . "a simple tcl/tk gui msg-sender to pd" +button .bsend -text "send to pd" -width 20 -command {pd_send "$pd_rcv $text2send;"} +button .bq -text "quit" -width 20 -command {exit} +entry .msg -textvariable text2send -width 30 +entry .pd_rcv -textvariable pd_rcv -width 10 +label .l1 -text "destination" +label .l2 -text "msg to send" +label .lmsg + +pack .l1 .pd_rcv .l2 .msg .lmsg .bsend .bq \ No newline at end of file diff --git a/doc/additional/pd-msg/4.msg_from_tcl/2.nogui b/doc/additional/pd-msg/4.msg_from_tcl/2.nogui new file mode 100755 index 00000000..7911e4b5 --- /dev/null +++ b/doc/additional/pd-msg/4.msg_from_tcl/2.nogui @@ -0,0 +1,35 @@ +#!/usr/bin/wish -f + +#Here a small exemple that show a way to use the -nogui option. +#damien HENRY +#dh20010730 + +puts "*********************" +puts "* pd -nogui example *" +puts "* (c) Damien HENRY *" +puts "* This is GPL... *" +puts "*********************" +puts "" +puts "WARNING : you need to run pd -open recv.pd -nogui first" + +#definition of the procedure that send msg to pd +proc pd_send {string2send} { + set to_pd [socket localhost 3006] + puts $to_pd "$string2send;" + .lmsg configure -text "$string2send;" + close $to_pd +} + +#create the gui +wm title . "a simple tcl/tk gui to open pd-patch" +label .l1 -text "open : patch & path" +entry .pd_patch -textvariable pd_patch -width 23 +entry .pd_path -textvariable pd_path -width 23 +button .bload -text Load -width 20 -command {pd_send "pd open $pd_patch $pd_path" } +button .bclose -text close -width 20 -command {pd_send "pd-$pd_patch menuclose" } +button .bdspon -text "dsp on" -width 20 -command {pd_send "pd dsp 1" } +button .bdspoff -text "dsp off" -width 20 -command {pd_send "pd dsp 0" } +label .lmsg +button .bq -text "quit" -width 20 -command {exit} + +pack .l1 .pd_patch .pd_path .bload .bclose .bdspon .bdspoff .lmsg .bq \ No newline at end of file diff --git a/doc/additional/pd-msg/4.msg_from_tcl/2.nogui.txt b/doc/additional/pd-msg/4.msg_from_tcl/2.nogui.txt new file mode 100755 index 00000000..6bac6017 --- /dev/null +++ b/doc/additional/pd-msg/4.msg_from_tcl/2.nogui.txt @@ -0,0 +1,12 @@ +This small example show an easy way to use pd without the classical gui. + + +0) run pd -open recv.pd -nogui +1) run 2.nogui (use wish83 if you are under win xx) +2) chose an abstraction to open, for example test.pd (in this folder) +3) turn the dsp on +4) here you can listen to your abstraction !!! + +Enjoy !!! + +Damien HENRY. diff --git a/doc/additional/pd-msg/4.msg_from_tcl/recv.pd b/doc/additional/pd-msg/4.msg_from_tcl/recv.pd new file mode 100755 index 00000000..554ab101 --- /dev/null +++ b/doc/additional/pd-msg/4.msg_from_tcl/recv.pd @@ -0,0 +1,5 @@ +#N canvas 357 509 628 150 10; +#X obj 453 26 netreceive 3006 0 old; +#X text 32 10 This patch is here to receive the commands sended by tcl scripts; +#X text 27 66 Execute the tcl files in 4.msg_from_tcl. (use wish83if your under Win xx); +#X text 25 92 Have a look to the TCL source to understand how does this work.; diff --git a/doc/additional/pd-msg/4.msg_from_tcl/test.pd b/doc/additional/pd-msg/4.msg_from_tcl/test.pd new file mode 100755 index 00000000..0cf63b09 --- /dev/null +++ b/doc/additional/pd-msg/4.msg_from_tcl/test.pd @@ -0,0 +1,9 @@ +#N canvas 357 509 468 150 10; +#X text 18 101 Have a look to the TCL source to understand how does this work.; +#X text 32 10 This patch is here to test the 2.nogui script; +#X obj 35 32 osc~ 440; +#X obj 34 82 dac~; +#X obj 35 56 /~ 50; +#X connect 2 0 4 0; +#X connect 4 0 3 0; +#X connect 4 0 3 1; diff --git a/doc/additional/pd-msg/5.examples/1.polyphonie.pd b/doc/additional/pd-msg/5.examples/1.polyphonie.pd new file mode 100755 index 00000000..3f44cf03 --- /dev/null +++ b/doc/additional/pd-msg/5.examples/1.polyphonie.pd @@ -0,0 +1,99 @@ +#N canvas 96 191 894 406 10; +#X obj 486 176 s as_b; +#X floatatom 542 147 0 0 0; +#X obj 542 171 s as_f; +#X floatatom 617 150 0 0 0; +#X obj 617 174 s as_bw; +#X msg 486 107 127; +#X msg 486 130 1; +#X msg 486 154 10; +#X obj 93 110 float; +#X obj 147 110 + 1; +#X obj 93 155 select 1; +#X obj 34 128 delay 0; +#X msg 93 45 bang; +#X floatatom 486 201 0 0 0; +#X obj 486 225 s as_sl; +#X obj 93 68 t b 0; +#X text 541 128 mean freq.; +#X text 616 130 freq. bandwith; +#X text 530 203 time for change (log); +#X text 488 87 % of osc that will change; +#X msg 745 80 127 50 13 74; +#X obj 745 177 unpack f f f f; +#X msg 745 101 127 0 75 127; +#X msg 745 60 127 127 6 127; +#X text 745 38 examples...; +#X obj 93 134 < 100; +#X text 85 -4 kill Asound in the upper left corner to removes all the +osc.; +#X msg 745 124 127 64 64 127; +#X text 487 50 the controler :; +#X obj 807 204 s as_f; +#X obj 838 225 s as_bw; +#X text 95 345 this msg do all the job !!!; +#X text 532 106 <= ACTIVE INLET !!!; +#X text 95 21 FIRST; +#X text 303 20 SECOND; +#X msg 745 147 127 0 0 10; +#X obj 745 203 s as_b; +#X obj 776 225 s as_sl; +#X obj 245 220 float; +#X obj 299 220 + 1; +#X obj 245 265 select 1; +#X obj 186 238 delay 0; +#X msg 245 155 bang; +#X obj 245 178 t b 0; +#X obj 245 244 < 100; +#X text 135 60 100 asound patch; +#X text 137 46 this will load; +#X text 289 171 100 asound patch; +#X text 289 156 this will remove the; +#X msg 92 300 \; pd-1.polyphonie.pd obj 10 10 asound \;; +#X msg 375 464 editmode \$1; +#X msg 361 284 \; pd-1.polyphonie.pd editmode 1 \; pd-1.polyphonie.pd +click 12 12 1 1 \; pd-1.polyphonie.pd cut \; pd-1.polyphonie.pd editmode +0 \;; +#X msg 306 54 1; +#X msg 341 55 0; +#X text 285 37 turn on and off all asound; +#X text 744 24 FIRD; +#X text 300 186 if created \, if not...; +#X obj 306 79 switch~; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 5 0 0 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X connect 8 0 9 0; +#X connect 8 0 25 0; +#X connect 9 0 8 1; +#X connect 10 0 49 0; +#X connect 10 0 11 0; +#X connect 11 0 8 0; +#X connect 12 0 15 0; +#X connect 13 0 14 0; +#X connect 15 0 8 0; +#X connect 15 1 8 0; +#X connect 20 0 21 0; +#X connect 21 0 36 0; +#X connect 21 1 37 0; +#X connect 21 2 29 0; +#X connect 21 3 30 0; +#X connect 22 0 21 0; +#X connect 23 0 21 0; +#X connect 25 0 10 0; +#X connect 27 0 21 0; +#X connect 35 0 21 0; +#X connect 38 0 39 0; +#X connect 38 0 44 0; +#X connect 39 0 38 1; +#X connect 40 0 41 0; +#X connect 40 0 51 0; +#X connect 41 0 38 0; +#X connect 42 0 43 0; +#X connect 43 0 38 0; +#X connect 43 1 38 0; +#X connect 44 0 40 0; +#X connect 52 0 57 0; +#X connect 53 0 57 0; diff --git a/doc/additional/pd-msg/5.examples/2.create_new_abstract.pd b/doc/additional/pd-msg/5.examples/2.create_new_abstract.pd new file mode 100755 index 00000000..2c1f844a --- /dev/null +++ b/doc/additional/pd-msg/5.examples/2.create_new_abstract.pd @@ -0,0 +1,29 @@ +#N canvas 228 85 505 524 10; +#X msg 77 224 msg 10 10 bang; +#X msg 77 272 obj 10 40 metro 500; +#X msg 77 248 floatatom 100 10 7 50 5000; +#X msg 77 344 obj 10 70 random 127; +#X msg 77 392 floatatom 10 100 5; +#X msg 78 440 text 10 130 That's it !; +#X obj 30 475 s pd-new; +#X msg 77 296 connect 0 0 2 0; +#X msg 77 319 connect 1 0 2 1; +#X msg 77 368 connect 2 0 3 0; +#X msg 77 416 connect 3 0 4 0; +#X msg 40 79 \; pd filename new ./ \; #N canvas \; #X pop 1 \;; +#X text 53 59 click here first; +#X text 28 176 And then we fill it with the way describe in 1.add_objects.pd; +#X text 26 15 This describe how to create a new abstraction :; +#X msg 290 457 menuclose; +#X text 294 483 this will kill it !; +#X connect 0 0 6 0; +#X connect 1 0 6 0; +#X connect 2 0 6 0; +#X connect 3 0 6 0; +#X connect 4 0 6 0; +#X connect 5 0 6 0; +#X connect 7 0 6 0; +#X connect 8 0 6 0; +#X connect 9 0 6 0; +#X connect 10 0 6 0; +#X connect 15 0 6 0; diff --git a/doc/additional/pd-msg/5.examples/asound.pd b/doc/additional/pd-msg/5.examples/asound.pd new file mode 100755 index 00000000..601726d3 --- /dev/null +++ b/doc/additional/pd-msg/5.examples/asound.pd @@ -0,0 +1,52 @@ +#N canvas 220 255 452 479 10; +#X obj 105 408 osc~; +#X obj 105 332 mtof; +#X obj 105 459 dac~; +#X obj 105 432 /~ 100; +#X obj 122 91 random 127; +#X obj 106 30 r as_b; +#X obj 106 140 select 1; +#X obj 106 115 >; +#X obj 106 52 t f b; +#X obj 106 164 t b b; +#X obj 105 308 +; +#X obj 105 256 -; +#X obj 56 224 *; +#X obj 173 225 *; +#X obj 173 199 random 100000; +#X obj 56 198 random 100000; +#X obj 105 283 / 100000; +#X obj 155 262 r as_f; +#X obj 100 225 r as_bw; +#X obj 105 382 line~; +#X obj 105 357 pack f f; +#X obj 221 282 r as_sl; +#X obj 221 305 mtof; +#X text 12 7 This patch is to illustrate how to use contructions msg +for polyphonie; +#X connect 0 0 3 0; +#X connect 1 0 20 0; +#X connect 3 0 2 0; +#X connect 3 0 2 1; +#X connect 4 0 7 1; +#X connect 5 0 8 0; +#X connect 6 0 9 0; +#X connect 7 0 6 0; +#X connect 8 0 7 0; +#X connect 8 1 4 0; +#X connect 9 0 15 0; +#X connect 9 1 14 0; +#X connect 10 0 1 0; +#X connect 11 0 16 0; +#X connect 12 0 11 0; +#X connect 13 0 11 1; +#X connect 14 0 13 0; +#X connect 15 0 12 0; +#X connect 16 0 10 0; +#X connect 17 0 10 1; +#X connect 18 0 13 1; +#X connect 18 0 12 1; +#X connect 19 0 0 0; +#X connect 20 0 19 0; +#X connect 21 0 22 0; +#X connect 22 0 20 1; -- cgit v1.2.1