From 54d61372a2c35f43df7ac398da1a5d7bd37da857 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 13 Apr 2006 05:04:52 +0000 Subject: got the start of a good intro tutorial, but its lacking some good, simple exercises svn path=/trunk/; revision=4897 --- doc/tutorials/intro/0.all_just_data.pd | 92 --- .../intro/0.controlling_dsp_processing.pd | 30 - doc/tutorials/intro/0.exercise-template.pd | 95 --- doc/tutorials/intro/0.init_to_0.pd | 31 - doc/tutorials/intro/0.right_to_left_order.pd | 24 - doc/tutorials/intro/0.shell_sketch.pd | 16 - doc/tutorials/intro/02.getting_help.pd | 2 +- doc/tutorials/intro/05.connections.pd | 25 +- doc/tutorials/intro/06.make_your_first_patch.pd | 11 - doc/tutorials/intro/06.messages.pd | 42 ++ .../intro/07.EXERCISE-make_your_first_patch.pd | 11 + doc/tutorials/intro/07.bang.pd | 18 - doc/tutorials/intro/08.bang.pd | 18 + doc/tutorials/intro/08.hot_and_cold_inlets.pd | 44 -- doc/tutorials/intro/09.event_driven_processing.pd | 74 ++ doc/tutorials/intro/10.counters.pd | 44 ++ doc/tutorials/intro/10.storage_objects.pd | 56 -- doc/tutorials/intro/11.atoms.pd | 10 - doc/tutorials/intro/11.hot_and_cold_inlets.pd | 44 ++ doc/tutorials/intro/12.atomic_messages.pd | 6 - doc/tutorials/intro/12.right_to_left_order.pd | 26 + doc/tutorials/intro/13.ordering_messages.pd | 42 ++ doc/tutorials/intro/14.depth_first.pd | 31 + doc/tutorials/intro/14.subpatches.pd | 1 - doc/tutorials/intro/15.storage_objects.pd | 56 ++ doc/tutorials/intro/16.atoms.pd | 10 + doc/tutorials/intro/17.atomic_messages.pd | 6 + doc/tutorials/intro/18.selectors.pd | 29 + doc/tutorials/intro/19.subpatches.pd | 26 + doc/tutorials/intro/20.inlets_and_outlets.pd | 69 ++ doc/tutorials/intro/21.outlet_order.pd | 32 + doc/tutorials/intro/21.send_messages_to_pd.pd | 26 - doc/tutorials/intro/22.Example-all_just_data.pd | 99 +++ doc/tutorials/intro/22.pure_data_files.pd | 54 -- doc/tutorials/intro/23.EXERCISE-hmmm.pd | 97 +++ doc/tutorials/intro/24.guis.pd | 813 +++++++++++++++++++++ doc/tutorials/intro/25.gui_objects.pd | 48 ++ doc/tutorials/intro/26.nervous_guis.pd | 337 +++++++++ doc/tutorials/intro/Attic/trigger_conversion.pd | 49 +- doc/tutorials/intro/TEMPLATE.pd | 4 +- doc/tutorials/intro/TODO | 58 +- doc/tutorials/intro/counters.pd | 35 - doc/tutorials/intro/depth_first.pd | 31 - doc/tutorials/intro/determinism.pd | 5 + doc/tutorials/intro/gui_objects.pd | 48 -- doc/tutorials/intro/guis.pd | 813 --------------------- doc/tutorials/intro/init_to_0.pd | 31 + doc/tutorials/intro/ordering_messages.pd | 42 -- doc/tutorials/intro/outlet_order.pd | 21 - doc/tutorials/intro/pure_data_files.pd | 54 ++ doc/tutorials/intro/right_to_left_order.pd | 17 - doc/tutorials/intro/selectors.pd | 29 - doc/tutorials/intro/send_messages_to_pd.pd | 26 + doc/tutorials/intro/shell_sketch.pd | 16 + doc/tutorials/intro/trigger_conversion.pd | 49 +- 55 files changed, 2195 insertions(+), 1628 deletions(-) delete mode 100644 doc/tutorials/intro/0.all_just_data.pd delete mode 100644 doc/tutorials/intro/0.controlling_dsp_processing.pd delete mode 100644 doc/tutorials/intro/0.exercise-template.pd delete mode 100644 doc/tutorials/intro/0.init_to_0.pd delete mode 100644 doc/tutorials/intro/0.right_to_left_order.pd delete mode 100644 doc/tutorials/intro/0.shell_sketch.pd delete mode 100644 doc/tutorials/intro/06.make_your_first_patch.pd create mode 100644 doc/tutorials/intro/06.messages.pd create mode 100644 doc/tutorials/intro/07.EXERCISE-make_your_first_patch.pd delete mode 100644 doc/tutorials/intro/07.bang.pd create mode 100644 doc/tutorials/intro/08.bang.pd delete mode 100644 doc/tutorials/intro/08.hot_and_cold_inlets.pd create mode 100644 doc/tutorials/intro/09.event_driven_processing.pd create mode 100644 doc/tutorials/intro/10.counters.pd delete mode 100644 doc/tutorials/intro/10.storage_objects.pd delete mode 100644 doc/tutorials/intro/11.atoms.pd create mode 100644 doc/tutorials/intro/11.hot_and_cold_inlets.pd delete mode 100644 doc/tutorials/intro/12.atomic_messages.pd create mode 100644 doc/tutorials/intro/12.right_to_left_order.pd create mode 100644 doc/tutorials/intro/13.ordering_messages.pd create mode 100644 doc/tutorials/intro/14.depth_first.pd delete mode 100644 doc/tutorials/intro/14.subpatches.pd create mode 100644 doc/tutorials/intro/15.storage_objects.pd create mode 100644 doc/tutorials/intro/16.atoms.pd create mode 100644 doc/tutorials/intro/17.atomic_messages.pd create mode 100644 doc/tutorials/intro/18.selectors.pd create mode 100644 doc/tutorials/intro/19.subpatches.pd create mode 100644 doc/tutorials/intro/20.inlets_and_outlets.pd create mode 100644 doc/tutorials/intro/21.outlet_order.pd delete mode 100644 doc/tutorials/intro/21.send_messages_to_pd.pd create mode 100644 doc/tutorials/intro/22.Example-all_just_data.pd delete mode 100644 doc/tutorials/intro/22.pure_data_files.pd create mode 100644 doc/tutorials/intro/23.EXERCISE-hmmm.pd create mode 100644 doc/tutorials/intro/24.guis.pd create mode 100644 doc/tutorials/intro/25.gui_objects.pd create mode 100644 doc/tutorials/intro/26.nervous_guis.pd delete mode 100644 doc/tutorials/intro/counters.pd delete mode 100644 doc/tutorials/intro/depth_first.pd create mode 100644 doc/tutorials/intro/determinism.pd delete mode 100644 doc/tutorials/intro/gui_objects.pd delete mode 100644 doc/tutorials/intro/guis.pd create mode 100644 doc/tutorials/intro/init_to_0.pd delete mode 100644 doc/tutorials/intro/ordering_messages.pd delete mode 100644 doc/tutorials/intro/outlet_order.pd create mode 100644 doc/tutorials/intro/pure_data_files.pd delete mode 100644 doc/tutorials/intro/right_to_left_order.pd delete mode 100644 doc/tutorials/intro/selectors.pd create mode 100644 doc/tutorials/intro/send_messages_to_pd.pd create mode 100644 doc/tutorials/intro/shell_sketch.pd (limited to 'doc/tutorials') diff --git a/doc/tutorials/intro/0.all_just_data.pd b/doc/tutorials/intro/0.all_just_data.pd deleted file mode 100644 index 7dd958c6..00000000 --- a/doc/tutorials/intro/0.all_just_data.pd +++ /dev/null @@ -1,92 +0,0 @@ -#N canvas 585 87 498 434 10; -#X obj 180 406 import unauthorized Gem; -#X obj 154 102 grid grid1 200 0 199 200 0 199 1 1 1 10 10 276 240; -#X obj 25 39 pddp/dsp; -#N canvas 446 285 646 466 guts 0; -#X obj 20 10 inlet; -#X obj 275 14 inlet; -#X obj 112 127 osc~; -#X obj 112 156 *~; -#X obj 149 98 / 200; -#X obj 110 185 dac~; -#X obj 444 54 receive pd; -#X msg 340 154 create; -#X msg 310 154 1; -#X obj 482 215 gemwin; -#X msg 564 154 0; -#X msg 504 154 destroy; -#X obj 517 132 t b b; -#X obj 311 125 trigger bang bang bang; -#X obj 444 94 select 1; -#X obj 444 74 route dsp; -#X obj 89 229 gemhead; -#X obj 90 375 sphere 1 20; -#X obj 91 344 translateXYZ; -#X obj 93 287 colorRGB 1 1 1 1; -#X obj 90 314 alpha; -#X msg 289 192 lighting 1; -#X obj 418 294 gemhead; -#X obj 419 359 world_light -120; -#X obj 228 292 / 25; -#X obj 30 300 / 25; -#X obj 228 269 - 100; -#X obj 29 279 - 100; -#X obj 181 251 / 200; -#X obj 53 250 / 200; -#X msg 394 154 dimen 200 200; -#X obj 112 51 + 250; -#X obj 149 137 line~; -#X msg 149 117 \$1 5; -#X connect 0 0 4 0; -#X connect 0 0 27 0; -#X connect 0 0 29 0; -#X connect 1 0 26 0; -#X connect 1 0 28 0; -#X connect 1 0 31 0; -#X connect 2 0 3 0; -#X connect 3 0 5 0; -#X connect 3 0 5 1; -#X connect 4 0 33 0; -#X connect 6 0 15 0; -#X connect 7 0 9 0; -#X connect 8 0 9 0; -#X connect 10 0 9 0; -#X connect 11 0 9 0; -#X connect 12 0 11 0; -#X connect 12 1 10 0; -#X connect 13 0 8 0; -#X connect 13 0 21 0; -#X connect 13 1 7 0; -#X connect 13 2 30 0; -#X connect 14 0 13 0; -#X connect 14 1 12 0; -#X connect 15 0 14 0; -#X connect 16 0 19 0; -#X connect 18 0 17 0; -#X connect 19 0 20 0; -#X connect 20 0 18 0; -#X connect 21 0 9 0; -#X connect 22 0 23 0; -#X connect 24 0 18 2; -#X connect 25 0 18 1; -#X connect 26 0 24 0; -#X connect 27 0 25 0; -#X connect 28 0 19 2; -#X connect 29 0 19 1; -#X connect 30 0 9 0; -#X connect 31 0 2 0; -#X connect 32 0 3 1; -#X connect 33 0 32 0; -#X restore 256 320 pd guts; -#X text 102 9 Its all just data. Use it however you want!; -#X text 28 61 ^-- click here to turn it on and off; -#X obj 154 344 nbx 5 24 -1e+37 1e+37 0 0 empty empty X -15 12 1 18 --166441 -1 -1 121 256; -#X obj 348 343 nbx 5 24 -1e+37 1e+37 0 0 empty empty Y -15 12 1 18 --166441 -1 -1 61 256; -#X text 14 121 click and drag in; -#X text 14 137 this box ------->; -#X connect 1 0 3 0; -#X connect 1 0 6 0; -#X connect 1 1 3 1; -#X connect 1 1 7 0; diff --git a/doc/tutorials/intro/0.controlling_dsp_processing.pd b/doc/tutorials/intro/0.controlling_dsp_processing.pd deleted file mode 100644 index 7ce5147f..00000000 --- a/doc/tutorials/intro/0.controlling_dsp_processing.pd +++ /dev/null @@ -1,30 +0,0 @@ -#N canvas 361 163 475 498 10; -#X text 117 189 (screenshot of main Pd window); -#X msg 59 321 \; pd dsp 1; -#X msg 126 321 \; pd dsp 0; -#X text 19 252 As with most programming languages \, in Pd "1" means -on \, and "0" means off.; -#X obj 211 314 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 -1; -#X text 28 137 To see whether the DSP is on or off \, look at the checkbox -on the main Pd window. You can also turn the DSP on and off using that -checkbox.; -#X obj 370 372 osc~ 250; -#X obj 356 404 dac~; -#X text 24 20 You can turn the processing of audio data on and off. -In order for your patch to run \, you need to make sure that "compute -audio" is turned on. This is also known as the "DSP". There are a couple -ways of turning the "DSP" on and off.; -#X text 23 100 - TODO: is Gem or PDP computation also controlled by -the DSP?; -#X text 23 407 There are also keyboard shortcuts:; -#X text 34 459 (On MacOS X \, you can also use Cmd-. and Cmd-/); -#X text 41 425 off: Ctrl-.; -#X text 48 440 on: Ctrl-/; -#X text 73 84 - TODO: messages are always processed; -#X floatatom 211 339 5 0 0 0 - - -; -#X obj 277 332 pddp/dsp; -#X text 271 311 [pddp/dsp]; -#X connect 4 0 15 0; -#X connect 6 0 7 0; -#X connect 6 0 7 1; diff --git a/doc/tutorials/intro/0.exercise-template.pd b/doc/tutorials/intro/0.exercise-template.pd deleted file mode 100644 index 6250c858..00000000 --- a/doc/tutorials/intro/0.exercise-template.pd +++ /dev/null @@ -1,95 +0,0 @@ -#N canvas 552 273 483 299 10; -#N canvas 414 102 546 555 guts 0; -#X msg 280 45 \; pd filename exercise-patch.pd /tmp \; #N canvas \; -#X pop 1 \;; -#X obj 300 328 s pd-exercise-patch.pd; -#X msg 329 216 obj 50 103 osc~; -#X msg 330 240 obj 50 153 dac~; -#X obj 103 17 inlet; -#X msg 320 155 clear; -#X obj 276 7 loadbang; -#X obj 259 108 delay 1000; -#X obj 259 129 t b b b b; -#X msg 52 155 connect 0 0 1 0; -#X msg 37 216 connect 1 0 2 0; -#X msg 31 266 connect 1 0 2 1; -#X msg 292 27 \; pd dsp 1; -#X obj 112 108 t b b; -#X msg 87 52 bang; -#X obj 34 134 delay 2000; -#X obj 21 187 delay 2000; -#X obj 10 245 delay 2000; -#N canvas 261 307 459 387 connection-effect 0; -#X obj 186 312 dac~; -#X obj 72 233 osc~ 1000; -#X obj 138 266 *~; -#X obj 253 259 *~; -#X obj 204 236 osc~ 800; -#X obj 153 236 line~; -#X obj 183 7 inlet; -#X msg 184 31 bang; -#X obj 187 61 t b b; -#X obj 168 95 delay 10; -#X msg 201 125 0 10; -#X obj 276 218 line~; -#X obj 276 191 pipe 30; -#X msg 241 125 1 10; -#X connect 1 0 2 0; -#X connect 2 0 0 0; -#X connect 3 0 0 1; -#X connect 4 0 3 0; -#X connect 5 0 2 1; -#X connect 6 0 7 0; -#X connect 7 0 8 0; -#X connect 8 0 9 0; -#X connect 8 1 13 0; -#X connect 9 0 10 0; -#X connect 10 0 5 0; -#X connect 10 0 12 0; -#X connect 11 0 3 1; -#X connect 12 0 11 0; -#X connect 13 0 5 0; -#X connect 13 0 12 0; -#X restore 22 365 pd connection-effect; -#X msg 256 453 floatatom 50 50 5 0 0 0; -#X msg 327 184 obj 50 50 hsl; -#X obj 197 18 inlet; -#X msg 205 50 bang; -#X connect 2 0 1 0; -#X connect 3 0 1 0; -#X connect 4 0 14 0; -#X connect 5 0 1 0; -#X connect 6 0 0 0; -#X connect 6 0 7 0; -#X connect 6 0 12 0; -#X connect 7 0 8 0; -#X connect 8 0 3 0; -#X connect 8 1 2 0; -#X connect 8 2 20 0; -#X connect 8 3 5 0; -#X connect 9 0 1 0; -#X connect 10 0 1 0; -#X connect 11 0 1 0; -#X connect 13 0 15 0; -#X connect 13 1 8 0; -#X connect 14 0 13 0; -#X connect 15 0 16 0; -#X connect 15 0 9 0; -#X connect 15 0 18 0; -#X connect 16 0 17 0; -#X connect 16 0 10 0; -#X connect 16 0 18 0; -#X connect 17 0 11 0; -#X connect 17 0 18 0; -#X connect 20 0 1 0; -#X connect 21 0 22 0; -#X connect 22 0 8 0; -#X restore 290 216 pd guts; -#X msg 290 185 solve; -#X text 53 28 In the exercise patch \, connect the existing objects -so that you can control the frequency of the oscillator and hear the -resulting sound.; -#X text 84 88 If you want help \, click the solve message below.; -#X msg 346 184 try again; -#X connect 1 0 0 0; -#X connect 4 0 0 1; diff --git a/doc/tutorials/intro/0.init_to_0.pd b/doc/tutorials/intro/0.init_to_0.pd deleted file mode 100644 index bc2573c8..00000000 --- a/doc/tutorials/intro/0.init_to_0.pd +++ /dev/null @@ -1,31 +0,0 @@ -#N canvas 396 67 599 357 12; -#X text 21 93 float values are automatically initialized to 0 in Pd. -; -#X obj 304 185 +; -#X obj 188 186 *; -#X obj 67 185 float; -#X obj 425 185 trigger f; -#X obj 253 216 bng 15 250 50 0 empty empty reset 0 -6 0 8 -262144 -1 --1; -#X obj 304 259 pddp/print; -#X obj 187 259 pddp/print; -#X obj 67 259 pddp/print; -#X obj 425 259 pddp/print; -#X msg 304 147 bang; -#X msg 188 148 bang; -#X msg 67 148 bang; -#X msg 425 148 bang; -#X obj 12 13 cnv 15 400 40 empty empty init_to_zero 20 12 0 24 -228992 --66577 0; -#X connect 1 0 6 0; -#X connect 2 0 7 0; -#X connect 3 0 8 0; -#X connect 4 0 9 0; -#X connect 5 0 6 0; -#X connect 5 0 7 0; -#X connect 5 0 8 0; -#X connect 5 0 9 0; -#X connect 10 0 1 0; -#X connect 11 0 2 0; -#X connect 12 0 3 0; -#X connect 13 0 4 0; diff --git a/doc/tutorials/intro/0.right_to_left_order.pd b/doc/tutorials/intro/0.right_to_left_order.pd deleted file mode 100644 index cb990c62..00000000 --- a/doc/tutorials/intro/0.right_to_left_order.pd +++ /dev/null @@ -1,24 +0,0 @@ -#N canvas 406 232 616 416 12; -#X text 10 110 The [trigger] object is used to enforce execution order. -If you need things to run in a certain order \, then you use a [trigger]. -; -#X obj 165 177 bng 25 250 50 0 empty empty empty -2 -8 1 10 -24198 --1 -1; -#X obj 165 217 trigger bang bang bang; -#X msg 381 256 1; -#X msg 273 256 2; -#X msg 165 256 3; -#X obj 273 332 print ORDER; -#X obj 8 10 cnv 15 400 40 empty empty right_to_left_order 20 12 0 24 --228992 -66577 0; -#X text 212 180 <-- click here \,; -#X text 10 65 In Pd \, you read a patch from right to left \, from -top to bottom. Objects also output from right to left; -#X text 89 380 then check the Pd window to see the order.; -#X connect 1 0 2 0; -#X connect 2 0 5 0; -#X connect 2 1 4 0; -#X connect 2 2 3 0; -#X connect 3 0 6 0; -#X connect 4 0 6 0; -#X connect 5 0 6 0; diff --git a/doc/tutorials/intro/0.shell_sketch.pd b/doc/tutorials/intro/0.shell_sketch.pd deleted file mode 100644 index 31cffaa6..00000000 --- a/doc/tutorials/intro/0.shell_sketch.pd +++ /dev/null @@ -1,16 +0,0 @@ -#N canvas 369 214 524 457 10; -#X obj 92 138 soundfiler; -#X obj 228 139 getdir; -#X obj 168 319 shell; -#X obj 169 373 print; -#X obj 233 98 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 191 253 t a a; -#X obj 225 275 print; -#X msg 169 220 ls -1 "$1"; -#X connect 1 0 7 0; -#X connect 2 0 3 0; -#X connect 4 0 1 0; -#X connect 5 0 2 0; -#X connect 5 1 6 0; -#X connect 7 0 5 0; diff --git a/doc/tutorials/intro/02.getting_help.pd b/doc/tutorials/intro/02.getting_help.pd index 1c07f70b..62b30923 100644 --- a/doc/tutorials/intro/02.getting_help.pd +++ b/doc/tutorials/intro/02.getting_help.pd @@ -1,4 +1,4 @@ -#N canvas 111 50 650 395 12; +#N canvas 111 50 654 399 12; #X msg 179 150; #X obj 61 150 trigger; #X text 54 28 comment; diff --git a/doc/tutorials/intro/05.connections.pd b/doc/tutorials/intro/05.connections.pd index 2da16bbe..9401b7cf 100644 --- a/doc/tutorials/intro/05.connections.pd +++ b/doc/tutorials/intro/05.connections.pd @@ -1,23 +1,26 @@ -#N canvas 100 133 652 445 12; -#X text 14 105 Pd patches are always running and changes take effect +#N canvas 576 160 660 453 12; +#X text 12 132 Pd patches are always running and changes take effect immediately.; #X floatatom 25 277 5 0 0 0 - - -; #X floatatom 25 341 5 0 0 0 - - -; -#X obj 24 165 tgl 30 0 empty empty start 2 15 1 12 -24198 -1 -1 0 1 +#X obj 24 179 tgl 30 0 empty empty start 2 15 1 12 -24198 -1 -1 1 1 ; -#X obj 24 209 metro 100; -#X obj 24 240 random 100; -#X text 70 169 <-- click here to start; +#X obj 24 221 metro 100; +#X obj 24 248 random 100; +#X text 70 183 <-- click here to start; #X text 66 299 connect by clicking on the outlet of the top number box \, then drag and drop on the inlet of the bottom number box; #X text 30 299 ^--; -#X text 39 375 Disconnect the cable by clicking on it to highlight -it \, then press the backspace key on your keyboard.; #X obj 8 10 cnv 15 400 40 empty empty connections 20 12 0 24 -228992 -66577 0; -#X text 15 66 Connections are always made from the inlet to the outlet -since that always the direction that the data flows.; -#X text 195 226 next \, make sure you are in edit mode; +#X text 195 238 next \, make sure you are in edit mode; +#X obj 39 418 pddp/pddplink http://crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s2.6 +; +#X text 34 372 Disconnect the cable by clicking on it to highlight +it \, then press "backspace" on a PC \, or "delete" on a Mac.; +#X text 11 53 One path for objects to communicate is thru connections +\, called cords or cables. Connections are always made from the inlet +to the outlet since that is the direction data flows in Pd.; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 1 0; diff --git a/doc/tutorials/intro/06.make_your_first_patch.pd b/doc/tutorials/intro/06.make_your_first_patch.pd deleted file mode 100644 index 50987d70..00000000 --- a/doc/tutorials/intro/06.make_your_first_patch.pd +++ /dev/null @@ -1,11 +0,0 @@ -#N canvas 359 93 682 502 12; -#X obj 8 10 cnv 15 400 40 empty empty make_your_first_patch 20 12 0 -24 -228992 -66577 0; -#X text 15 71 Its time to make your first patch. Follow the instructions -on the right:; -#X text 204 196 2- make a new object box \, in it \, type: symbol; -#X text 204 235 3- make a new symbol box; -#X text 204 275 4- connect the message box to the object box; -#X text 204 315 5- connect the object box to the symbol box; -#X text 203 353 6- click the message box \, and viola!; -#X text 204 159 1- make a message box \, in it \, type: servus; diff --git a/doc/tutorials/intro/06.messages.pd b/doc/tutorials/intro/06.messages.pd new file mode 100644 index 00000000..650f6ded --- /dev/null +++ b/doc/tutorials/intro/06.messages.pd @@ -0,0 +1,42 @@ +#N canvas 364 149 628 453 12; +#X obj 10 10 cnv 15 400 40 empty empty messages 20 12 0 24 -228992 +-66577 0; +#X msg 354 162 say hello; +#N canvas 0 22 466 316 myObject 0; +#X obj 70 24 inlet; +#X obj 68 243 outlet; +#X obj 76 86 route say; +#X obj 167 125 bang; +#X obj 57 130 symbol; +#X msg 167 152 symbol ?#$%!@$^!; +#X connect 0 0 2 0; +#X connect 2 0 4 0; +#X connect 2 1 3 0; +#X connect 3 0 5 0; +#X connect 4 0 1 0; +#X connect 5 0 1 0; +#X restore 354 250 pd myObject; +#X symbolatom 355 306 10 0 0 0 - - -; +#X obj 132 249 + 1; +#X msg 131 161 1; +#X floatatom 131 306 5 0 0 0 - - -; +#X text 183 161 <-- messages -->; +#X text 187 250 <-- objects -->; +#X msg 370 197 do as I say!; +#X obj 51 414 pddp/pddplink http://crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s3 +; +#X text 20 64 Objects respond to messages received on their inlets +\, and output messages on their outlets. These messages can be anything +from data to commands.; +#X text 124 128 data; +#X text 359 127 commands; +#X text 18 394 For more on messages:; +#X text 19 341 All communication within Pd is in the form of messages +\, including when the user is controlling the program.; +#X msg 143 189 2; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 9 0 2 0; +#X connect 16 0 4 0; diff --git a/doc/tutorials/intro/07.EXERCISE-make_your_first_patch.pd b/doc/tutorials/intro/07.EXERCISE-make_your_first_patch.pd new file mode 100644 index 00000000..02cdadcf --- /dev/null +++ b/doc/tutorials/intro/07.EXERCISE-make_your_first_patch.pd @@ -0,0 +1,11 @@ +#N canvas 359 93 686 506 12; +#X obj 8 10 cnv 15 600 40 empty empty EXERCISE-make_your_first_patch +20 12 0 24 -262131 -66577 0; +#X text 15 71 Its time to make your first patch. Follow the instructions +on the right:; +#X text 204 196 2- make a new object box \, in it \, type: symbol; +#X text 204 235 3- make a new symbol box; +#X text 204 275 4- connect the message box to the object box; +#X text 204 315 5- connect the object box to the symbol box; +#X text 203 353 6- click the message box \, and viola!; +#X text 204 159 1- make a message box \, in it \, type: servus; diff --git a/doc/tutorials/intro/07.bang.pd b/doc/tutorials/intro/07.bang.pd deleted file mode 100644 index 1cc8ce8d..00000000 --- a/doc/tutorials/intro/07.bang.pd +++ /dev/null @@ -1,18 +0,0 @@ -#N canvas 208 184 605 391 12; -#X text 13 79 In Pd \, "bang" means "do something". What that "something" -is depends on the object receiving the bang.; -#X obj 18 191 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 18 220 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X msg 18 269 bang; -#X obj 18 294 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X text 40 189 <--bang button; -#X text 62 270 <--you can also send "bang" using a message box; -#X text 14 137 Here \, this toggle changes state when it receives a -bang:; -#X obj 8 10 cnv 15 400 40 empty empty bang 20 12 0 24 -228992 -66577 -0; -#X connect 1 0 2 0; -#X connect 3 0 4 0; diff --git a/doc/tutorials/intro/08.bang.pd b/doc/tutorials/intro/08.bang.pd new file mode 100644 index 00000000..1cc8ce8d --- /dev/null +++ b/doc/tutorials/intro/08.bang.pd @@ -0,0 +1,18 @@ +#N canvas 208 184 605 391 12; +#X text 13 79 In Pd \, "bang" means "do something". What that "something" +is depends on the object receiving the bang.; +#X obj 18 191 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 18 220 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X msg 18 269 bang; +#X obj 18 294 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 40 189 <--bang button; +#X text 62 270 <--you can also send "bang" using a message box; +#X text 14 137 Here \, this toggle changes state when it receives a +bang:; +#X obj 8 10 cnv 15 400 40 empty empty bang 20 12 0 24 -228992 -66577 +0; +#X connect 1 0 2 0; +#X connect 3 0 4 0; diff --git a/doc/tutorials/intro/08.hot_and_cold_inlets.pd b/doc/tutorials/intro/08.hot_and_cold_inlets.pd deleted file mode 100644 index 06a8ac02..00000000 --- a/doc/tutorials/intro/08.hot_and_cold_inlets.pd +++ /dev/null @@ -1,44 +0,0 @@ -#N canvas 205 66 679 541 12; -#X obj 19 243 +; -#X floatatom 19 272 5 0 0 0 - - -; -#X msg 19 179 1; -#X msg 36 215 5; -#X text 11 56 For most objects in Pd \, the leftmost inlet is the "hot" -inlet. This means that it will output something whenever it receives -data on the "hot" inlet.; -#X text 12 116 All other inlets are generally "cold" inlets \, which -merely store the data they receive until input on the "hot" inlet causes -the object to do its thing.; -#X text 85 216 2) click this and there will be no new output; -#X obj 181 412 +; -#X floatatom 181 441 5 0 0 0 - - -; -#X msg 84 337 1; -#X text 15 305 Try a number of different combinations to see for yourself: -; -#X text 215 405 <-- "cold" inlet; -#X text 29 405 "hot" inlet -->; -#X msg 124 337 2; -#X msg 164 337 3; -#X msg 234 337 4; -#X msg 274 337 5; -#X msg 314 337 6; -#X text 85 248 3) now click the [1( message box \, and you get a new -output; -#X text 17 462 Notice that the number is stored in the "cold" inlet -until you change it. For example \, if you click [4( \, then click -[1( \, [2( \, and [3( \, you will see that 1 \, 2 \, and 3 are all -added to 4; -#X text 85 184 1) click this first \, and [+ ] immediately outputs -a 1; -#X obj 6 8 cnv 15 400 40 empty empty hot_and_cold_inlets 20 12 0 24 --228992 -66577 0; -#X connect 0 0 1 0; -#X connect 2 0 0 0; -#X connect 3 0 0 1; -#X connect 7 0 8 0; -#X connect 9 0 7 0; -#X connect 13 0 7 0; -#X connect 14 0 7 0; -#X connect 15 0 7 1; -#X connect 16 0 7 1; -#X connect 17 0 7 1; diff --git a/doc/tutorials/intro/09.event_driven_processing.pd b/doc/tutorials/intro/09.event_driven_processing.pd new file mode 100644 index 00000000..7b892c61 --- /dev/null +++ b/doc/tutorials/intro/09.event_driven_processing.pd @@ -0,0 +1,74 @@ +#N canvas 352 165 632 457 12; +#X obj 10 10 cnv 15 400 40 empty empty event_driven_processing 20 12 +0 24 -228992 -66577 0; +#X text 18 65 Message processing is driven by events \, nothing happens +if there no events. There is nothing happening in the patches below +until you click on the messages (the bangs at the bottom illustrate +that):; +#X obj 113 324 tgl 20 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 +; +#X obj 113 372 float; +#X obj 170 372 + 1; +#X floatatom 113 397 5 0 0 0 - - -; +#X obj 113 418 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 113 348 metro 1000; +#X text 18 265 Pd is always ready to process messages \, you don't +need to tell it to run. You can keep things running by sending a stream +of events:; +#X obj 384 316 bng 20 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X obj 385 353 float; +#X obj 442 353 + 1; +#X floatatom 385 378 5 0 0 0 - - -; +#X obj 385 399 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 54 145 cnv 15 80 30 empty empty empty 20 12 0 14 -225271 -66577 +0; +#X obj 236 140 cnv 15 80 30 empty empty empty 20 12 0 14 -225271 -66577 +0; +#X obj 399 132 cnv 15 80 30 empty empty empty 20 12 0 14 -225271 -66577 +0; +#X obj 72 181 + 1; +#X floatatom 72 207 5 0 0 0 - - -; +#X msg 72 149 1; +#X msg 237 147 convert; +#X obj 237 178 symbol; +#X symbolatom 237 206 10 0 0 0 - - -; +#X obj 72 234 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 237 233 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 421 168 until; +#X msg 421 137 100; +#X obj 421 198 float; +#X obj 478 198 + 1; +#X floatatom 421 226 5 0 0 0 - - -; +#X obj 421 247 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 277 364 delay 1000; +#X connect 2 0 7 0; +#X connect 3 0 4 0; +#X connect 3 0 5 0; +#X connect 4 0 3 1; +#X connect 5 0 6 0; +#X connect 7 0 3 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 10 0 12 0; +#X connect 11 0 10 1; +#X connect 12 0 13 0; +#X connect 13 0 31 0; +#X connect 17 0 18 0; +#X connect 18 0 23 0; +#X connect 19 0 17 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 24 0; +#X connect 25 0 27 0; +#X connect 26 0 25 0; +#X connect 27 0 28 0; +#X connect 27 0 29 0; +#X connect 28 0 27 1; +#X connect 29 0 30 0; +#X connect 31 0 10 0; diff --git a/doc/tutorials/intro/10.counters.pd b/doc/tutorials/intro/10.counters.pd new file mode 100644 index 00000000..30d3941a --- /dev/null +++ b/doc/tutorials/intro/10.counters.pd @@ -0,0 +1,44 @@ +#N canvas 400 118 624 449 12; +#X obj 10 10 cnv 15 400 40 empty empty counters 20 12 0 24 -228992 +-66577 0; +#X obj 156 362 cnv 15 100 60 empty empty empty 20 12 0 14 -261681 -66577 +0; +#X obj 174 382 f; +#X obj 209 382 + 1; +#X obj 157 219 float; +#X floatatom 120 246 5 0 0 0 - - -; +#X msg 121 137 1; +#X obj 120 219 +; +#X msg 157 189 0; +#X msg 133 160 -1; +#X text 167 138 increment; +#X text 172 161 decrement; +#X text 195 187 reset; +#X floatatom 346 244 5 0 0 0 - - -; +#X msg 404 180 0; +#X text 395 137 increment; +#X obj 346 216 float; +#X obj 404 216 + 1; +#X msg 347 138 bang; +#X text 278 377 DANGER! infinite loop!; +#X text 20 78 Counters are used a lot when programming Pd. Here are +two examples of simple counters that you will see frequently.; +#X text 442 180 reset; +#X text 20 276 Pd is designed to be as flexible and open as possible. +This means that it will let you crash your computer. For example \, +never start a counter like this \, it will crash your computer!; +#X connect 2 0 3 0; +#X connect 3 0 2 0; +#X connect 4 0 7 1; +#X connect 6 0 7 0; +#X connect 7 0 4 0; +#X connect 7 0 5 0; +#X connect 8 0 4 0; +#X connect 8 0 7 0; +#X connect 9 0 7 0; +#X connect 14 0 17 0; +#X connect 14 0 16 0; +#X connect 16 0 13 0; +#X connect 16 0 17 0; +#X connect 17 0 16 1; +#X connect 18 0 16 0; diff --git a/doc/tutorials/intro/10.storage_objects.pd b/doc/tutorials/intro/10.storage_objects.pd deleted file mode 100644 index d5ca3016..00000000 --- a/doc/tutorials/intro/10.storage_objects.pd +++ /dev/null @@ -1,56 +0,0 @@ -#N canvas 559 137 638 539 12; -#X obj 122 89 symbol; -#X obj 63 89 bang; -#X obj 303 89 f; -#X obj 208 89 float; -#X text 268 89 aka; -#X text 36 384 If a storage object receives a value on the left inlet -\, then it outputs that value immediately in addition to storing it. -; -#X text 35 254 If a storage object receives a value on the right inlet -\, then it stores that value.; -#X text 28 123 If you bang the left inlet of a storage object \, it -outputs its stored value.; -#X obj 170 334 float; -#X msg 195 302 123; -#X obj 124 478 float; -#X msg 170 452 123; -#X msg 124 453 432; -#X msg 237 301 321; -#X floatatom 170 358 5 0 0 0 - - -; -#X floatatom 185 228 5 0 0 0 - - -; -#X floatatom 124 507 5 0 0 0 - - -; -#X obj 12 13 cnv 15 400 40 empty empty storage_objects 20 12 0 24 -228992 --66577 0; -#X obj 185 199 float 5.5; -#X text 98 58 A storage object stores data.; -#X obj 362 89 list; -#X obj 299 198 symbol yoyo; -#X symbolatom 299 227 10 0 0 0 - - -; -#X msg 185 171 bang; -#X msg 299 170 bang; -#X msg 132 303 bang; -#X obj 320 329 symbol yoyo; -#X symbolatom 320 358 10 0 0 0 - - -; -#X msg 320 301 bang; -#X msg 70 453 bang; -#X msg 379 300 symbol one; -#X msg 492 300 symbol two; -#X obj 427 89 any; -#X obj 477 89 pointer; -#X connect 8 0 14 0; -#X connect 9 0 8 1; -#X connect 10 0 16 0; -#X connect 11 0 10 1; -#X connect 12 0 10 0; -#X connect 13 0 8 1; -#X connect 18 0 15 0; -#X connect 21 0 22 0; -#X connect 23 0 18 0; -#X connect 24 0 21 0; -#X connect 25 0 8 0; -#X connect 26 0 27 0; -#X connect 28 0 26 0; -#X connect 29 0 10 0; -#X connect 30 0 26 1; -#X connect 31 0 26 1; diff --git a/doc/tutorials/intro/11.atoms.pd b/doc/tutorials/intro/11.atoms.pd deleted file mode 100644 index 8276758e..00000000 --- a/doc/tutorials/intro/11.atoms.pd +++ /dev/null @@ -1,10 +0,0 @@ -#N canvas 546 135 614 464 12; -#X obj 10 12 cnv 15 400 40 empty empty atoms 20 12 0 24 -228992 -66577 -0; -#X text 24 87 The basic data types of Pd are called "atoms". There -are three atom types: "float" \, "symbol" \, and "pointer".; -#X text 10 282 An atom is a piece of data that cannot be broken down -into smaller parts.; -#X text 21 160 A numeric atom is anything that can be interpreted as -a number.; -#X text 18 225 A symbolic atom is...; diff --git a/doc/tutorials/intro/11.hot_and_cold_inlets.pd b/doc/tutorials/intro/11.hot_and_cold_inlets.pd new file mode 100644 index 00000000..9f58000b --- /dev/null +++ b/doc/tutorials/intro/11.hot_and_cold_inlets.pd @@ -0,0 +1,44 @@ +#N canvas 205 66 683 545 12; +#X obj 19 243 +; +#X floatatom 19 272 5 0 0 0 - - -; +#X msg 19 179 1; +#X msg 36 215 5; +#X text 11 56 For most objects in Pd \, the leftmost inlet is the "hot" +inlet. This means that it will output something whenever it receives +data on the "hot" inlet.; +#X text 12 116 All other inlets are generally "cold" inlets \, which +merely store the data they receive until input on the "hot" inlet causes +the object to do its thing.; +#X text 85 216 2) click this and there will be no new output; +#X obj 181 412 +; +#X floatatom 181 441 5 0 0 0 - - -; +#X msg 84 337 1; +#X text 15 305 Try a number of different combinations to see for yourself: +; +#X text 215 405 <-- "cold" inlet; +#X text 29 405 "hot" inlet -->; +#X msg 124 337 2; +#X msg 164 337 3; +#X msg 234 337 4; +#X msg 274 337 5; +#X msg 314 337 6; +#X text 85 248 3) now click the [1( message box \, and you get a new +output; +#X text 17 462 Notice that the number is stored in the "cold" inlet +until you change it. For example \, if you click [4( \, then click +[1( \, [2( \, and [3( \, you will see that 1 \, 2 \, and 3 are all +added to 4; +#X text 85 184 1) click this first \, and [+ ] immediately outputs +a 1; +#X obj 6 8 cnv 15 400 40 empty empty hot_and_cold_inlets 20 12 0 24 +-228992 -66577 0; +#X connect 0 0 1 0; +#X connect 2 0 0 0; +#X connect 3 0 0 1; +#X connect 7 0 8 0; +#X connect 9 0 7 0; +#X connect 13 0 7 0; +#X connect 14 0 7 0; +#X connect 15 0 7 1; +#X connect 16 0 7 1; +#X connect 17 0 7 1; diff --git a/doc/tutorials/intro/12.atomic_messages.pd b/doc/tutorials/intro/12.atomic_messages.pd deleted file mode 100644 index b76ee863..00000000 --- a/doc/tutorials/intro/12.atomic_messages.pd +++ /dev/null @@ -1,6 +0,0 @@ -#N canvas 384 167 602 456 12; -#X obj 10 12 cnv 15 400 40 empty empty atomic_messages 20 12 0 24 -228992 --66577 0; -#X msg 27 81 bang; -#X msg 27 197 symbol atom; -#X msg 29 300 float 1.234; diff --git a/doc/tutorials/intro/12.right_to_left_order.pd b/doc/tutorials/intro/12.right_to_left_order.pd new file mode 100644 index 00000000..b746cbdc --- /dev/null +++ b/doc/tutorials/intro/12.right_to_left_order.pd @@ -0,0 +1,26 @@ +#N canvas 406 232 624 424 12; +#X obj 165 177 bng 25 250 50 0 empty empty empty -2 -8 1 10 -24198 +-1 -1; +#X obj 165 217 trigger bang bang bang; +#X msg 381 256 1; +#X msg 273 256 2; +#X msg 165 256 3; +#X obj 273 332 print ORDER; +#X obj 8 10 cnv 15 400 40 empty empty right_to_left_order 20 12 0 24 +-228992 -66577 0; +#X text 212 180 <-- click here \,; +#X text 10 65 In Pd \, you read a patch from right to left \, from +top to bottom. Objects also output from right to left; +#X text 89 361 then check the Pd window to see the order.; +#X obj 43 386 pddp/pddplink http://crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s3.3 +; +#X text 10 110 The [trigger] object is used to enforce execution order. +If you need things to run in a certain sequence \, then you use a [trigger]. +; +#X connect 0 0 1 0; +#X connect 1 0 4 0; +#X connect 1 1 3 0; +#X connect 1 2 2 0; +#X connect 2 0 5 0; +#X connect 3 0 5 0; +#X connect 4 0 5 0; diff --git a/doc/tutorials/intro/13.ordering_messages.pd b/doc/tutorials/intro/13.ordering_messages.pd new file mode 100644 index 00000000..cbc193d7 --- /dev/null +++ b/doc/tutorials/intro/13.ordering_messages.pd @@ -0,0 +1,42 @@ +#N canvas 542 117 623 439 12; +#X obj 10 10 cnv 15 400 40 empty empty ordering_messages 20 12 0 24 +-228992 -66577 0; +#X msg 395 249 now; +#X msg 316 250 this; +#X msg 237 250 makes; +#X msg 158 250 sense; +#X msg 80 250 !; +#X msg 276 391 sense now this; +#X obj 157 292 symbol; +#X msg 159 151 bang; +#X msg 10 177 bang; +#X msg 157 316 add2 \$1; +#X msg 478 248 set; +#X obj 160 178 trigger bang bang bang bang bang bang; +#X text 10 393 look here for the result -->; +#X text 10 62 Officially \, the execution order in Pd is undefined. +; +#X text 10 88 The [trigger] object allows you to specify the order +of messages are sent. If you need to make sure that one thing runs +before another \, use [trigger]:; +#X connect 1 0 7 0; +#X connect 2 0 7 0; +#X connect 3 0 7 0; +#X connect 4 0 7 0; +#X connect 5 0 7 0; +#X connect 7 0 10 0; +#X connect 8 0 12 0; +#X connect 9 0 3 0; +#X connect 9 0 5 0; +#X connect 9 0 11 0; +#X connect 9 0 4 0; +#X connect 9 0 1 0; +#X connect 9 0 2 0; +#X connect 10 0 6 0; +#X connect 11 0 6 0; +#X connect 12 0 5 0; +#X connect 12 1 4 0; +#X connect 12 2 3 0; +#X connect 12 3 2 0; +#X connect 12 4 1 0; +#X connect 12 5 11 0; diff --git a/doc/tutorials/intro/14.depth_first.pd b/doc/tutorials/intro/14.depth_first.pd new file mode 100644 index 00000000..14bb4062 --- /dev/null +++ b/doc/tutorials/intro/14.depth_first.pd @@ -0,0 +1,31 @@ +#N canvas 21 40 627 443 12; +#X obj -43 8 cnv 15 400 40 empty empty depth_first 20 12 0 24 -228992 +-66577 0; +#X obj 258 249 trigger bang bang; +#X msg 208 358 add2 \$1; +#X msg 207 397 1 2 3 4; +#X msg 77 254 set; +#X text 11 254 reset:; +#X msg 257 215 4; +#X msg 258 282 3; +#X msg 423 280 2; +#X msg 423 315 1; +#X text 8 398 see result here -->; +#X obj 258 184 bng 25 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X text -39 66 Pd processes messages in "depth first". This means the +bottom-most message in a chain runs first. Everything below a spot +in a chain is run before. As you'll see from the example below \, the +[4( message actually runs last \, since everything below it executed +before it.; +#X connect 1 0 7 0; +#X connect 1 1 8 0; +#X connect 2 0 3 0; +#X connect 4 0 3 0; +#X connect 6 0 1 0; +#X connect 6 0 2 0; +#X connect 7 0 2 0; +#X connect 8 0 9 0; +#X connect 8 0 2 0; +#X connect 9 0 2 0; +#X connect 11 0 6 0; diff --git a/doc/tutorials/intro/14.subpatches.pd b/doc/tutorials/intro/14.subpatches.pd deleted file mode 100644 index 154bae2d..00000000 --- a/doc/tutorials/intro/14.subpatches.pd +++ /dev/null @@ -1 +0,0 @@ -#N canvas 0 22 454 304 12; diff --git a/doc/tutorials/intro/15.storage_objects.pd b/doc/tutorials/intro/15.storage_objects.pd new file mode 100644 index 00000000..d5ca3016 --- /dev/null +++ b/doc/tutorials/intro/15.storage_objects.pd @@ -0,0 +1,56 @@ +#N canvas 559 137 638 539 12; +#X obj 122 89 symbol; +#X obj 63 89 bang; +#X obj 303 89 f; +#X obj 208 89 float; +#X text 268 89 aka; +#X text 36 384 If a storage object receives a value on the left inlet +\, then it outputs that value immediately in addition to storing it. +; +#X text 35 254 If a storage object receives a value on the right inlet +\, then it stores that value.; +#X text 28 123 If you bang the left inlet of a storage object \, it +outputs its stored value.; +#X obj 170 334 float; +#X msg 195 302 123; +#X obj 124 478 float; +#X msg 170 452 123; +#X msg 124 453 432; +#X msg 237 301 321; +#X floatatom 170 358 5 0 0 0 - - -; +#X floatatom 185 228 5 0 0 0 - - -; +#X floatatom 124 507 5 0 0 0 - - -; +#X obj 12 13 cnv 15 400 40 empty empty storage_objects 20 12 0 24 -228992 +-66577 0; +#X obj 185 199 float 5.5; +#X text 98 58 A storage object stores data.; +#X obj 362 89 list; +#X obj 299 198 symbol yoyo; +#X symbolatom 299 227 10 0 0 0 - - -; +#X msg 185 171 bang; +#X msg 299 170 bang; +#X msg 132 303 bang; +#X obj 320 329 symbol yoyo; +#X symbolatom 320 358 10 0 0 0 - - -; +#X msg 320 301 bang; +#X msg 70 453 bang; +#X msg 379 300 symbol one; +#X msg 492 300 symbol two; +#X obj 427 89 any; +#X obj 477 89 pointer; +#X connect 8 0 14 0; +#X connect 9 0 8 1; +#X connect 10 0 16 0; +#X connect 11 0 10 1; +#X connect 12 0 10 0; +#X connect 13 0 8 1; +#X connect 18 0 15 0; +#X connect 21 0 22 0; +#X connect 23 0 18 0; +#X connect 24 0 21 0; +#X connect 25 0 8 0; +#X connect 26 0 27 0; +#X connect 28 0 26 0; +#X connect 29 0 10 0; +#X connect 30 0 26 1; +#X connect 31 0 26 1; diff --git a/doc/tutorials/intro/16.atoms.pd b/doc/tutorials/intro/16.atoms.pd new file mode 100644 index 00000000..8276758e --- /dev/null +++ b/doc/tutorials/intro/16.atoms.pd @@ -0,0 +1,10 @@ +#N canvas 546 135 614 464 12; +#X obj 10 12 cnv 15 400 40 empty empty atoms 20 12 0 24 -228992 -66577 +0; +#X text 24 87 The basic data types of Pd are called "atoms". There +are three atom types: "float" \, "symbol" \, and "pointer".; +#X text 10 282 An atom is a piece of data that cannot be broken down +into smaller parts.; +#X text 21 160 A numeric atom is anything that can be interpreted as +a number.; +#X text 18 225 A symbolic atom is...; diff --git a/doc/tutorials/intro/17.atomic_messages.pd b/doc/tutorials/intro/17.atomic_messages.pd new file mode 100644 index 00000000..b76ee863 --- /dev/null +++ b/doc/tutorials/intro/17.atomic_messages.pd @@ -0,0 +1,6 @@ +#N canvas 384 167 602 456 12; +#X obj 10 12 cnv 15 400 40 empty empty atomic_messages 20 12 0 24 -228992 +-66577 0; +#X msg 27 81 bang; +#X msg 27 197 symbol atom; +#X msg 29 300 float 1.234; diff --git a/doc/tutorials/intro/18.selectors.pd b/doc/tutorials/intro/18.selectors.pd new file mode 100644 index 00000000..363971df --- /dev/null +++ b/doc/tutorials/intro/18.selectors.pd @@ -0,0 +1,29 @@ +#N canvas 231 101 638 461 12; +#X obj 8 -33 cnv 15 400 40 empty empty selectors 20 12 0 24 -228992 +-66577 0; +#N canvas 328 337 454 304 object 0; +#X obj 79 36 inlet; +#X obj 86 270 outlet; +#X obj 308 267 outlet; +#X obj 71 131 route output-left output-right; +#X connect 0 0 3 0; +#X connect 3 0 1 0; +#X connect 3 1 2 0; +#X restore 157 211 pd object; +#X floatatom 157 264 5 0 0 0 - - -; +#X floatatom 242 264 5 0 0 0 - - -; +#X msg 189 165 output-right 309; +#X msg 156 115 output-left 8675; +#X text 9 24 Every message has a selector. The selector is the first +element in the message. It tells the object which receives that message +what to do with it. A selector is basically like a command or a function. +; +#X text 23 304 Here's the technical definition:; +#X text 23 335 The selector is a symbolic atom \, which is a non-numeric +string with no white space \, semicolons \, or commas. In the case +of messages whose first element is a numeric atom \, the selector is +implied.; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 4 0 1 0; +#X connect 5 0 1 0; diff --git a/doc/tutorials/intro/19.subpatches.pd b/doc/tutorials/intro/19.subpatches.pd new file mode 100644 index 00000000..fe73255c --- /dev/null +++ b/doc/tutorials/intro/19.subpatches.pd @@ -0,0 +1,26 @@ +#N canvas 211 67 624 449 12; +#X obj 10 10 cnv 15 400 40 empty empty subpatches 20 12 0 24 -228992 +-66577 0; +#X text 12 69 Encapsulation is a key concept in Pd programming. Each +object is an idea that is bundled up into an easy-to-use package. You +should make encapsulated your ideas. Subpatches are the easiest way +to do this.; +#N canvas 394 144 474 324 what's 0; +#X obj 140 91 loadbang; +#X obj 139 149 float; +#X obj 198 149 + 1; +#X floatatom 139 221 5 0 0 0 - - -; +#X obj 30 149 delay 1000; +#X text 39 39 just counting away in here...; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 3 0; +#X connect 1 0 4 0; +#X connect 2 0 1 1; +#X connect 4 0 1 0; +#X restore 192 193 pd what's in here?; +#X text 19 271 To make a subpatch \, create an object that started +with the word "pd" \, then type anything after that to identify it. +; +#X text 17 325 A subpatch is part of the same file \, its just a way +of organizing the logic of a program.; diff --git a/doc/tutorials/intro/20.inlets_and_outlets.pd b/doc/tutorials/intro/20.inlets_and_outlets.pd new file mode 100644 index 00000000..7f633d20 --- /dev/null +++ b/doc/tutorials/intro/20.inlets_and_outlets.pd @@ -0,0 +1,69 @@ +#N canvas 82 134 632 457 12; +#X obj 10 10 cnv 15 400 40 empty empty inlets_and_outlets 20 12 0 24 +-228992 -66577 0; +#X text 14 72 When making your own objects and subpatchs \, you can +create inlets and outlets using [inlet] and [outlet].; +#N canvas 0 22 707 378 look 0; +#X obj 24 34 inlet; +#X obj 238 47 inlet; +#X obj 469 41 inlet; +#X obj 251 304 outlet; +#X msg 469 175 I am the third inlet; +#X msg 242 145 I am the second inlet; +#X msg 24 94 I am the first inlet; +#X connect 0 0 6 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 4 0 3 0; +#X connect 5 0 3 0; +#X connect 6 0 3 0; +#X restore 32 162 pd look inside me; +#X obj 31 202 pddp/print_long; +#X obj 32 129 bng 20 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X obj 114 129 bng 20 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X obj 197 129 bng 20 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#N canvas 120 60 711 382 look 0; +#X obj 24 34 inlet; +#X obj 334 33 inlet; +#X obj 528 35 inlet; +#X obj 253 309 outlet; +#X msg 45 170 set; +#X obj 286 179 prepend add2; +#X msg 251 263; +#X obj 21 120 trigger bang bang anything; +#X connect 0 0 7 0; +#X connect 1 0 5 0; +#X connect 2 0 5 0; +#X connect 4 0 6 0; +#X connect 5 0 6 0; +#X connect 6 0 3 0; +#X connect 7 0 4 0; +#X connect 7 1 6 0; +#X connect 7 2 5 0; +#X restore 199 376 pd look inside me; +#X obj 198 416 pddp/print_long; +#X msg 200 327 smokin!; +#X msg 281 327 are; +#X msg 363 327 you; +#X text 17 259 The first inlet should be the hot inlet \, even in your +own patches. There are times when you need to make other inlets hot +\, but in general \, its a good rule to stick with.; +#X obj 332 126 cnv 15 220 120 empty empty empty 20 12 0 14 -233017 +-66577 0; +#X obj 347 132 inlet; +#X obj 348 218 outlet; +#X text 402 132 take in data; +#X text 361 173 do some stuff here; +#X text 418 217 output data; +#X connect 2 0 3 0; +#X connect 4 0 2 0; +#X connect 5 0 2 1; +#X connect 6 0 2 2; +#X connect 7 0 8 0; +#X connect 9 0 7 0; +#X connect 10 0 7 1; +#X connect 11 0 7 2; +#X connect 14 0 15 0; diff --git a/doc/tutorials/intro/21.outlet_order.pd b/doc/tutorials/intro/21.outlet_order.pd new file mode 100644 index 00000000..5aaf5c8b --- /dev/null +++ b/doc/tutorials/intro/21.outlet_order.pd @@ -0,0 +1,32 @@ +#N canvas 298 70 632 448 12; +#X text 223 149 <-- click here \,; +#X obj 8 10 cnv 15 400 40 empty empty outlet_order 20 12 0 24 -228992 +-66577 0; +#X msg 153 149 3 2 1; +#X obj 101 234 print último; +#X obj 388 234 print first; +#X obj 240 234 print nächste; +#X text 19 374 There are occasional exceptions where it makes sense +to break this convention. But you shouldn't do it unless it really +is necessary. This will save you in the long run.; +#X text 15 80 Just like the flow of programming in Pd \, the data should +be output from right to left.; +#N canvas 0 22 454 304 spread 0; +#X obj 68 2 inlet; +#X obj 38 235 outlet; +#X obj 201 235 outlet; +#X obj 345 235 outlet; +#X obj 66 109 unpack float float float; +#X connect 0 0 4 0; +#X connect 4 0 1 0; +#X connect 4 1 2 0; +#X connect 4 2 3 0; +#X restore 153 188 pd spread the love; +#X text 18 310 While there is nothing forcing you to output data to +the outlets in any order \, Pd has a very strong convention for how +data should be output from an object.; +#X text 175 259 now check the Pd window; +#X connect 2 0 8 0; +#X connect 8 0 3 0; +#X connect 8 1 5 0; +#X connect 8 2 4 0; diff --git a/doc/tutorials/intro/21.send_messages_to_pd.pd b/doc/tutorials/intro/21.send_messages_to_pd.pd deleted file mode 100644 index deb05501..00000000 --- a/doc/tutorials/intro/21.send_messages_to_pd.pd +++ /dev/null @@ -1,26 +0,0 @@ -#N canvas 476 37 651 588 12; -#X msg 134 485 menuclose; -#X obj 46 550 s pd-mon-nouveau-patch.pd; -#X obj 22 216 cnv 15 5 5 empty empty 1 5 0 0 20 -262144 -258699 0; -#X obj 23 290 cnv 15 5 5 empty empty 2 5 0 0 20 -262144 -258699 0; -#X obj 20 342 cnv 15 5 5 empty empty 3 5 0 0 20 -262144 -258699 0; -#X msg 60 185 \; pd filename mon-nouveau-patch.pd /tmp \; #N canvas -\; #X pop 1 \;; -#X text 13 149 Click these messages starting from the top:; -#X msg 76 331 symbolatom 20 100 0 0 0 0; -#X msg 92 379 connect 0 0 1 0; -#X msg 60 279 msg 20 27 symbol Hello_World!; -#X text 131 426 click on [symbol Hello_World!( in the new window; -#X text 243 484 now close the new window; -#X obj 20 389 cnv 15 5 5 empty empty 4 5 0 0 20 -262144 -258699 0; -#X obj 19 440 cnv 15 5 5 empty empty 5 5 0 0 20 -262144 -258699 0; -#X obj 18 495 cnv 15 5 5 empty empty 6 5 0 0 20 -262144 -258699 0; -#X obj 8 10 cnv 15 400 40 empty empty send_messages_to_pd 20 12 0 24 --228992 -66577 0; -#X text 11 75 Keeping true to the name "Pure Data" \, you can send -messages to Pd itself. All messages are in the same format \, whether -its in your patch \, or it's Pd's GUI talking to the Pd core.; -#X connect 0 0 1 0; -#X connect 7 0 1 0; -#X connect 8 0 1 0; -#X connect 9 0 1 0; diff --git a/doc/tutorials/intro/22.Example-all_just_data.pd b/doc/tutorials/intro/22.Example-all_just_data.pd new file mode 100644 index 00000000..aeb2c96c --- /dev/null +++ b/doc/tutorials/intro/22.Example-all_just_data.pd @@ -0,0 +1,99 @@ +#N canvas 585 87 502 438 10; +#X obj 180 406 import unauthorized Gem; +#X obj 154 102 grid grid1 200 0 199 200 0 199 1 1 1 10 10 113 347; +#X obj 25 39 pddp/dsp; +#N canvas 446 285 662 482 guts 0; +#X obj 20 10 inlet; +#X obj 275 14 inlet; +#X obj 78 108 osc~; +#X obj 78 137 *~; +#X obj 115 79 / 200; +#X obj 76 166 dac~; +#X obj 444 54 receive pd; +#X msg 340 154 create; +#X msg 310 154 1; +#X obj 482 215 gemwin; +#X msg 564 154 0; +#X msg 504 154 destroy; +#X obj 517 132 t b b; +#X obj 311 125 trigger bang bang bang; +#X obj 444 94 select 1; +#X obj 444 74 route dsp; +#X obj 89 229 gemhead; +#X obj 90 375 sphere 1 20; +#X obj 91 344 translateXYZ; +#X obj 93 287 colorRGB 1 1 1 1; +#X obj 90 314 alpha; +#X msg 289 192 lighting 1; +#X obj 418 294 gemhead; +#X obj 419 359 world_light -120; +#X obj 228 292 / 25; +#X obj 30 300 / 25; +#X obj 228 269 - 100; +#X obj 29 279 - 100; +#X obj 181 251 / 200; +#X obj 53 250 / 200; +#X msg 394 154 dimen 200 200; +#X obj 77 56 + 250; +#X obj 115 118 line~; +#X obj 161 59 bang; +#X msg 160 98 0 250; +#X msg 115 98 \$1 25; +#X obj 161 79 delay 200; +#X connect 0 0 4 0; +#X connect 0 0 27 0; +#X connect 0 0 29 0; +#X connect 0 0 33 0; +#X connect 1 0 26 0; +#X connect 1 0 28 0; +#X connect 1 0 31 0; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X connect 3 0 5 1; +#X connect 4 0 35 0; +#X connect 6 0 15 0; +#X connect 7 0 9 0; +#X connect 8 0 9 0; +#X connect 10 0 9 0; +#X connect 11 0 9 0; +#X connect 12 0 11 0; +#X connect 12 1 10 0; +#X connect 13 0 8 0; +#X connect 13 0 21 0; +#X connect 13 1 7 0; +#X connect 13 2 30 0; +#X connect 14 0 13 0; +#X connect 14 1 12 0; +#X connect 15 0 14 0; +#X connect 16 0 19 0; +#X connect 18 0 17 0; +#X connect 19 0 20 0; +#X connect 20 0 18 0; +#X connect 21 0 9 0; +#X connect 22 0 23 0; +#X connect 24 0 18 2; +#X connect 25 0 18 1; +#X connect 26 0 24 0; +#X connect 27 0 25 0; +#X connect 28 0 19 2; +#X connect 29 0 19 1; +#X connect 30 0 9 0; +#X connect 31 0 2 0; +#X connect 32 0 3 1; +#X connect 33 0 36 0; +#X connect 34 0 32 0; +#X connect 35 0 32 0; +#X connect 36 0 34 0; +#X restore 256 320 pd guts; +#X text 102 9 Its all just data. Use it however you want!; +#X text 28 61 ^-- click here to turn it on and off; +#X obj 154 344 nbx 5 24 -1e+37 1e+37 0 0 empty empty X -15 12 1 18 +-166441 -1 -1 0 256; +#X obj 348 343 nbx 5 24 -1e+37 1e+37 0 0 empty empty Y -15 12 1 18 +-166441 -1 -1 0 256; +#X text 14 121 click and drag in; +#X text 14 137 this box ------->; +#X connect 1 0 3 0; +#X connect 1 0 6 0; +#X connect 1 1 3 1; +#X connect 1 1 7 0; diff --git a/doc/tutorials/intro/22.pure_data_files.pd b/doc/tutorials/intro/22.pure_data_files.pd deleted file mode 100644 index 2061d910..00000000 --- a/doc/tutorials/intro/22.pure_data_files.pd +++ /dev/null @@ -1,54 +0,0 @@ -#N canvas 615 56 576 539 10; -#X obj 191 249 textfile; -#X obj 111 279 print all; -#X msg 100 223 bang; -#X msg 191 213 rewind; -#X obj 131 347 route canvas; -#X obj 112 474 print width; -#X obj 51 425 print Xpos; -#X obj 81 450 print Ypos; -#X obj 143 499 print heigth; -#X obj 174 424 print fontsize; -#X obj 51 394 unpack f f f f f; -#X obj 295 427 s pd-clone; -#X obj 191 274 route #N #X; -#X obj 234 106 tgl 20 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1 -; -#X msg 294 338 vis 1 \, clear; -#X obj 142 174 + 1; -#X obj 100 174 float; -#X obj 272 152 select 1; -#X obj 98 150 metro 300; -#X text 35 54 Even .pd files use the same message format.; -#X text 34 75 Here is a patch that reads the file of this patch and -sends it to the "clone" subpatch \, making a clone:; -#X obj 8 10 cnv 15 400 40 empty empty pure_data_files 20 12 0 24 -228992 --66577 0; -#X obj 100 198 moses 52; -#X msg 317 214 read 22.pure_data_files.pd; -#N canvas 0 22 548 599 clone 0; -#X restore 428 494 pd clone; -#X connect 0 0 1 0; -#X connect 0 0 12 0; -#X connect 2 0 0 0; -#X connect 3 0 0 0; -#X connect 4 0 10 0; -#X connect 10 0 6 0; -#X connect 10 1 7 0; -#X connect 10 2 5 0; -#X connect 10 3 8 0; -#X connect 10 4 9 0; -#X connect 12 0 4 0; -#X connect 12 1 11 0; -#X connect 13 0 17 0; -#X connect 13 0 18 0; -#X connect 14 0 11 0; -#X connect 15 0 16 1; -#X connect 16 0 15 0; -#X connect 16 0 22 0; -#X connect 17 0 23 0; -#X connect 17 0 3 0; -#X connect 17 0 14 0; -#X connect 18 0 16 0; -#X connect 22 0 2 0; -#X connect 23 0 0 0; diff --git a/doc/tutorials/intro/23.EXERCISE-hmmm.pd b/doc/tutorials/intro/23.EXERCISE-hmmm.pd new file mode 100644 index 00000000..909899f8 --- /dev/null +++ b/doc/tutorials/intro/23.EXERCISE-hmmm.pd @@ -0,0 +1,97 @@ +#N canvas 333 243 686 482 12; +#N canvas 414 102 546 555 guts 0; +#X msg 280 45 \; pd filename exercise-patch.pd /tmp \; #N canvas \; +#X pop 1 \;; +#X obj 300 328 s pd-exercise-patch.pd; +#X msg 329 216 obj 50 103 osc~; +#X msg 330 240 obj 50 153 dac~; +#X obj 103 17 inlet; +#X msg 320 155 clear; +#X obj 276 7 loadbang; +#X obj 259 108 delay 1000; +#X obj 259 129 t b b b b; +#X msg 52 155 connect 0 0 1 0; +#X msg 37 216 connect 1 0 2 0; +#X msg 31 266 connect 1 0 2 1; +#X msg 292 27 \; pd dsp 1; +#X obj 112 108 t b b; +#X msg 87 52 bang; +#X obj 34 134 delay 2000; +#X obj 21 187 delay 2000; +#X obj 10 245 delay 2000; +#N canvas 261 307 459 387 connection-effect 0; +#X obj 186 312 dac~; +#X obj 72 233 osc~ 1000; +#X obj 138 266 *~; +#X obj 253 259 *~; +#X obj 204 236 osc~ 800; +#X obj 153 236 line~; +#X obj 183 7 inlet; +#X msg 184 31 bang; +#X obj 187 61 t b b; +#X obj 168 95 delay 10; +#X msg 201 125 0 10; +#X obj 276 218 line~; +#X obj 276 191 pipe 30; +#X msg 241 125 1 10; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 3 0 0 1; +#X connect 4 0 3 0; +#X connect 5 0 2 1; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 8 1 13 0; +#X connect 9 0 10 0; +#X connect 10 0 5 0; +#X connect 10 0 12 0; +#X connect 11 0 3 1; +#X connect 12 0 11 0; +#X connect 13 0 5 0; +#X connect 13 0 12 0; +#X restore 22 365 pd connection-effect; +#X msg 256 453 floatatom 50 50 5 0 0 0; +#X msg 327 184 obj 50 50 hsl; +#X obj 197 18 inlet; +#X msg 205 50 bang; +#X connect 2 0 1 0; +#X connect 3 0 1 0; +#X connect 4 0 14 0; +#X connect 5 0 1 0; +#X connect 6 0 0 0; +#X connect 6 0 7 0; +#X connect 6 0 12 0; +#X connect 7 0 8 0; +#X connect 8 0 3 0; +#X connect 8 1 2 0; +#X connect 8 2 20 0; +#X connect 8 3 5 0; +#X connect 9 0 1 0; +#X connect 10 0 1 0; +#X connect 11 0 1 0; +#X connect 13 0 15 0; +#X connect 13 1 8 0; +#X connect 14 0 13 0; +#X connect 15 0 16 0; +#X connect 15 0 9 0; +#X connect 15 0 18 0; +#X connect 16 0 17 0; +#X connect 16 0 10 0; +#X connect 16 0 18 0; +#X connect 17 0 11 0; +#X connect 17 0 18 0; +#X connect 20 0 1 0; +#X connect 21 0 22 0; +#X connect 22 0 8 0; +#X restore 233 269 pd guts; +#X msg 233 242 solve; +#X text 32 64 In the exercise patch \, connect the existing objects +so that you can control the frequency of the oscillator and hear the +resulting sound.; +#X text 35 131 If you want help \, click the solve message below.; +#X msg 298 242 try again; +#X obj 11 10 cnv 15 600 40 empty empty EXERCISE-make_your_first_patch +20 12 0 24 -262131 -66577 0; +#X connect 1 0 0 0; +#X connect 4 0 0 1; diff --git a/doc/tutorials/intro/24.guis.pd b/doc/tutorials/intro/24.guis.pd new file mode 100644 index 00000000..ca08bb3a --- /dev/null +++ b/doc/tutorials/intro/24.guis.pd @@ -0,0 +1,813 @@ +#N canvas 153 19 568 572 10; +#X obj -4 -4 cnv 15 600 700 empty empty gui-INTRO 237 20 2 14 -261819 +-143491 0; +#X text 101 4 bng; +#X obj 456 313 vsl 15 128 0 127 0 0 empty empty default_15x128 8 -8 +0 8 -262144 -1 -1 0 1; +#X obj 354 42 tgl 100 1 empty empty 100_pix 8 -8 0 8 -250685 -24198 +-42246 1 1; +#X obj 57 251 hsl 128 15 0 127 0 0 empty empty default_128x15 8 -8 +0 8 -262144 -1 -1 0 1; +#X obj 78 226 hsl 20 8 0 19 0 0 empty empty min_20x8 8 -8 0 8 -262144 +-1 -1 0 1; +#X obj 478 326 vsl 8 20 0 19 0 0 empty empty min_8x20 8 -8 0 8 -262144 +-1 -1 0 1; +#X obj 458 48 tgl 8 0 empty empty min_8 8 -8 0 8 -262144 -1 -1 0 1 +; +#X obj 458 71 tgl 15 0 empty empty default_15 8 -8 0 8 -262144 -1 -1 +0 1; +#X obj 459 109 tgl 30 0 empty empty 30_pix 8 -8 0 8 -262144 -1 -1 0 +1; +#X obj 101 88 bng 30 250 50 0 empty empty 30_pix 8 -8 0 8 -262144 -1 +-1; +#X obj 412 304 vsl 30 250 0 249 0 1 empty empty 30x250 8 -8 0 8 -184301 +-42886 -42246 21800 1; +#X obj 7 271 hsl 251 30 0 250 0 1 empty empty 251x30 8 -8 0 8 -147456 +-1109 -66577 12500 1; +#X text 180 518 (c) musil@iem.kug.ac.at; +#X text 222 531 IEM KUG; +#X text 197 543 graz \, austria 2001; +#X obj 40 343 vu 25 200 empty empty 8 -8 0 8 -1 -99865 1 0; +#X obj 13 24 bng 75 5000 25 1 empty empty 75pix+init 8 -8 0 8 -262131 +-261458 -123526; +#X obj 100 376 vu 15 120 empty empty 8 -8 0 8 -66577 -1 1 0; +#X obj 186 375 vu 10 80 empty empty 8 -8 0 8 -66577 -1 1 0; +#X text 99 313 vu; +#N canvas 438 180 374 414 animate_vu 0; +#X obj 40 211 t f f; +#X obj 65 233 + 6; +#X obj 40 257 pack 0 0; +#X obj 78 94 tgl 15 0 empty empty empty 8 -8 0 10 -262144 -1 -1 0 1 +; +#X obj 78 115 sel 0 1; +#X obj 78 74 metro 4000; +#X msg 100 137 30 3000; +#X msg 78 167 -130 3000; +#X obj 40 189 line -130 50; +#X obj 78 51 inlet; +#X obj 40 316 outlet; +#X obj 87 316 outlet; +#X obj 134 316 outlet; +#X connect 0 0 2 0; +#X connect 0 1 1 0; +#X connect 1 0 2 1; +#X connect 2 0 10 0; +#X connect 2 0 11 0; +#X connect 2 0 12 0; +#X connect 3 0 4 0; +#X connect 4 0 7 0; +#X connect 4 1 6 0; +#X connect 5 0 3 0; +#X connect 6 0 8 0; +#X connect 7 0 8 0; +#X connect 8 0 0 0; +#X connect 9 0 5 0; +#X restore 99 349 pd animate_vu; +#X obj 99 331 tgl 15 1 empty empty empty 8 -8 0 10 -262144 -1 -1 1 +1; +#X text 360 8 toggle = tgl; +#X text 68 198 hslider = hsl; +#X text 430 271 vslider = vsl; +#X obj 13 160 print initial_bang; +#X obj 21 118 bng 15 250 50 0 empty empty default_15 8 -8 0 8 -262144 +-1 -1; +#X obj 104 48 bng 8 250 50 0 empty empty min_8 8 -8 0 10 -262144 -1 +-1; +#X obj 21 137 print no_initial_bang; +#X obj 283 324 cnv 15 100 30 empty empty empty 20 12 2 20 -225271 -66577 +0; +#X obj 283 355 cnv 15 100 30 empty empty empty 20 12 2 20 -225280 -66577 +0; +#X obj 283 386 cnv 15 100 30 empty empty empty 20 12 2 20 -261681 -66577 +0; +#X obj 283 417 cnv 15 100 30 empty empty empty 20 12 2 20 -257472 -66577 +0; +#X obj 172 375 vu 10 80 empty empty 8 -8 0 8 -66577 -1 0 0; +#X obj 310 203 hradio 15 1 1 8 empty empty default_8*15 8 -8 0 8 -262144 +-1 -1 2; +#X obj 254 223 hradio 25 1 1 12 empty empty 12*25 8 -8 0 8 -1433 -225280 +-355 1; +#N canvas 179 78 690 573 nervous 0; +#X obj 10 23 tgl 55 1 empty start_nervously1 start_it 8 -8 0 10 -260818 +-1 -250685 0 1; +#X obj 131 141 bng 51 1200 50 0 empty nerv_bng bang 8 -8 0 10 -253378 +-137031 -222091; +#X obj 120 418 hsl 22 12 0 127 0 0 empty nerv_hsl h-slider 8 -8 0 10 +-71033 -66198 -128091 0 1; +#X obj 448 140 tgl 11 1 empty nerv_tgl toggle 8 -8 0 10 -141355 -82199 +-51488 0 1; +#X obj 447 383 vsl 15 111 0 127 0 0 empty nerv_vsl v-slider 8 -8 0 +10 -150187 -73940 -248863 0 1; +#N canvas 135 99 382 469 control 0; +#X obj 19 21 inlet; +#X obj 19 50 t b f; +#X obj 19 153 del 900; +#X obj 19 212 del 900; +#X obj 19 93 del 100; +#X obj 19 283 del 900; +#X obj 33 125 f; +#X obj 33 180 f; +#X obj 33 245 f; +#X obj 33 309 f; +#N canvas 280 166 794 432 bng 0; +#X obj 114 260 - 0; +#X obj 148 258 f; +#X obj 147 222 t f b; +#X obj 79 122 random 56789; +#X obj 150 165 random 9876; +#X obj 47 236 - 0; +#X obj 81 234 f; +#X obj 80 198 t f b; +#X obj 150 192 % 50; +#X obj 79 145 % 50; +#X obj 64 289 pack 0 0; +#X obj 85 53 t b b b; +#X obj 234 368 pack 0 0 0; +#X obj 250 29 metro 2000; +#X obj 445 122 random 555666; +#X obj 445 168 + 8; +#X obj 445 145 % 120; +#X obj 84 32 metro 100; +#X obj 234 261 random 1.67772e+007; +#X obj 266 283 random 1.67772e+007; +#X obj 299 315 random 1.67772e+007; +#X obj 84 11 inlet; +#X msg 64 312 \; nerv_bng delta \$1 \$2; +#X msg 234 390 \; nerv_bng color \$1 \$2 \$3; +#X msg 445 192 \; nerv_bng size \$1; +#X msg 250 51 \; nerv_bng bang; +#X obj 234 340 * -1; +#X obj 266 316 * -1; +#X obj 299 342 * -1; +#X connect 0 0 10 1; +#X connect 1 0 0 1; +#X connect 2 0 1 1; +#X connect 2 0 0 0; +#X connect 2 1 1 0; +#X connect 3 0 9 0; +#X connect 4 0 8 0; +#X connect 5 0 10 0; +#X connect 6 0 5 1; +#X connect 7 0 6 1; +#X connect 7 0 5 0; +#X connect 7 1 6 0; +#X connect 8 0 2 0; +#X connect 9 0 7 0; +#X connect 10 0 22 0; +#X connect 11 0 3 0; +#X connect 11 0 14 0; +#X connect 11 0 18 0; +#X connect 11 1 4 0; +#X connect 11 1 19 0; +#X connect 11 2 20 0; +#X connect 12 0 23 0; +#X connect 13 0 25 0; +#X connect 14 0 16 0; +#X connect 15 0 24 0; +#X connect 16 0 15 0; +#X connect 17 0 11 0; +#X connect 18 0 26 0; +#X connect 19 0 27 0; +#X connect 20 0 28 0; +#X connect 21 0 17 0; +#X connect 21 0 13 0; +#X connect 26 0 12 0; +#X connect 27 0 12 1; +#X connect 28 0 12 2; +#X restore 114 143 pd bng; +#N canvas 139 89 794 432 tgl 0; +#X obj 114 260 - 0; +#X obj 148 258 f; +#X obj 147 222 t f b; +#X obj 79 122 random 56789; +#X obj 150 165 random 9876; +#X obj 47 236 - 0; +#X obj 81 234 f; +#X obj 80 198 t f b; +#X obj 150 192 % 50; +#X obj 79 145 % 50; +#X obj 64 289 pack 0 0; +#X obj 85 53 t b b b; +#X obj 445 122 random 555666; +#X obj 445 168 + 8; +#X obj 445 144 % 120; +#X obj 85 31 metro 100; +#X obj 264 28 metro 1000; +#X obj 85 10 inlet; +#X msg 64 312 \; nerv_tgl delta \$1 \$2; +#X msg 226 322 \; nerv_tgl color \$1 \$2 \$3; +#X msg 445 192 \; nerv_tgl size \$1; +#X msg 264 51 \; nerv_tgl bang; +#X obj 226 298 pack 0 0 0; +#X obj 226 191 random 1.67772e+007; +#X obj 258 213 random 1.67772e+007; +#X obj 291 245 random 1.67772e+007; +#X obj 226 270 * -1; +#X obj 258 246 * -1; +#X obj 291 272 * -1; +#X connect 0 0 10 1; +#X connect 1 0 0 1; +#X connect 2 0 1 1; +#X connect 2 0 0 0; +#X connect 2 1 1 0; +#X connect 3 0 9 0; +#X connect 4 0 8 0; +#X connect 5 0 10 0; +#X connect 6 0 5 1; +#X connect 7 0 6 1; +#X connect 7 0 5 0; +#X connect 7 1 6 0; +#X connect 8 0 2 0; +#X connect 9 0 7 0; +#X connect 10 0 18 0; +#X connect 11 0 3 0; +#X connect 11 0 12 0; +#X connect 11 0 23 0; +#X connect 11 1 4 0; +#X connect 11 1 24 0; +#X connect 11 2 25 0; +#X connect 12 0 14 0; +#X connect 13 0 20 0; +#X connect 14 0 13 0; +#X connect 15 0 11 0; +#X connect 16 0 21 0; +#X connect 17 0 15 0; +#X connect 17 0 16 0; +#X connect 22 0 19 0; +#X connect 23 0 26 0; +#X connect 24 0 27 0; +#X connect 25 0 28 0; +#X connect 26 0 22 0; +#X connect 27 0 22 1; +#X connect 28 0 22 2; +#X restore 114 198 pd tgl; +#N canvas 322 99 794 432 hsl 0; +#X obj 114 260 - 0; +#X obj 148 258 f; +#X obj 147 222 t f b; +#X obj 79 122 random 56789; +#X obj 150 165 random 9876; +#X obj 47 236 - 0; +#X obj 81 234 f; +#X obj 80 198 t f b; +#X obj 150 192 % 50; +#X obj 79 145 % 50; +#X obj 64 289 pack 0 0; +#X obj 85 53 t b b b; +#X obj 445 122 random 555666; +#X obj 560 188 + 8; +#X obj 560 128 random 773322; +#X obj 445 208 pack 0 0; +#X obj 84 32 metro 100; +#X obj 561 155 % 30; +#X obj 445 183 + 20; +#X obj 446 149 % 110; +#X obj 254 305 metro 1000; +#X obj 254 327 random 846352; +#X obj 254 350 % 130; +#X obj 84 11 inlet; +#X msg 64 321 \; nerv_hsl delta \$1 \$2; +#X msg 254 373 \; nerv_hsl set \$1; +#X msg 445 231 \; nerv_hsl size \$1 \$2; +#X obj 245 202 pack 0 0 0; +#X obj 245 95 random 1.67772e+007; +#X obj 277 117 random 1.67772e+007; +#X obj 310 149 random 1.67772e+007; +#X obj 245 174 * -1; +#X obj 277 150 * -1; +#X obj 310 176 * -1; +#X msg 245 229 \; nerv_hsl color \$1 \$2 \$3; +#X connect 0 0 10 1; +#X connect 1 0 0 1; +#X connect 2 0 1 1; +#X connect 2 0 0 0; +#X connect 2 1 1 0; +#X connect 3 0 9 0; +#X connect 4 0 8 0; +#X connect 5 0 10 0; +#X connect 6 0 5 1; +#X connect 7 0 6 1; +#X connect 7 0 5 0; +#X connect 7 1 6 0; +#X connect 8 0 2 0; +#X connect 9 0 7 0; +#X connect 10 0 24 0; +#X connect 11 0 3 0; +#X connect 11 0 12 0; +#X connect 11 0 28 0; +#X connect 11 1 4 0; +#X connect 11 1 14 0; +#X connect 11 1 29 0; +#X connect 11 2 30 0; +#X connect 12 0 19 0; +#X connect 13 0 15 1; +#X connect 14 0 17 0; +#X connect 15 0 26 0; +#X connect 16 0 11 0; +#X connect 17 0 13 0; +#X connect 18 0 15 0; +#X connect 18 0 22 1; +#X connect 19 0 18 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 25 0; +#X connect 23 0 16 0; +#X connect 23 0 20 0; +#X connect 27 0 34 0; +#X connect 28 0 31 0; +#X connect 29 0 32 0; +#X connect 30 0 33 0; +#X connect 31 0 27 0; +#X connect 32 0 27 1; +#X connect 33 0 27 2; +#X restore 112 263 pd hsl; +#N canvas 148 132 794 432 vsl 0; +#X obj 114 260 - 0; +#X obj 148 258 f; +#X obj 147 222 t f b; +#X obj 79 122 random 56789; +#X obj 150 165 random 9876; +#X obj 47 236 - 0; +#X obj 81 234 f; +#X obj 80 198 t f b; +#X obj 150 192 % 50; +#X obj 79 145 % 50; +#X obj 64 289 pack 0 0; +#X obj 85 53 t b b b; +#X obj 445 122 random 555666; +#X obj 560 128 random 773322; +#X obj 445 208 pack 0 0; +#X obj 84 32 metro 100; +#X obj 241 299 metro 1000; +#X obj 240 325 random 846352; +#X obj 241 352 % 130; +#X obj 561 155 % 110; +#X obj 560 188 + 20; +#X obj 446 149 % 30; +#X obj 445 183 + 3; +#X obj 84 11 inlet; +#X msg 239 227 \; nerv_vsl color \$1 \$2 \$3; +#X msg 445 231 \; nerv_vsl size \$1 \$2; +#X msg 64 310 \; nerv_vsl delta \$1 \$2; +#X msg 241 376 \; nerv_vsl set \$1; +#X obj 239 203 pack 0 0 0; +#X obj 239 96 random 1.67772e+007; +#X obj 271 118 random 1.67772e+007; +#X obj 304 150 random 1.67772e+007; +#X obj 239 175 * -1; +#X obj 271 151 * -1; +#X obj 304 177 * -1; +#X connect 0 0 10 1; +#X connect 1 0 0 1; +#X connect 2 0 1 1; +#X connect 2 0 0 0; +#X connect 2 1 1 0; +#X connect 3 0 9 0; +#X connect 4 0 8 0; +#X connect 5 0 10 0; +#X connect 6 0 5 1; +#X connect 7 0 6 1; +#X connect 7 0 5 0; +#X connect 7 1 6 0; +#X connect 8 0 2 0; +#X connect 9 0 7 0; +#X connect 10 0 26 0; +#X connect 11 0 3 0; +#X connect 11 0 12 0; +#X connect 11 0 29 0; +#X connect 11 1 4 0; +#X connect 11 1 13 0; +#X connect 11 1 30 0; +#X connect 11 2 31 0; +#X connect 12 0 21 0; +#X connect 13 0 19 0; +#X connect 14 0 25 0; +#X connect 15 0 11 0; +#X connect 16 0 17 0; +#X connect 17 0 18 0; +#X connect 18 0 27 0; +#X connect 19 0 20 0; +#X connect 20 0 14 1; +#X connect 20 0 18 1; +#X connect 21 0 22 0; +#X connect 22 0 14 0; +#X connect 23 0 15 0; +#X connect 23 0 16 0; +#X connect 28 0 24 0; +#X connect 29 0 32 0; +#X connect 30 0 33 0; +#X connect 31 0 34 0; +#X connect 32 0 28 0; +#X connect 33 0 28 1; +#X connect 34 0 28 2; +#X restore 113 327 pd vsl; +#X connect 0 0 1 0; +#X connect 1 0 4 0; +#X connect 1 1 6 1; +#X connect 1 1 7 1; +#X connect 1 1 8 1; +#X connect 1 1 9 1; +#X connect 2 0 3 0; +#X connect 2 0 7 0; +#X connect 3 0 5 0; +#X connect 3 0 8 0; +#X connect 4 0 2 0; +#X connect 4 0 6 0; +#X connect 5 0 9 0; +#X connect 6 0 10 0; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 13 0; +#X restore 10 85 pd control; +#X connect 0 0 5 0; +#X restore 295 424 pd nervous; +#X floatatom 239 84 4 0 0 0 - - -; +#N canvas 226 38 811 519 properties 0; +#X obj 2 1 cnv 8 870 590 empty empty about_gui_properties 290 20 2 +18 -225280 -1109 0; +#X text 12 62 "selectable dimensions(pix): size:" = square-size of +the; +#X text 10 35 "dimensions(pix): size:" = square-size of the gui-objects +; +#X text 10 48 "dimensions(pix)(pix): width: height:" = width & height +; +#X text 11 177 "visible_rectangle(pix)(pix): width: height:" = width +&; +#X text 11 104 "flash-time(ms)(ms): intrrpt:" = flash-interrupt-time +; +#X text 411 62 selectable top-left corner of my_canvas in pixels.; +#X text 415 35 in pixels.; +#X text 11 76 "flash-time(ms)(ms): hold:" = flash-hold-time in msec +=; +#X text 405 76 duration of activity \, if a bang-object was activated +; +#X text 400 48 of the rectangular gui-object in pixels.; +#X text 402 177 height of a visible \, deactivated rectangle in pixels. +; +#X text 14 224 "new&old" or "new-only" = the radiobutton-object changes +its; +#X text 441 224 state in 2 ways:; +#X text 198 237 "new&old"-mode: output sends previous state off \, +current; +#X text 596 237 state on \;; +#X text 197 250 "new-only"-mode: output sends only current state on. +; +#X text 14 280 "steady on click" or "jump on click" = the 2 slider-objects +; +#X text 481 322 immediately to new mouse-position \,; +#X text 12 413 "label: font: fontsize:" = font-properties of label. +; +#X text 15 429 "colors:" = a click on radiobuttons "background:" \, +; +#X text 370 429 "front-color:" or "label-color:" activates the color-fields +; +#X text 174 193 if "init"-mode is selected \, the object displays and +puts; +#X text 15 266 "number:" = number of buttons of a radiobutton.; +#X text 205 89 by any message-event or by a mouse-click.; +#X text 388 104 in msec = duration of inactivity \, if an already; +#X text 205 117 activated bang is activated once more.; +#X text 11 132 "output-range: left: right:" = hslider-bounds; +#X text 332 132 for input- as well as output-values.; +#X text 332 146 for input- as well as output-values.; +#X text 11 146 "output-range: bottom: top:" = vslider-bounds; +#X text 12 193 "init" or "no init" =; +#X text 571 193 out its previously saved value.; +#X text 174 208 if "no init"-mode is selected \, nothing will happen. +; +#X text 433 280 react to mouse-click in 2 ways:; +#X text 201 294 "steady on click"-mode: slider-knob stays in position +\,; +#X text 225 307 mouse and knob will move parallel \;; +#X text 200 322 "jump on click"-mode: slider-knob jumps; +#X text 224 338 positions of mouse and knob will be identical \;; +#X text 402 353 receive-object with the same send-symbol-name.; +#X text 11 368 "receive-symbol:" = a send-object with the same; +#X text 11 353 "send-symbol:" = an output-message can be received by +a; +#X text 347 368 symbol-name can send an input-message to the gui-object. +; +#X text 13 383 "label: name:" = visible name of a gui-object \;; +#X text 343 383 it will be moved together with the gui-object.; +#X text 12 397 "label: x_off: y_off:" = coordinates of the label in +; +#X text 382 397 relation to top-left corner of gui-object.; +#X text 207 444 on the right side which display the current color of +the; +#X text 605 444 item \;; +#X text 11 161 "non-zero-value: value:" = toggle has 2; +#X text 292 161 value-states: zero and this value.; +#X text 208 460 to select a different color \, click on one of the +30 small; +#X text 614 459 preset-color-buttons \;; +#X text 208 475 each color (background \, front \, label) can be tuned +by its; +#X text 235 490 RGB-values (0 .. 252 \, step 4) and a click on the +set-button.; +#X restore 287 361 pd properties; +#N canvas 146 190 460 120 move 0; +#X obj 0 0 cnv 8 460 120 empty empty how_to_move_gui_objects 100 18 +2 20 -225271 -42246 0; +#X text 11 43 Select a gui-object \, then navigate the object by using +the 4 direction-keys: UP \, DOWN \, LEFT or RIGHT.; +#X text 12 70 If you press the SHIFT-Key too \, the object will move +10 times faster.; +#X restore 308 331 pd move; +#N canvas 151 38 522 451 dollar 0; +#X obj 0 0 cnv 8 560 160 empty empty the_dollar_thing 100 18 2 20 -261681 +-123526 0; +#X text 10 39 if you want to send to \, or to receive from gui-objects +; +#X text 394 39 in abstractions \,; +#X text 36 52 you have to write into the property-entry:; +#X text 44 67 #1-label (instead of \$1-label).; +#X text 25 103 type #0-uniquelabel (instead of \$0-uniquelabel).; +#X text 9 88 if you want a unique send-receive-symbolname:; +#X restore 299 391 pd dollar; +#X obj 283 448 cnv 15 100 30 empty empty empty 20 12 2 20 -228992 -66577 +0; +#N canvas 177 21 730 638 messages 0; +#X obj 1 1 cnv 8 870 640 empty empty about_gui_messages 200 20 2 18 +-228992 -355 0; +#X text 366 99 in pixels.; +#X text 9 84 "size 15 128" = change width & height; +#X text 9 159 "flashtime 50 600" = change flash-interrupt- and flash-hold +; +#X text 424 160 -time of bng-object.; +#X text 9 174 "pos 150 170" = change the x-y-position of the top-left +; +#X text 400 173 corner of a gui-object in pixels \;; +#X text 139 188 "pos 0 0" is the top-left corner of your window \; +; +#X text 143 204 the positive directions of x- and y-axes are right +and down.; +#X text 12 415 "receive togui" = change receive-name of object.; +#X text 12 431 "label its_me" = change label-text of object.; +#X text 12 446 "label_pos 20 8" = change offset-coordinates of label-text. +; +#X text 12 461 "label_font 0 10" = change font and fontsize of label-text. +; +#X text 12 340 "steady 1" change slider-knob-behaviour on mouse-click. +; +#X text 13 522 "lin" = change scale-mode of slider to linear.; +#X text 14 537 "log" = change scale-mode of slider to logarithmical. +; +#X text 333 355 to output only the new state.; +#X text 273 84 of sliders and vu in pixels.; +#X text 12 477 "init 1" = change initial loadbang-mode of gui-objects +; +#X text 12 400 "send fromgui" = change send-name of gui-objects \, +; +#X text 12 325 "number 10" = change number of buttons of radio-button. +; +#X text 9 128 "range 0.1 10.0" = change slider-boundaries for; +#X text 344 128 input- as well as output-values.; +#X text 13 492 "set 64" = change only the inner state and display of +gui-; +#X text 11 33 all gui-objects (bng \, hsl \, vsl \, tgl \, rdb \, cnv +and vu); +#X text 9 113 "vis_size 800 600" = change width & height; +#X text 309 113 of visual rectangle of my_canvas in pixels.; +#X text 359 400 except vu and my_canvas.; +#X text 395 477 except vu and cnv.; +#X text 421 492 objects \, except bng and cnv \;; +#X text 85 47 understand input-messages which change their properties. +; +#X text 11 222 "delta 15 17" = move the gui-object in relation to its +; +#X text 397 222 current position (in pixels).; +#X text 333 371 to first release the previous button \,; +#X text 144 385 then output the state of the new button.; +#X text 12 371 "double_change" change radio-button-behaviour; +#X text 12 355 "single_change" change radio-button-behaviour; +#X text 147 507 no output will result.; +#X text 9 99 "size 15" = change square-size of rdb \, bng and tgl; +#X text 9 143 "nonzero 127.0" = change the nonzero-value of toggle. +; +#X text 15 552 "get_pos" = if my_canvas has a receive-name and a send-name +; +#X text 434 552 and you send the; +#X text 272 237 front- and label-color of object with one of 30 presets. +; +#X text 277 252 label-color of vu and my_canvas with one of 30 presets. +; +#X text 504 282 (0 .. 255); +#X text 558 568 coordinates.; +#X text 149 568 message "get_pos" to it \, you receive the current +x- and y-; +#X text 85 59 except cnv has no inlet \, so you have to send messages +; +#X text 85 71 to its receive-label (edit properties).; +#X text 11 237 "color 0 22 22" = change background- \,; +#X text 11 252 "color 0 22" = change background- and; +#X text 13 268 "color -1.67772e+007 (-1) -1" = change background- \, +; +#X text 364 267 (front-) and label-color of object with RGB-values. +; +#X text 149 283 the RGB-value will be calculated: -65536*RED-value +; +#X text 592 309 - 1; +#X text 422 309 - BLUE-value (0 .. 255); +#X text 394 296 - 256*GREEN-value (0 .. 255); +#X restore 294 453 pd messages; +#X obj 225 259 cnv 1 350 1 empty empty empty 20 12 2 20 -258699 -66577 +0; +#X obj 4 308 cnv 1 268 1 empty empty empty 20 12 2 20 -258699 -66577 +0; +#X obj 4 186 cnv 1 220 1 empty empty empty 20 12 2 20 -258699 -66577 +0; +#X obj 225 151 cnv 1 350 1 empty empty empty 20 12 2 20 -258699 -66577 +0; +#X obj 271 261 cnv 1 1 48 empty empty empty 20 12 2 20 -258699 -66577 +0; +#X obj 232 308 cnv 1 1 200 empty empty empty 20 12 2 20 -258699 -66577 +0; +#X obj 339 3 cnv 1 1 149 empty empty empty 20 12 2 20 -258699 -66577 +0; +#X obj 398 260 cnv 1 1 310 empty empty empty 20 12 2 20 -258699 -66577 +0; +#X obj 225 3 cnv 1 1 255 empty empty empty 20 12 2 20 -258699 -66577 +0; +#X floatatom 276 84 4 0 0 0 - - -; +#X obj 239 43 tgl 15 0 empty dsp_tgl empty 20 8 0 10 -370 -262144 -1 +0 1; +#N canvas 145 31 380 506 dsp 0; +#X msg 31 88 \; pd dsp \$1; +#X obj 20 199 cputime; +#X obj 20 178 t b b; +#X text 15 11 dsp; +#X text 48 439 (c) musil@iem.kug.ac.at; +#X text 90 452 IEM KUG; +#X text 59 65 1/0 = ON/OFF; +#X text 97 313 CPU-load; +#X obj 62 126 loadbang; +#X obj 20 126 sel 1; +#X text 65 464 graz \, austria 2001; +#X text 64 12 turn dsp-kernel on & off \,; +#X obj 20 240 t f f; +#X text 65 408 average; +#X text 177 405 peak; +#X obj 211 154 f; +#X obj 146 179 > -1; +#X obj 169 155 f -1; +#X obj 179 91 t f b f; +#X obj 146 204 sel 1; +#X obj 192 132 f -1; +#X obj 20 154 metro 500; +#X obj 20 220 * 0.2; +#X text 74 37 -dsp-load in %; +#X text 65 24 measure average- and peak-; +#X obj 20 315 * 100; +#X obj 20 360 int; +#X obj 20 338 + 0.499; +#X obj 20 383 * 0.01; +#X obj 246 207 r pd; +#X obj 246 231 route dsp; +#X text 245 318 to toggle input; +#X msg 246 283 \; dsp_tgl set \$1; +#X obj 247 341 r dsp_tgl; +#X obj 246 257 route float; +#X obj 146 227 del 3990; +#N canvas 305 120 336 257 once 0; +#X text 7 204 (c) musil@iem.kug.ac.at; +#X text 49 214 IEM KUG; +#X text 24 223 graz \, austria 2001; +#X text 8 6 once; +#X obj 19 150 bang; +#X obj 56 65 f 0; +#X text 59 7 only the first message passes through; +#X obj 19 127 t b a; +#X obj 19 100 spigot; +#X obj 119 63 f 1; +#X obj 119 41 loadbang; +#X obj 19 40 inlet; +#X obj 49 183 outlet; +#X connect 4 0 5 0; +#X connect 5 0 8 1; +#X connect 7 0 4 0; +#X connect 7 1 12 0; +#X connect 8 0 7 0; +#X connect 9 0 8 1; +#X connect 10 0 9 0; +#X connect 11 0 8 0; +#X restore 111 264 pd once; +#N canvas 297 130 530 376 1p1z 0; +#X text 7 315 (c) musil@iem.kug.ac.at; +#X text 52 325 IEM KUG; +#X obj 22 231 +; +#X text 8 6 1p1z; +#X text 24 334 graz \, austria 2001; +#X text 104 22 y[n] = a0*x[n] + a1*x[n-1] + b1*y[n-1]; +#X text 169 53 a0; +#X text 25 34 x[n]; +#X text 24 280 y[n]; +#X text 209 53 a1; +#X text 249 53 b1; +#X obj 284 52 loadbang; +#X text 64 102 x[n-1]; +#X obj 40 205 +; +#X obj 22 133 *; +#X obj 40 160 *; +#X obj 59 182 *; +#X text 82 143 y[n-1]; +#X obj 284 72 t b b b; +#X obj 40 98 f; +#X obj 59 138 f; +#X obj 22 71 t f b b; +#X text 350 63 x[n-1]init; +#X text 429 102 y[n-1]init; +#X text 147 202 1.arg: a0; +#X text 147 213 2.arg: a1; +#X text 147 224 3.arg: b1; +#X text 63 5 control-IIR-filter 1.order; +#X obj 162 115 f 0.1; +#X obj 202 142 f 0; +#X obj 242 164 f 0.9; +#X obj 22 49 inlet; +#X obj 162 71 inlet; +#X obj 202 71 inlet; +#X obj 242 71 inlet; +#X obj 356 80 inlet; +#X obj 431 120 inlet; +#X obj 22 264 outlet; +#X connect 2 0 20 1; +#X connect 2 0 37 0; +#X connect 11 0 18 0; +#X connect 13 0 2 1; +#X connect 14 0 2 0; +#X connect 15 0 13 0; +#X connect 16 0 13 1; +#X connect 18 0 28 0; +#X connect 18 1 29 0; +#X connect 18 2 30 0; +#X connect 19 0 15 0; +#X connect 20 0 16 0; +#X connect 21 0 14 0; +#X connect 21 0 19 1; +#X connect 21 1 19 0; +#X connect 21 2 20 0; +#X connect 28 0 14 1; +#X connect 29 0 15 1; +#X connect 30 0 16 1; +#X connect 31 0 21 0; +#X connect 32 0 28 0; +#X connect 33 0 29 0; +#X connect 34 0 30 0; +#X connect 35 0 19 1; +#X connect 36 0 20 1; +#X restore 20 289 pd 1p1z 0.1 0 0.9; +#X obj 20 65 inlet; +#X obj 20 406 outlet; +#X obj 211 405 outlet; +#X connect 1 0 22 0; +#X connect 2 0 1 0; +#X connect 2 1 1 1; +#X connect 8 0 21 0; +#X connect 9 0 21 0; +#X connect 12 0 37 0; +#X connect 15 0 17 1; +#X connect 15 0 40 0; +#X connect 16 0 19 0; +#X connect 17 0 16 1; +#X connect 18 0 16 0; +#X connect 18 1 17 0; +#X connect 18 2 15 1; +#X connect 19 0 15 0; +#X connect 19 0 35 0; +#X connect 20 0 17 1; +#X connect 21 0 2 0; +#X connect 22 0 12 0; +#X connect 22 0 18 0; +#X connect 25 0 27 0; +#X connect 26 0 28 0; +#X connect 27 0 26 0; +#X connect 28 0 39 0; +#X connect 29 0 30 0; +#X connect 30 0 34 0; +#X connect 34 0 32 0; +#X connect 35 0 20 0; +#X connect 37 0 25 0; +#X connect 38 0 0 0; +#X connect 38 0 9 0; +#X restore 239 63 pd dsp; +#X text 238 99 mean; +#X text 279 100 peak; +#X text 289 63 % cpu; +#X text 283 305 my_canvas = cnv; +#X text 312 172 radiobutton = rdb; +#X text 271 350 R; +#X text 270 370 E; +#X text 270 389 A; +#X text 270 409 D; +#X text 270 428 M; +#X text 269 447 E; +#X connect 17 0 26 0; +#X connect 21 0 18 0; +#X connect 21 0 16 0; +#X connect 21 1 34 0; +#X connect 21 2 19 0; +#X connect 22 0 21 0; +#X connect 27 0 29 0; +#X connect 54 0 55 0; +#X connect 55 0 38 0; +#X connect 55 1 53 0; diff --git a/doc/tutorials/intro/25.gui_objects.pd b/doc/tutorials/intro/25.gui_objects.pd new file mode 100644 index 00000000..8a75061f --- /dev/null +++ b/doc/tutorials/intro/25.gui_objects.pd @@ -0,0 +1,48 @@ +#N canvas 312 62 750 592 10; +#X obj 504 24 import cyclone unauthorized; +#X obj 30 70 bng 15 250 50 0 \$1 \$1 empty 20 8 0 8 -262144 -1 -1; +#X obj 30 102 tgl 15 1.04858e+06 empty \$2 empty 20 8 0 8 -262144 -1 +-1 0 1; +#X obj 34 148 vsl 15 128 0 127 0 1.04858e+06 empty \$3 empty 20 8 0 +8 -262144 -1 -1 0 1; +#X obj 191 278 hsl 128 15 0 127 0 0 empty empty empty 20 8 0 8 -262144 +-1 -1 0 1; +#X obj 201 249 hdl 15 1 2.6624e+06 8 \$5 \$5 empty 20 8 192 8 -262144 +-1 -1 0; +#X obj 254 87 vu 15 120 \$6 empty 35 8 0 8 -66577 -1 1 0; +#X obj 111 69 cnv 15 100 60 empty empty [canvas] 20 12 0 14 -233017 +-66577 1.04858e+06; +#X obj 126 149 vdl 15 1 4.79232e+06 8 \$9 \$9 empty 20 8 192 8 -262144 +-1 -1 0; +#X obj 341 136 nbx 5 14 -1e+37 1e+37 0 0 \$5 \$5 empty 45 7 0 10 -262144 +-1 -1 0 256; +#X text 8 22 Pd comes with a standard \, built-in set of GUI elements +\, which you can select from the "Put" menu.; +#X text 16 323 There are also some OS-native GUI elements available +; +#X obj 44 363 button OK; +#X obj 142 367 popup 124 25 #ffffff popup option; +#X obj 298 363 ticker ; +#X obj 495 419 envgen 200 140 1 0 ; +#X obj 366 499 knob 32 32 0 127 0 0 empty empty empty 0 -8 32 8 -262144 +-1 -1 3100 1; +#X text 360 473 [knob]; +#X text 281 340 [ticker]; +#X obj 500 71 grid grid1 200 0 199 200 0 199 1 1 1 10 10 570 188; +#X text 474 51 [unauthorized/grid]; +#X text 475 395 [envgen]; +#X text 112 405 [cyclone/Scope~]; +#X text 23 339 [button]; +#X text 129 341 [popup]; +#X text 250 67 [vu]; +#X text 46 69 [bng]; +#X text 46 101 [tgl]; +#X text 21 280 [vslider]; +#X text 325 248 [hradio]; +#X text 325 278 [hslider]; +#X text 107 277 [vradio]; +#X obj 105 432 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X text 337 118 [nbx]; +#X obj 555 305 gcanvas 80 80; +#X text 483 294 [gcanvas]; diff --git a/doc/tutorials/intro/26.nervous_guis.pd b/doc/tutorials/intro/26.nervous_guis.pd new file mode 100644 index 00000000..724fed59 --- /dev/null +++ b/doc/tutorials/intro/26.nervous_guis.pd @@ -0,0 +1,337 @@ +#N canvas 10 40 624 449 12; +#X obj 10 10 cnv 15 400 40 empty empty nervous_guis 20 12 0 24 -228992 +-66577 0; +#X obj 486 20 tgl 20 1 empty start_nervously1 start_it 8 -8 0 10 -24198 +-1 -250685 0 1; +#X obj 127 179 bng 16 1200 50 0 empty nerv_bng bang 8 -8 0 10 -91120 +-252939 -113209; +#X obj 112 346 hsl 116 29 0 127 0 0 empty nerv_hsl h-slider 8 -8 0 +10 -140002 -259981 -172176 2336 1; +#X obj 400 211 tgl 70 1 empty nerv_tgl toggle 8 -8 0 10 -77819 -177692 +-11757 0 1; +#X obj 370 329 vsl 8 81 0 127 0 0 empty nerv_vsl v-slider 8 -8 0 10 +-55101 -168903 -47444 1998 1; +#N canvas 135 99 386 473 control 0; +#X obj 19 21 inlet; +#X obj 19 50 t b f; +#X obj 19 153 del 900; +#X obj 19 212 del 900; +#X obj 19 93 del 100; +#X obj 19 283 del 900; +#X obj 33 125 f; +#X obj 33 180 f; +#X obj 33 245 f; +#X obj 33 309 f; +#N canvas 280 166 794 432 bng 0; +#X obj 114 260 - 0; +#X obj 148 258 f; +#X obj 147 222 t f b; +#X obj 79 122 random 56789; +#X obj 150 165 random 9876; +#X obj 47 236 - 0; +#X obj 81 234 f; +#X obj 80 198 t f b; +#X obj 150 192 % 50; +#X obj 79 145 % 50; +#X obj 64 289 pack 0 0; +#X obj 85 53 t b b b; +#X obj 234 368 pack 0 0 0; +#X obj 250 29 metro 2000; +#X obj 445 122 random 555666; +#X obj 445 168 + 8; +#X obj 445 145 % 120; +#X obj 84 32 metro 100; +#X obj 234 261 random 1.67772e+07; +#X obj 266 283 random 1.67772e+07; +#X obj 299 315 random 1.67772e+07; +#X obj 84 11 inlet; +#X msg 64 312 \; nerv_bng delta \$1 \$2; +#X msg 234 390 \; nerv_bng color \$1 \$2 \$3; +#X msg 445 192 \; nerv_bng size \$1; +#X msg 250 51 \; nerv_bng bang; +#X obj 234 340 * -1; +#X obj 266 316 * -1; +#X obj 299 342 * -1; +#X connect 0 0 10 1; +#X connect 1 0 0 1; +#X connect 2 0 1 1; +#X connect 2 0 0 0; +#X connect 2 1 1 0; +#X connect 3 0 9 0; +#X connect 4 0 8 0; +#X connect 5 0 10 0; +#X connect 6 0 5 1; +#X connect 7 0 6 1; +#X connect 7 0 5 0; +#X connect 7 1 6 0; +#X connect 8 0 2 0; +#X connect 9 0 7 0; +#X connect 10 0 22 0; +#X connect 11 0 3 0; +#X connect 11 0 14 0; +#X connect 11 0 18 0; +#X connect 11 1 4 0; +#X connect 11 1 19 0; +#X connect 11 2 20 0; +#X connect 12 0 23 0; +#X connect 13 0 25 0; +#X connect 14 0 16 0; +#X connect 15 0 24 0; +#X connect 16 0 15 0; +#X connect 17 0 11 0; +#X connect 18 0 26 0; +#X connect 19 0 27 0; +#X connect 20 0 28 0; +#X connect 21 0 17 0; +#X connect 21 0 13 0; +#X connect 26 0 12 0; +#X connect 27 0 12 1; +#X connect 28 0 12 2; +#X restore 114 143 pd bng; +#N canvas 139 89 794 432 tgl 0; +#X obj 114 260 - 0; +#X obj 148 258 f; +#X obj 147 222 t f b; +#X obj 79 122 random 56789; +#X obj 150 165 random 9876; +#X obj 47 236 - 0; +#X obj 81 234 f; +#X obj 80 198 t f b; +#X obj 150 192 % 50; +#X obj 79 145 % 50; +#X obj 64 289 pack 0 0; +#X obj 85 53 t b b b; +#X obj 445 122 random 555666; +#X obj 445 168 + 8; +#X obj 445 144 % 120; +#X obj 85 31 metro 100; +#X obj 264 28 metro 1000; +#X obj 85 10 inlet; +#X msg 64 312 \; nerv_tgl delta \$1 \$2; +#X msg 226 322 \; nerv_tgl color \$1 \$2 \$3; +#X msg 445 192 \; nerv_tgl size \$1; +#X msg 264 51 \; nerv_tgl bang; +#X obj 226 298 pack 0 0 0; +#X obj 226 191 random 1.67772e+07; +#X obj 258 213 random 1.67772e+07; +#X obj 291 245 random 1.67772e+07; +#X obj 226 270 * -1; +#X obj 258 246 * -1; +#X obj 291 272 * -1; +#X connect 0 0 10 1; +#X connect 1 0 0 1; +#X connect 2 0 1 1; +#X connect 2 0 0 0; +#X connect 2 1 1 0; +#X connect 3 0 9 0; +#X connect 4 0 8 0; +#X connect 5 0 10 0; +#X connect 6 0 5 1; +#X connect 7 0 6 1; +#X connect 7 0 5 0; +#X connect 7 1 6 0; +#X connect 8 0 2 0; +#X connect 9 0 7 0; +#X connect 10 0 18 0; +#X connect 11 0 3 0; +#X connect 11 0 12 0; +#X connect 11 0 23 0; +#X connect 11 1 4 0; +#X connect 11 1 24 0; +#X connect 11 2 25 0; +#X connect 12 0 14 0; +#X connect 13 0 20 0; +#X connect 14 0 13 0; +#X connect 15 0 11 0; +#X connect 16 0 21 0; +#X connect 17 0 15 0; +#X connect 17 0 16 0; +#X connect 22 0 19 0; +#X connect 23 0 26 0; +#X connect 24 0 27 0; +#X connect 25 0 28 0; +#X connect 26 0 22 0; +#X connect 27 0 22 1; +#X connect 28 0 22 2; +#X restore 114 198 pd tgl; +#N canvas 322 99 794 432 hsl 0; +#X obj 114 260 - 0; +#X obj 148 258 f; +#X obj 147 222 t f b; +#X obj 79 122 random 56789; +#X obj 150 165 random 9876; +#X obj 47 236 - 0; +#X obj 81 234 f; +#X obj 80 198 t f b; +#X obj 150 192 % 50; +#X obj 79 145 % 50; +#X obj 64 289 pack 0 0; +#X obj 85 53 t b b b; +#X obj 445 122 random 555666; +#X obj 560 188 + 8; +#X obj 560 128 random 773322; +#X obj 445 208 pack 0 0; +#X obj 84 32 metro 100; +#X obj 561 155 % 30; +#X obj 445 183 + 20; +#X obj 446 149 % 110; +#X obj 254 305 metro 1000; +#X obj 254 327 random 846352; +#X obj 254 350 % 130; +#X obj 84 11 inlet; +#X msg 64 321 \; nerv_hsl delta \$1 \$2; +#X msg 254 373 \; nerv_hsl set \$1; +#X msg 445 231 \; nerv_hsl size \$1 \$2; +#X obj 245 202 pack 0 0 0; +#X obj 245 95 random 1.67772e+07; +#X obj 277 117 random 1.67772e+07; +#X obj 310 149 random 1.67772e+07; +#X obj 245 174 * -1; +#X obj 277 150 * -1; +#X obj 310 176 * -1; +#X msg 245 229 \; nerv_hsl color \$1 \$2 \$3; +#X connect 0 0 10 1; +#X connect 1 0 0 1; +#X connect 2 0 1 1; +#X connect 2 0 0 0; +#X connect 2 1 1 0; +#X connect 3 0 9 0; +#X connect 4 0 8 0; +#X connect 5 0 10 0; +#X connect 6 0 5 1; +#X connect 7 0 6 1; +#X connect 7 0 5 0; +#X connect 7 1 6 0; +#X connect 8 0 2 0; +#X connect 9 0 7 0; +#X connect 10 0 24 0; +#X connect 11 0 3 0; +#X connect 11 0 12 0; +#X connect 11 0 28 0; +#X connect 11 1 4 0; +#X connect 11 1 14 0; +#X connect 11 1 29 0; +#X connect 11 2 30 0; +#X connect 12 0 19 0; +#X connect 13 0 15 1; +#X connect 14 0 17 0; +#X connect 15 0 26 0; +#X connect 16 0 11 0; +#X connect 17 0 13 0; +#X connect 18 0 15 0; +#X connect 18 0 22 1; +#X connect 19 0 18 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 25 0; +#X connect 23 0 16 0; +#X connect 23 0 20 0; +#X connect 27 0 34 0; +#X connect 28 0 31 0; +#X connect 29 0 32 0; +#X connect 30 0 33 0; +#X connect 31 0 27 0; +#X connect 32 0 27 1; +#X connect 33 0 27 2; +#X restore 112 263 pd hsl; +#N canvas 148 132 794 432 vsl 0; +#X obj 114 260 - 0; +#X obj 148 258 f; +#X obj 147 222 t f b; +#X obj 79 122 random 56789; +#X obj 150 165 random 9876; +#X obj 47 236 - 0; +#X obj 81 234 f; +#X obj 80 198 t f b; +#X obj 150 192 % 50; +#X obj 79 145 % 50; +#X obj 64 289 pack 0 0; +#X obj 85 53 t b b b; +#X obj 445 122 random 555666; +#X obj 560 128 random 773322; +#X obj 445 208 pack 0 0; +#X obj 84 32 metro 100; +#X obj 241 299 metro 1000; +#X obj 240 325 random 846352; +#X obj 241 352 % 130; +#X obj 561 155 % 110; +#X obj 560 188 + 20; +#X obj 446 149 % 30; +#X obj 445 183 + 3; +#X obj 84 11 inlet; +#X msg 239 227 \; nerv_vsl color \$1 \$2 \$3; +#X msg 445 231 \; nerv_vsl size \$1 \$2; +#X msg 64 310 \; nerv_vsl delta \$1 \$2; +#X msg 241 376 \; nerv_vsl set \$1; +#X obj 239 203 pack 0 0 0; +#X obj 239 96 random 1.67772e+07; +#X obj 271 118 random 1.67772e+07; +#X obj 304 150 random 1.67772e+07; +#X obj 239 175 * -1; +#X obj 271 151 * -1; +#X obj 304 177 * -1; +#X connect 0 0 10 1; +#X connect 1 0 0 1; +#X connect 2 0 1 1; +#X connect 2 0 0 0; +#X connect 2 1 1 0; +#X connect 3 0 9 0; +#X connect 4 0 8 0; +#X connect 5 0 10 0; +#X connect 6 0 5 1; +#X connect 7 0 6 1; +#X connect 7 0 5 0; +#X connect 7 1 6 0; +#X connect 8 0 2 0; +#X connect 9 0 7 0; +#X connect 10 0 26 0; +#X connect 11 0 3 0; +#X connect 11 0 12 0; +#X connect 11 0 29 0; +#X connect 11 1 4 0; +#X connect 11 1 13 0; +#X connect 11 1 30 0; +#X connect 11 2 31 0; +#X connect 12 0 21 0; +#X connect 13 0 19 0; +#X connect 14 0 25 0; +#X connect 15 0 11 0; +#X connect 16 0 17 0; +#X connect 17 0 18 0; +#X connect 18 0 27 0; +#X connect 19 0 20 0; +#X connect 20 0 14 1; +#X connect 20 0 18 1; +#X connect 21 0 22 0; +#X connect 22 0 14 0; +#X connect 23 0 15 0; +#X connect 23 0 16 0; +#X connect 28 0 24 0; +#X connect 29 0 32 0; +#X connect 30 0 33 0; +#X connect 31 0 34 0; +#X connect 32 0 28 0; +#X connect 33 0 28 1; +#X connect 34 0 28 2; +#X restore 113 327 pd vsl; +#X connect 0 0 1 0; +#X connect 1 0 4 0; +#X connect 1 1 6 1; +#X connect 1 1 7 1; +#X connect 1 1 8 1; +#X connect 1 1 9 1; +#X connect 2 0 3 0; +#X connect 2 0 7 0; +#X connect 3 0 5 0; +#X connect 3 0 8 0; +#X connect 4 0 2 0; +#X connect 4 0 6 0; +#X connect 5 0 9 0; +#X connect 6 0 10 0; +#X connect 7 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 13 0; +#X restore 486 46 pd control; +#X text 17 88 You can dynamically control just about everything about +most GUI objects.; +#X connect 1 0 6 0; diff --git a/doc/tutorials/intro/Attic/trigger_conversion.pd b/doc/tutorials/intro/Attic/trigger_conversion.pd index 3a183963..2f610ff5 100644 --- a/doc/tutorials/intro/Attic/trigger_conversion.pd +++ b/doc/tutorials/intro/Attic/trigger_conversion.pd @@ -1,28 +1,29 @@ -#N canvas 227 116 643 459 12; -#X obj -32 7 cnv 15 400 40 empty empty trigger_conversion 20 12 0 24 +#N canvas 227 116 647 463 12; +#X obj 10 10 cnv 15 400 40 empty empty trigger_conversion 20 12 0 24 -228992 -66577 0; #X obj 126 187 trigger anything float bang; -#X text -21 80 [trigger] can also do conversions in addition to ordering. -The keyword "anything" tells [trigger] to do no conversion.; #X msg 125 142 float 45.234; -#X floatatom 128 213 5 0 0 0 - - -; -#X floatatom 263 212 5 0 0 0 - - -; -#X obj 404 211 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X floatatom 126 223 5 0 0 0 - - -; +#X floatatom 258 222 5 0 0 0 - - -; +#X obj 391 221 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; -#X msg 10 296 12 45 blah; -#X msg 131 295 blah; -#X msg 189 296 123; -#X msg 233 295 symbol test; -#X obj 128 368 print bang; -#X obj 128 342 trigger bang anything; -#X obj 333 368 print anything; -#X connect 1 0 4 0; -#X connect 1 1 5 0; -#X connect 1 2 6 0; -#X connect 3 0 1 0; -#X connect 7 0 12 0; -#X connect 8 0 12 0; -#X connect 9 0 12 0; -#X connect 10 0 12 0; -#X connect 12 0 11 0; -#X connect 12 1 13 0; +#X msg 42 298 12 45 blah; +#X msg 163 297 blah; +#X msg 221 298 123; +#X msg 265 297 symbol test; +#X obj 160 370 print bang; +#X obj 160 344 trigger bang anything; +#X obj 365 370 print anything; +#X text 10 80 [trigger] can also do limited conversions in addition +to ordering. The keyword "anything" tells [trigger] to do no conversion. +; +#X connect 1 0 3 0; +#X connect 1 1 4 0; +#X connect 1 2 5 0; +#X connect 2 0 1 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 11 0 10 0; +#X connect 11 1 12 0; diff --git a/doc/tutorials/intro/TEMPLATE.pd b/doc/tutorials/intro/TEMPLATE.pd index 177b6f23..7f7dff3f 100644 --- a/doc/tutorials/intro/TEMPLATE.pd +++ b/doc/tutorials/intro/TEMPLATE.pd @@ -1,3 +1,3 @@ -#N canvas 21 40 639 455 12; -#X obj -34 8 cnv 15 400 40 empty empty TEMPLATE 20 12 0 24 -228992 +#N canvas 10 40 620 445 12; +#X obj 10 10 cnv 15 400 40 empty empty TEMPLATE 20 12 0 24 -228992 -66577 0; diff --git a/doc/tutorials/intro/TODO b/doc/tutorials/intro/TODO index 72bd2e8a..3f6d0141 100644 --- a/doc/tutorials/intro/TODO +++ b/doc/tutorials/intro/TODO @@ -12,7 +12,9 @@ - make looping sequence -File Order: +---------- +File Order +---------- - hello world - basic elements @@ -21,40 +23,64 @@ File Order: - objects - connections - messages -- make your first Pd patch +- EXERCISE: make your first Pd patch - bang +- event driven processing +- counters - hot and cold inlets +- right-to-left order +- ordering messages +- depth first - storage objects - atoms - atomic messages +- selectors +- subpatches +- inlets and outlets +- outlet order +- Example: its all just data +- guis +- gui objects +- nervous guis -Unsorted topics - -- arguments +- EXERCISE -- guis -- gui objects -- Example: its all just data -- Example: parazit +--------------- +Unsorted topics +--------------- -- right-to-left order -- depth first +- trigger conversions +- symbol conversion -- ordering messages +- arguments +- keywords -- math objects +- init to 0 +- math - expr -- subpatches -- inlets and outlets -- outlet order +- number limitations + +- timing/metro + +- writing objects in Pd (abstractions) - loading libraries - namespaces - import +- selectors +- multiple messages +- sends and receives +- sends in a message box + +- Example: parazit - send messages to Pd - pure data files + + + +data structures tutorial? diff --git a/doc/tutorials/intro/counters.pd b/doc/tutorials/intro/counters.pd deleted file mode 100644 index fcb19016..00000000 --- a/doc/tutorials/intro/counters.pd +++ /dev/null @@ -1,35 +0,0 @@ -#N canvas 0 22 458 308 10; -#X obj 317 70 cnv 15 100 60 empty empty empty 20 12 0 14 -261681 -66577 -0; -#X obj 338 90 f; -#X obj 373 90 + 1; -#X text 319 51 infinite loop!; -#X obj 106 199 float; -#X floatatom 74 227 5 0 0 0 - - -; -#X msg 74 121 1; -#X obj 73 199 +; -#X msg 109 173 0; -#X msg 86 144 -1; -#X text 110 122 increment; -#X text 115 145 decrement; -#X text 137 171 reset; -#X floatatom 254 267 5 0 0 0 - - -; -#X msg 296 213 0; -#X text 290 162 increment; -#X text 328 213 reset; -#X obj 253 239 float; -#X obj 296 239 + 1; -#X msg 254 161 bang; -#X connect 1 0 2 0; -#X connect 2 0 1 0; -#X connect 4 0 7 1; -#X connect 6 0 7 0; -#X connect 7 0 4 0; -#X connect 7 0 5 0; -#X connect 8 0 4 0; -#X connect 9 0 7 0; -#X connect 14 0 18 0; -#X connect 17 0 13 0; -#X connect 17 0 18 0; -#X connect 18 0 17 1; -#X connect 19 0 17 0; diff --git a/doc/tutorials/intro/depth_first.pd b/doc/tutorials/intro/depth_first.pd deleted file mode 100644 index 14bb4062..00000000 --- a/doc/tutorials/intro/depth_first.pd +++ /dev/null @@ -1,31 +0,0 @@ -#N canvas 21 40 627 443 12; -#X obj -43 8 cnv 15 400 40 empty empty depth_first 20 12 0 24 -228992 --66577 0; -#X obj 258 249 trigger bang bang; -#X msg 208 358 add2 \$1; -#X msg 207 397 1 2 3 4; -#X msg 77 254 set; -#X text 11 254 reset:; -#X msg 257 215 4; -#X msg 258 282 3; -#X msg 423 280 2; -#X msg 423 315 1; -#X text 8 398 see result here -->; -#X obj 258 184 bng 25 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X text -39 66 Pd processes messages in "depth first". This means the -bottom-most message in a chain runs first. Everything below a spot -in a chain is run before. As you'll see from the example below \, the -[4( message actually runs last \, since everything below it executed -before it.; -#X connect 1 0 7 0; -#X connect 1 1 8 0; -#X connect 2 0 3 0; -#X connect 4 0 3 0; -#X connect 6 0 1 0; -#X connect 6 0 2 0; -#X connect 7 0 2 0; -#X connect 8 0 9 0; -#X connect 8 0 2 0; -#X connect 9 0 2 0; -#X connect 11 0 6 0; diff --git a/doc/tutorials/intro/determinism.pd b/doc/tutorials/intro/determinism.pd new file mode 100644 index 00000000..ffa72d70 --- /dev/null +++ b/doc/tutorials/intro/determinism.pd @@ -0,0 +1,5 @@ +#N canvas 10 40 628 453 12; +#X obj 10 10 cnv 15 400 40 empty empty determinism 20 12 0 24 -228992 +-66577 0; +#X obj 31 229 pddp/pddplink http://crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s5.3 +; diff --git a/doc/tutorials/intro/gui_objects.pd b/doc/tutorials/intro/gui_objects.pd deleted file mode 100644 index 8a75061f..00000000 --- a/doc/tutorials/intro/gui_objects.pd +++ /dev/null @@ -1,48 +0,0 @@ -#N canvas 312 62 750 592 10; -#X obj 504 24 import cyclone unauthorized; -#X obj 30 70 bng 15 250 50 0 \$1 \$1 empty 20 8 0 8 -262144 -1 -1; -#X obj 30 102 tgl 15 1.04858e+06 empty \$2 empty 20 8 0 8 -262144 -1 --1 0 1; -#X obj 34 148 vsl 15 128 0 127 0 1.04858e+06 empty \$3 empty 20 8 0 -8 -262144 -1 -1 0 1; -#X obj 191 278 hsl 128 15 0 127 0 0 empty empty empty 20 8 0 8 -262144 --1 -1 0 1; -#X obj 201 249 hdl 15 1 2.6624e+06 8 \$5 \$5 empty 20 8 192 8 -262144 --1 -1 0; -#X obj 254 87 vu 15 120 \$6 empty 35 8 0 8 -66577 -1 1 0; -#X obj 111 69 cnv 15 100 60 empty empty [canvas] 20 12 0 14 -233017 --66577 1.04858e+06; -#X obj 126 149 vdl 15 1 4.79232e+06 8 \$9 \$9 empty 20 8 192 8 -262144 --1 -1 0; -#X obj 341 136 nbx 5 14 -1e+37 1e+37 0 0 \$5 \$5 empty 45 7 0 10 -262144 --1 -1 0 256; -#X text 8 22 Pd comes with a standard \, built-in set of GUI elements -\, which you can select from the "Put" menu.; -#X text 16 323 There are also some OS-native GUI elements available -; -#X obj 44 363 button OK; -#X obj 142 367 popup 124 25 #ffffff popup option; -#X obj 298 363 ticker ; -#X obj 495 419 envgen 200 140 1 0 ; -#X obj 366 499 knob 32 32 0 127 0 0 empty empty empty 0 -8 32 8 -262144 --1 -1 3100 1; -#X text 360 473 [knob]; -#X text 281 340 [ticker]; -#X obj 500 71 grid grid1 200 0 199 200 0 199 1 1 1 10 10 570 188; -#X text 474 51 [unauthorized/grid]; -#X text 475 395 [envgen]; -#X text 112 405 [cyclone/Scope~]; -#X text 23 339 [button]; -#X text 129 341 [popup]; -#X text 250 67 [vu]; -#X text 46 69 [bng]; -#X text 46 101 [tgl]; -#X text 21 280 [vslider]; -#X text 325 248 [hradio]; -#X text 325 278 [hslider]; -#X text 107 277 [vradio]; -#X obj 105 432 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 -135 135 0; -#X text 337 118 [nbx]; -#X obj 555 305 gcanvas 80 80; -#X text 483 294 [gcanvas]; diff --git a/doc/tutorials/intro/guis.pd b/doc/tutorials/intro/guis.pd deleted file mode 100644 index ca08bb3a..00000000 --- a/doc/tutorials/intro/guis.pd +++ /dev/null @@ -1,813 +0,0 @@ -#N canvas 153 19 568 572 10; -#X obj -4 -4 cnv 15 600 700 empty empty gui-INTRO 237 20 2 14 -261819 --143491 0; -#X text 101 4 bng; -#X obj 456 313 vsl 15 128 0 127 0 0 empty empty default_15x128 8 -8 -0 8 -262144 -1 -1 0 1; -#X obj 354 42 tgl 100 1 empty empty 100_pix 8 -8 0 8 -250685 -24198 --42246 1 1; -#X obj 57 251 hsl 128 15 0 127 0 0 empty empty default_128x15 8 -8 -0 8 -262144 -1 -1 0 1; -#X obj 78 226 hsl 20 8 0 19 0 0 empty empty min_20x8 8 -8 0 8 -262144 --1 -1 0 1; -#X obj 478 326 vsl 8 20 0 19 0 0 empty empty min_8x20 8 -8 0 8 -262144 --1 -1 0 1; -#X obj 458 48 tgl 8 0 empty empty min_8 8 -8 0 8 -262144 -1 -1 0 1 -; -#X obj 458 71 tgl 15 0 empty empty default_15 8 -8 0 8 -262144 -1 -1 -0 1; -#X obj 459 109 tgl 30 0 empty empty 30_pix 8 -8 0 8 -262144 -1 -1 0 -1; -#X obj 101 88 bng 30 250 50 0 empty empty 30_pix 8 -8 0 8 -262144 -1 --1; -#X obj 412 304 vsl 30 250 0 249 0 1 empty empty 30x250 8 -8 0 8 -184301 --42886 -42246 21800 1; -#X obj 7 271 hsl 251 30 0 250 0 1 empty empty 251x30 8 -8 0 8 -147456 --1109 -66577 12500 1; -#X text 180 518 (c) musil@iem.kug.ac.at; -#X text 222 531 IEM KUG; -#X text 197 543 graz \, austria 2001; -#X obj 40 343 vu 25 200 empty empty 8 -8 0 8 -1 -99865 1 0; -#X obj 13 24 bng 75 5000 25 1 empty empty 75pix+init 8 -8 0 8 -262131 --261458 -123526; -#X obj 100 376 vu 15 120 empty empty 8 -8 0 8 -66577 -1 1 0; -#X obj 186 375 vu 10 80 empty empty 8 -8 0 8 -66577 -1 1 0; -#X text 99 313 vu; -#N canvas 438 180 374 414 animate_vu 0; -#X obj 40 211 t f f; -#X obj 65 233 + 6; -#X obj 40 257 pack 0 0; -#X obj 78 94 tgl 15 0 empty empty empty 8 -8 0 10 -262144 -1 -1 0 1 -; -#X obj 78 115 sel 0 1; -#X obj 78 74 metro 4000; -#X msg 100 137 30 3000; -#X msg 78 167 -130 3000; -#X obj 40 189 line -130 50; -#X obj 78 51 inlet; -#X obj 40 316 outlet; -#X obj 87 316 outlet; -#X obj 134 316 outlet; -#X connect 0 0 2 0; -#X connect 0 1 1 0; -#X connect 1 0 2 1; -#X connect 2 0 10 0; -#X connect 2 0 11 0; -#X connect 2 0 12 0; -#X connect 3 0 4 0; -#X connect 4 0 7 0; -#X connect 4 1 6 0; -#X connect 5 0 3 0; -#X connect 6 0 8 0; -#X connect 7 0 8 0; -#X connect 8 0 0 0; -#X connect 9 0 5 0; -#X restore 99 349 pd animate_vu; -#X obj 99 331 tgl 15 1 empty empty empty 8 -8 0 10 -262144 -1 -1 1 -1; -#X text 360 8 toggle = tgl; -#X text 68 198 hslider = hsl; -#X text 430 271 vslider = vsl; -#X obj 13 160 print initial_bang; -#X obj 21 118 bng 15 250 50 0 empty empty default_15 8 -8 0 8 -262144 --1 -1; -#X obj 104 48 bng 8 250 50 0 empty empty min_8 8 -8 0 10 -262144 -1 --1; -#X obj 21 137 print no_initial_bang; -#X obj 283 324 cnv 15 100 30 empty empty empty 20 12 2 20 -225271 -66577 -0; -#X obj 283 355 cnv 15 100 30 empty empty empty 20 12 2 20 -225280 -66577 -0; -#X obj 283 386 cnv 15 100 30 empty empty empty 20 12 2 20 -261681 -66577 -0; -#X obj 283 417 cnv 15 100 30 empty empty empty 20 12 2 20 -257472 -66577 -0; -#X obj 172 375 vu 10 80 empty empty 8 -8 0 8 -66577 -1 0 0; -#X obj 310 203 hradio 15 1 1 8 empty empty default_8*15 8 -8 0 8 -262144 --1 -1 2; -#X obj 254 223 hradio 25 1 1 12 empty empty 12*25 8 -8 0 8 -1433 -225280 --355 1; -#N canvas 179 78 690 573 nervous 0; -#X obj 10 23 tgl 55 1 empty start_nervously1 start_it 8 -8 0 10 -260818 --1 -250685 0 1; -#X obj 131 141 bng 51 1200 50 0 empty nerv_bng bang 8 -8 0 10 -253378 --137031 -222091; -#X obj 120 418 hsl 22 12 0 127 0 0 empty nerv_hsl h-slider 8 -8 0 10 --71033 -66198 -128091 0 1; -#X obj 448 140 tgl 11 1 empty nerv_tgl toggle 8 -8 0 10 -141355 -82199 --51488 0 1; -#X obj 447 383 vsl 15 111 0 127 0 0 empty nerv_vsl v-slider 8 -8 0 -10 -150187 -73940 -248863 0 1; -#N canvas 135 99 382 469 control 0; -#X obj 19 21 inlet; -#X obj 19 50 t b f; -#X obj 19 153 del 900; -#X obj 19 212 del 900; -#X obj 19 93 del 100; -#X obj 19 283 del 900; -#X obj 33 125 f; -#X obj 33 180 f; -#X obj 33 245 f; -#X obj 33 309 f; -#N canvas 280 166 794 432 bng 0; -#X obj 114 260 - 0; -#X obj 148 258 f; -#X obj 147 222 t f b; -#X obj 79 122 random 56789; -#X obj 150 165 random 9876; -#X obj 47 236 - 0; -#X obj 81 234 f; -#X obj 80 198 t f b; -#X obj 150 192 % 50; -#X obj 79 145 % 50; -#X obj 64 289 pack 0 0; -#X obj 85 53 t b b b; -#X obj 234 368 pack 0 0 0; -#X obj 250 29 metro 2000; -#X obj 445 122 random 555666; -#X obj 445 168 + 8; -#X obj 445 145 % 120; -#X obj 84 32 metro 100; -#X obj 234 261 random 1.67772e+007; -#X obj 266 283 random 1.67772e+007; -#X obj 299 315 random 1.67772e+007; -#X obj 84 11 inlet; -#X msg 64 312 \; nerv_bng delta \$1 \$2; -#X msg 234 390 \; nerv_bng color \$1 \$2 \$3; -#X msg 445 192 \; nerv_bng size \$1; -#X msg 250 51 \; nerv_bng bang; -#X obj 234 340 * -1; -#X obj 266 316 * -1; -#X obj 299 342 * -1; -#X connect 0 0 10 1; -#X connect 1 0 0 1; -#X connect 2 0 1 1; -#X connect 2 0 0 0; -#X connect 2 1 1 0; -#X connect 3 0 9 0; -#X connect 4 0 8 0; -#X connect 5 0 10 0; -#X connect 6 0 5 1; -#X connect 7 0 6 1; -#X connect 7 0 5 0; -#X connect 7 1 6 0; -#X connect 8 0 2 0; -#X connect 9 0 7 0; -#X connect 10 0 22 0; -#X connect 11 0 3 0; -#X connect 11 0 14 0; -#X connect 11 0 18 0; -#X connect 11 1 4 0; -#X connect 11 1 19 0; -#X connect 11 2 20 0; -#X connect 12 0 23 0; -#X connect 13 0 25 0; -#X connect 14 0 16 0; -#X connect 15 0 24 0; -#X connect 16 0 15 0; -#X connect 17 0 11 0; -#X connect 18 0 26 0; -#X connect 19 0 27 0; -#X connect 20 0 28 0; -#X connect 21 0 17 0; -#X connect 21 0 13 0; -#X connect 26 0 12 0; -#X connect 27 0 12 1; -#X connect 28 0 12 2; -#X restore 114 143 pd bng; -#N canvas 139 89 794 432 tgl 0; -#X obj 114 260 - 0; -#X obj 148 258 f; -#X obj 147 222 t f b; -#X obj 79 122 random 56789; -#X obj 150 165 random 9876; -#X obj 47 236 - 0; -#X obj 81 234 f; -#X obj 80 198 t f b; -#X obj 150 192 % 50; -#X obj 79 145 % 50; -#X obj 64 289 pack 0 0; -#X obj 85 53 t b b b; -#X obj 445 122 random 555666; -#X obj 445 168 + 8; -#X obj 445 144 % 120; -#X obj 85 31 metro 100; -#X obj 264 28 metro 1000; -#X obj 85 10 inlet; -#X msg 64 312 \; nerv_tgl delta \$1 \$2; -#X msg 226 322 \; nerv_tgl color \$1 \$2 \$3; -#X msg 445 192 \; nerv_tgl size \$1; -#X msg 264 51 \; nerv_tgl bang; -#X obj 226 298 pack 0 0 0; -#X obj 226 191 random 1.67772e+007; -#X obj 258 213 random 1.67772e+007; -#X obj 291 245 random 1.67772e+007; -#X obj 226 270 * -1; -#X obj 258 246 * -1; -#X obj 291 272 * -1; -#X connect 0 0 10 1; -#X connect 1 0 0 1; -#X connect 2 0 1 1; -#X connect 2 0 0 0; -#X connect 2 1 1 0; -#X connect 3 0 9 0; -#X connect 4 0 8 0; -#X connect 5 0 10 0; -#X connect 6 0 5 1; -#X connect 7 0 6 1; -#X connect 7 0 5 0; -#X connect 7 1 6 0; -#X connect 8 0 2 0; -#X connect 9 0 7 0; -#X connect 10 0 18 0; -#X connect 11 0 3 0; -#X connect 11 0 12 0; -#X connect 11 0 23 0; -#X connect 11 1 4 0; -#X connect 11 1 24 0; -#X connect 11 2 25 0; -#X connect 12 0 14 0; -#X connect 13 0 20 0; -#X connect 14 0 13 0; -#X connect 15 0 11 0; -#X connect 16 0 21 0; -#X connect 17 0 15 0; -#X connect 17 0 16 0; -#X connect 22 0 19 0; -#X connect 23 0 26 0; -#X connect 24 0 27 0; -#X connect 25 0 28 0; -#X connect 26 0 22 0; -#X connect 27 0 22 1; -#X connect 28 0 22 2; -#X restore 114 198 pd tgl; -#N canvas 322 99 794 432 hsl 0; -#X obj 114 260 - 0; -#X obj 148 258 f; -#X obj 147 222 t f b; -#X obj 79 122 random 56789; -#X obj 150 165 random 9876; -#X obj 47 236 - 0; -#X obj 81 234 f; -#X obj 80 198 t f b; -#X obj 150 192 % 50; -#X obj 79 145 % 50; -#X obj 64 289 pack 0 0; -#X obj 85 53 t b b b; -#X obj 445 122 random 555666; -#X obj 560 188 + 8; -#X obj 560 128 random 773322; -#X obj 445 208 pack 0 0; -#X obj 84 32 metro 100; -#X obj 561 155 % 30; -#X obj 445 183 + 20; -#X obj 446 149 % 110; -#X obj 254 305 metro 1000; -#X obj 254 327 random 846352; -#X obj 254 350 % 130; -#X obj 84 11 inlet; -#X msg 64 321 \; nerv_hsl delta \$1 \$2; -#X msg 254 373 \; nerv_hsl set \$1; -#X msg 445 231 \; nerv_hsl size \$1 \$2; -#X obj 245 202 pack 0 0 0; -#X obj 245 95 random 1.67772e+007; -#X obj 277 117 random 1.67772e+007; -#X obj 310 149 random 1.67772e+007; -#X obj 245 174 * -1; -#X obj 277 150 * -1; -#X obj 310 176 * -1; -#X msg 245 229 \; nerv_hsl color \$1 \$2 \$3; -#X connect 0 0 10 1; -#X connect 1 0 0 1; -#X connect 2 0 1 1; -#X connect 2 0 0 0; -#X connect 2 1 1 0; -#X connect 3 0 9 0; -#X connect 4 0 8 0; -#X connect 5 0 10 0; -#X connect 6 0 5 1; -#X connect 7 0 6 1; -#X connect 7 0 5 0; -#X connect 7 1 6 0; -#X connect 8 0 2 0; -#X connect 9 0 7 0; -#X connect 10 0 24 0; -#X connect 11 0 3 0; -#X connect 11 0 12 0; -#X connect 11 0 28 0; -#X connect 11 1 4 0; -#X connect 11 1 14 0; -#X connect 11 1 29 0; -#X connect 11 2 30 0; -#X connect 12 0 19 0; -#X connect 13 0 15 1; -#X connect 14 0 17 0; -#X connect 15 0 26 0; -#X connect 16 0 11 0; -#X connect 17 0 13 0; -#X connect 18 0 15 0; -#X connect 18 0 22 1; -#X connect 19 0 18 0; -#X connect 20 0 21 0; -#X connect 21 0 22 0; -#X connect 22 0 25 0; -#X connect 23 0 16 0; -#X connect 23 0 20 0; -#X connect 27 0 34 0; -#X connect 28 0 31 0; -#X connect 29 0 32 0; -#X connect 30 0 33 0; -#X connect 31 0 27 0; -#X connect 32 0 27 1; -#X connect 33 0 27 2; -#X restore 112 263 pd hsl; -#N canvas 148 132 794 432 vsl 0; -#X obj 114 260 - 0; -#X obj 148 258 f; -#X obj 147 222 t f b; -#X obj 79 122 random 56789; -#X obj 150 165 random 9876; -#X obj 47 236 - 0; -#X obj 81 234 f; -#X obj 80 198 t f b; -#X obj 150 192 % 50; -#X obj 79 145 % 50; -#X obj 64 289 pack 0 0; -#X obj 85 53 t b b b; -#X obj 445 122 random 555666; -#X obj 560 128 random 773322; -#X obj 445 208 pack 0 0; -#X obj 84 32 metro 100; -#X obj 241 299 metro 1000; -#X obj 240 325 random 846352; -#X obj 241 352 % 130; -#X obj 561 155 % 110; -#X obj 560 188 + 20; -#X obj 446 149 % 30; -#X obj 445 183 + 3; -#X obj 84 11 inlet; -#X msg 239 227 \; nerv_vsl color \$1 \$2 \$3; -#X msg 445 231 \; nerv_vsl size \$1 \$2; -#X msg 64 310 \; nerv_vsl delta \$1 \$2; -#X msg 241 376 \; nerv_vsl set \$1; -#X obj 239 203 pack 0 0 0; -#X obj 239 96 random 1.67772e+007; -#X obj 271 118 random 1.67772e+007; -#X obj 304 150 random 1.67772e+007; -#X obj 239 175 * -1; -#X obj 271 151 * -1; -#X obj 304 177 * -1; -#X connect 0 0 10 1; -#X connect 1 0 0 1; -#X connect 2 0 1 1; -#X connect 2 0 0 0; -#X connect 2 1 1 0; -#X connect 3 0 9 0; -#X connect 4 0 8 0; -#X connect 5 0 10 0; -#X connect 6 0 5 1; -#X connect 7 0 6 1; -#X connect 7 0 5 0; -#X connect 7 1 6 0; -#X connect 8 0 2 0; -#X connect 9 0 7 0; -#X connect 10 0 26 0; -#X connect 11 0 3 0; -#X connect 11 0 12 0; -#X connect 11 0 29 0; -#X connect 11 1 4 0; -#X connect 11 1 13 0; -#X connect 11 1 30 0; -#X connect 11 2 31 0; -#X connect 12 0 21 0; -#X connect 13 0 19 0; -#X connect 14 0 25 0; -#X connect 15 0 11 0; -#X connect 16 0 17 0; -#X connect 17 0 18 0; -#X connect 18 0 27 0; -#X connect 19 0 20 0; -#X connect 20 0 14 1; -#X connect 20 0 18 1; -#X connect 21 0 22 0; -#X connect 22 0 14 0; -#X connect 23 0 15 0; -#X connect 23 0 16 0; -#X connect 28 0 24 0; -#X connect 29 0 32 0; -#X connect 30 0 33 0; -#X connect 31 0 34 0; -#X connect 32 0 28 0; -#X connect 33 0 28 1; -#X connect 34 0 28 2; -#X restore 113 327 pd vsl; -#X connect 0 0 1 0; -#X connect 1 0 4 0; -#X connect 1 1 6 1; -#X connect 1 1 7 1; -#X connect 1 1 8 1; -#X connect 1 1 9 1; -#X connect 2 0 3 0; -#X connect 2 0 7 0; -#X connect 3 0 5 0; -#X connect 3 0 8 0; -#X connect 4 0 2 0; -#X connect 4 0 6 0; -#X connect 5 0 9 0; -#X connect 6 0 10 0; -#X connect 7 0 11 0; -#X connect 8 0 12 0; -#X connect 9 0 13 0; -#X restore 10 85 pd control; -#X connect 0 0 5 0; -#X restore 295 424 pd nervous; -#X floatatom 239 84 4 0 0 0 - - -; -#N canvas 226 38 811 519 properties 0; -#X obj 2 1 cnv 8 870 590 empty empty about_gui_properties 290 20 2 -18 -225280 -1109 0; -#X text 12 62 "selectable dimensions(pix): size:" = square-size of -the; -#X text 10 35 "dimensions(pix): size:" = square-size of the gui-objects -; -#X text 10 48 "dimensions(pix)(pix): width: height:" = width & height -; -#X text 11 177 "visible_rectangle(pix)(pix): width: height:" = width -&; -#X text 11 104 "flash-time(ms)(ms): intrrpt:" = flash-interrupt-time -; -#X text 411 62 selectable top-left corner of my_canvas in pixels.; -#X text 415 35 in pixels.; -#X text 11 76 "flash-time(ms)(ms): hold:" = flash-hold-time in msec -=; -#X text 405 76 duration of activity \, if a bang-object was activated -; -#X text 400 48 of the rectangular gui-object in pixels.; -#X text 402 177 height of a visible \, deactivated rectangle in pixels. -; -#X text 14 224 "new&old" or "new-only" = the radiobutton-object changes -its; -#X text 441 224 state in 2 ways:; -#X text 198 237 "new&old"-mode: output sends previous state off \, -current; -#X text 596 237 state on \;; -#X text 197 250 "new-only"-mode: output sends only current state on. -; -#X text 14 280 "steady on click" or "jump on click" = the 2 slider-objects -; -#X text 481 322 immediately to new mouse-position \,; -#X text 12 413 "label: font: fontsize:" = font-properties of label. -; -#X text 15 429 "colors:" = a click on radiobuttons "background:" \, -; -#X text 370 429 "front-color:" or "label-color:" activates the color-fields -; -#X text 174 193 if "init"-mode is selected \, the object displays and -puts; -#X text 15 266 "number:" = number of buttons of a radiobutton.; -#X text 205 89 by any message-event or by a mouse-click.; -#X text 388 104 in msec = duration of inactivity \, if an already; -#X text 205 117 activated bang is activated once more.; -#X text 11 132 "output-range: left: right:" = hslider-bounds; -#X text 332 132 for input- as well as output-values.; -#X text 332 146 for input- as well as output-values.; -#X text 11 146 "output-range: bottom: top:" = vslider-bounds; -#X text 12 193 "init" or "no init" =; -#X text 571 193 out its previously saved value.; -#X text 174 208 if "no init"-mode is selected \, nothing will happen. -; -#X text 433 280 react to mouse-click in 2 ways:; -#X text 201 294 "steady on click"-mode: slider-knob stays in position -\,; -#X text 225 307 mouse and knob will move parallel \;; -#X text 200 322 "jump on click"-mode: slider-knob jumps; -#X text 224 338 positions of mouse and knob will be identical \;; -#X text 402 353 receive-object with the same send-symbol-name.; -#X text 11 368 "receive-symbol:" = a send-object with the same; -#X text 11 353 "send-symbol:" = an output-message can be received by -a; -#X text 347 368 symbol-name can send an input-message to the gui-object. -; -#X text 13 383 "label: name:" = visible name of a gui-object \;; -#X text 343 383 it will be moved together with the gui-object.; -#X text 12 397 "label: x_off: y_off:" = coordinates of the label in -; -#X text 382 397 relation to top-left corner of gui-object.; -#X text 207 444 on the right side which display the current color of -the; -#X text 605 444 item \;; -#X text 11 161 "non-zero-value: value:" = toggle has 2; -#X text 292 161 value-states: zero and this value.; -#X text 208 460 to select a different color \, click on one of the -30 small; -#X text 614 459 preset-color-buttons \;; -#X text 208 475 each color (background \, front \, label) can be tuned -by its; -#X text 235 490 RGB-values (0 .. 252 \, step 4) and a click on the -set-button.; -#X restore 287 361 pd properties; -#N canvas 146 190 460 120 move 0; -#X obj 0 0 cnv 8 460 120 empty empty how_to_move_gui_objects 100 18 -2 20 -225271 -42246 0; -#X text 11 43 Select a gui-object \, then navigate the object by using -the 4 direction-keys: UP \, DOWN \, LEFT or RIGHT.; -#X text 12 70 If you press the SHIFT-Key too \, the object will move -10 times faster.; -#X restore 308 331 pd move; -#N canvas 151 38 522 451 dollar 0; -#X obj 0 0 cnv 8 560 160 empty empty the_dollar_thing 100 18 2 20 -261681 --123526 0; -#X text 10 39 if you want to send to \, or to receive from gui-objects -; -#X text 394 39 in abstractions \,; -#X text 36 52 you have to write into the property-entry:; -#X text 44 67 #1-label (instead of \$1-label).; -#X text 25 103 type #0-uniquelabel (instead of \$0-uniquelabel).; -#X text 9 88 if you want a unique send-receive-symbolname:; -#X restore 299 391 pd dollar; -#X obj 283 448 cnv 15 100 30 empty empty empty 20 12 2 20 -228992 -66577 -0; -#N canvas 177 21 730 638 messages 0; -#X obj 1 1 cnv 8 870 640 empty empty about_gui_messages 200 20 2 18 --228992 -355 0; -#X text 366 99 in pixels.; -#X text 9 84 "size 15 128" = change width & height; -#X text 9 159 "flashtime 50 600" = change flash-interrupt- and flash-hold -; -#X text 424 160 -time of bng-object.; -#X text 9 174 "pos 150 170" = change the x-y-position of the top-left -; -#X text 400 173 corner of a gui-object in pixels \;; -#X text 139 188 "pos 0 0" is the top-left corner of your window \; -; -#X text 143 204 the positive directions of x- and y-axes are right -and down.; -#X text 12 415 "receive togui" = change receive-name of object.; -#X text 12 431 "label its_me" = change label-text of object.; -#X text 12 446 "label_pos 20 8" = change offset-coordinates of label-text. -; -#X text 12 461 "label_font 0 10" = change font and fontsize of label-text. -; -#X text 12 340 "steady 1" change slider-knob-behaviour on mouse-click. -; -#X text 13 522 "lin" = change scale-mode of slider to linear.; -#X text 14 537 "log" = change scale-mode of slider to logarithmical. -; -#X text 333 355 to output only the new state.; -#X text 273 84 of sliders and vu in pixels.; -#X text 12 477 "init 1" = change initial loadbang-mode of gui-objects -; -#X text 12 400 "send fromgui" = change send-name of gui-objects \, -; -#X text 12 325 "number 10" = change number of buttons of radio-button. -; -#X text 9 128 "range 0.1 10.0" = change slider-boundaries for; -#X text 344 128 input- as well as output-values.; -#X text 13 492 "set 64" = change only the inner state and display of -gui-; -#X text 11 33 all gui-objects (bng \, hsl \, vsl \, tgl \, rdb \, cnv -and vu); -#X text 9 113 "vis_size 800 600" = change width & height; -#X text 309 113 of visual rectangle of my_canvas in pixels.; -#X text 359 400 except vu and my_canvas.; -#X text 395 477 except vu and cnv.; -#X text 421 492 objects \, except bng and cnv \;; -#X text 85 47 understand input-messages which change their properties. -; -#X text 11 222 "delta 15 17" = move the gui-object in relation to its -; -#X text 397 222 current position (in pixels).; -#X text 333 371 to first release the previous button \,; -#X text 144 385 then output the state of the new button.; -#X text 12 371 "double_change" change radio-button-behaviour; -#X text 12 355 "single_change" change radio-button-behaviour; -#X text 147 507 no output will result.; -#X text 9 99 "size 15" = change square-size of rdb \, bng and tgl; -#X text 9 143 "nonzero 127.0" = change the nonzero-value of toggle. -; -#X text 15 552 "get_pos" = if my_canvas has a receive-name and a send-name -; -#X text 434 552 and you send the; -#X text 272 237 front- and label-color of object with one of 30 presets. -; -#X text 277 252 label-color of vu and my_canvas with one of 30 presets. -; -#X text 504 282 (0 .. 255); -#X text 558 568 coordinates.; -#X text 149 568 message "get_pos" to it \, you receive the current -x- and y-; -#X text 85 59 except cnv has no inlet \, so you have to send messages -; -#X text 85 71 to its receive-label (edit properties).; -#X text 11 237 "color 0 22 22" = change background- \,; -#X text 11 252 "color 0 22" = change background- and; -#X text 13 268 "color -1.67772e+007 (-1) -1" = change background- \, -; -#X text 364 267 (front-) and label-color of object with RGB-values. -; -#X text 149 283 the RGB-value will be calculated: -65536*RED-value -; -#X text 592 309 - 1; -#X text 422 309 - BLUE-value (0 .. 255); -#X text 394 296 - 256*GREEN-value (0 .. 255); -#X restore 294 453 pd messages; -#X obj 225 259 cnv 1 350 1 empty empty empty 20 12 2 20 -258699 -66577 -0; -#X obj 4 308 cnv 1 268 1 empty empty empty 20 12 2 20 -258699 -66577 -0; -#X obj 4 186 cnv 1 220 1 empty empty empty 20 12 2 20 -258699 -66577 -0; -#X obj 225 151 cnv 1 350 1 empty empty empty 20 12 2 20 -258699 -66577 -0; -#X obj 271 261 cnv 1 1 48 empty empty empty 20 12 2 20 -258699 -66577 -0; -#X obj 232 308 cnv 1 1 200 empty empty empty 20 12 2 20 -258699 -66577 -0; -#X obj 339 3 cnv 1 1 149 empty empty empty 20 12 2 20 -258699 -66577 -0; -#X obj 398 260 cnv 1 1 310 empty empty empty 20 12 2 20 -258699 -66577 -0; -#X obj 225 3 cnv 1 1 255 empty empty empty 20 12 2 20 -258699 -66577 -0; -#X floatatom 276 84 4 0 0 0 - - -; -#X obj 239 43 tgl 15 0 empty dsp_tgl empty 20 8 0 10 -370 -262144 -1 -0 1; -#N canvas 145 31 380 506 dsp 0; -#X msg 31 88 \; pd dsp \$1; -#X obj 20 199 cputime; -#X obj 20 178 t b b; -#X text 15 11 dsp; -#X text 48 439 (c) musil@iem.kug.ac.at; -#X text 90 452 IEM KUG; -#X text 59 65 1/0 = ON/OFF; -#X text 97 313 CPU-load; -#X obj 62 126 loadbang; -#X obj 20 126 sel 1; -#X text 65 464 graz \, austria 2001; -#X text 64 12 turn dsp-kernel on & off \,; -#X obj 20 240 t f f; -#X text 65 408 average; -#X text 177 405 peak; -#X obj 211 154 f; -#X obj 146 179 > -1; -#X obj 169 155 f -1; -#X obj 179 91 t f b f; -#X obj 146 204 sel 1; -#X obj 192 132 f -1; -#X obj 20 154 metro 500; -#X obj 20 220 * 0.2; -#X text 74 37 -dsp-load in %; -#X text 65 24 measure average- and peak-; -#X obj 20 315 * 100; -#X obj 20 360 int; -#X obj 20 338 + 0.499; -#X obj 20 383 * 0.01; -#X obj 246 207 r pd; -#X obj 246 231 route dsp; -#X text 245 318 to toggle input; -#X msg 246 283 \; dsp_tgl set \$1; -#X obj 247 341 r dsp_tgl; -#X obj 246 257 route float; -#X obj 146 227 del 3990; -#N canvas 305 120 336 257 once 0; -#X text 7 204 (c) musil@iem.kug.ac.at; -#X text 49 214 IEM KUG; -#X text 24 223 graz \, austria 2001; -#X text 8 6 once; -#X obj 19 150 bang; -#X obj 56 65 f 0; -#X text 59 7 only the first message passes through; -#X obj 19 127 t b a; -#X obj 19 100 spigot; -#X obj 119 63 f 1; -#X obj 119 41 loadbang; -#X obj 19 40 inlet; -#X obj 49 183 outlet; -#X connect 4 0 5 0; -#X connect 5 0 8 1; -#X connect 7 0 4 0; -#X connect 7 1 12 0; -#X connect 8 0 7 0; -#X connect 9 0 8 1; -#X connect 10 0 9 0; -#X connect 11 0 8 0; -#X restore 111 264 pd once; -#N canvas 297 130 530 376 1p1z 0; -#X text 7 315 (c) musil@iem.kug.ac.at; -#X text 52 325 IEM KUG; -#X obj 22 231 +; -#X text 8 6 1p1z; -#X text 24 334 graz \, austria 2001; -#X text 104 22 y[n] = a0*x[n] + a1*x[n-1] + b1*y[n-1]; -#X text 169 53 a0; -#X text 25 34 x[n]; -#X text 24 280 y[n]; -#X text 209 53 a1; -#X text 249 53 b1; -#X obj 284 52 loadbang; -#X text 64 102 x[n-1]; -#X obj 40 205 +; -#X obj 22 133 *; -#X obj 40 160 *; -#X obj 59 182 *; -#X text 82 143 y[n-1]; -#X obj 284 72 t b b b; -#X obj 40 98 f; -#X obj 59 138 f; -#X obj 22 71 t f b b; -#X text 350 63 x[n-1]init; -#X text 429 102 y[n-1]init; -#X text 147 202 1.arg: a0; -#X text 147 213 2.arg: a1; -#X text 147 224 3.arg: b1; -#X text 63 5 control-IIR-filter 1.order; -#X obj 162 115 f 0.1; -#X obj 202 142 f 0; -#X obj 242 164 f 0.9; -#X obj 22 49 inlet; -#X obj 162 71 inlet; -#X obj 202 71 inlet; -#X obj 242 71 inlet; -#X obj 356 80 inlet; -#X obj 431 120 inlet; -#X obj 22 264 outlet; -#X connect 2 0 20 1; -#X connect 2 0 37 0; -#X connect 11 0 18 0; -#X connect 13 0 2 1; -#X connect 14 0 2 0; -#X connect 15 0 13 0; -#X connect 16 0 13 1; -#X connect 18 0 28 0; -#X connect 18 1 29 0; -#X connect 18 2 30 0; -#X connect 19 0 15 0; -#X connect 20 0 16 0; -#X connect 21 0 14 0; -#X connect 21 0 19 1; -#X connect 21 1 19 0; -#X connect 21 2 20 0; -#X connect 28 0 14 1; -#X connect 29 0 15 1; -#X connect 30 0 16 1; -#X connect 31 0 21 0; -#X connect 32 0 28 0; -#X connect 33 0 29 0; -#X connect 34 0 30 0; -#X connect 35 0 19 1; -#X connect 36 0 20 1; -#X restore 20 289 pd 1p1z 0.1 0 0.9; -#X obj 20 65 inlet; -#X obj 20 406 outlet; -#X obj 211 405 outlet; -#X connect 1 0 22 0; -#X connect 2 0 1 0; -#X connect 2 1 1 1; -#X connect 8 0 21 0; -#X connect 9 0 21 0; -#X connect 12 0 37 0; -#X connect 15 0 17 1; -#X connect 15 0 40 0; -#X connect 16 0 19 0; -#X connect 17 0 16 1; -#X connect 18 0 16 0; -#X connect 18 1 17 0; -#X connect 18 2 15 1; -#X connect 19 0 15 0; -#X connect 19 0 35 0; -#X connect 20 0 17 1; -#X connect 21 0 2 0; -#X connect 22 0 12 0; -#X connect 22 0 18 0; -#X connect 25 0 27 0; -#X connect 26 0 28 0; -#X connect 27 0 26 0; -#X connect 28 0 39 0; -#X connect 29 0 30 0; -#X connect 30 0 34 0; -#X connect 34 0 32 0; -#X connect 35 0 20 0; -#X connect 37 0 25 0; -#X connect 38 0 0 0; -#X connect 38 0 9 0; -#X restore 239 63 pd dsp; -#X text 238 99 mean; -#X text 279 100 peak; -#X text 289 63 % cpu; -#X text 283 305 my_canvas = cnv; -#X text 312 172 radiobutton = rdb; -#X text 271 350 R; -#X text 270 370 E; -#X text 270 389 A; -#X text 270 409 D; -#X text 270 428 M; -#X text 269 447 E; -#X connect 17 0 26 0; -#X connect 21 0 18 0; -#X connect 21 0 16 0; -#X connect 21 1 34 0; -#X connect 21 2 19 0; -#X connect 22 0 21 0; -#X connect 27 0 29 0; -#X connect 54 0 55 0; -#X connect 55 0 38 0; -#X connect 55 1 53 0; diff --git a/doc/tutorials/intro/init_to_0.pd b/doc/tutorials/intro/init_to_0.pd new file mode 100644 index 00000000..bc2573c8 --- /dev/null +++ b/doc/tutorials/intro/init_to_0.pd @@ -0,0 +1,31 @@ +#N canvas 396 67 599 357 12; +#X text 21 93 float values are automatically initialized to 0 in Pd. +; +#X obj 304 185 +; +#X obj 188 186 *; +#X obj 67 185 float; +#X obj 425 185 trigger f; +#X obj 253 216 bng 15 250 50 0 empty empty reset 0 -6 0 8 -262144 -1 +-1; +#X obj 304 259 pddp/print; +#X obj 187 259 pddp/print; +#X obj 67 259 pddp/print; +#X obj 425 259 pddp/print; +#X msg 304 147 bang; +#X msg 188 148 bang; +#X msg 67 148 bang; +#X msg 425 148 bang; +#X obj 12 13 cnv 15 400 40 empty empty init_to_zero 20 12 0 24 -228992 +-66577 0; +#X connect 1 0 6 0; +#X connect 2 0 7 0; +#X connect 3 0 8 0; +#X connect 4 0 9 0; +#X connect 5 0 6 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 5 0 9 0; +#X connect 10 0 1 0; +#X connect 11 0 2 0; +#X connect 12 0 3 0; +#X connect 13 0 4 0; diff --git a/doc/tutorials/intro/ordering_messages.pd b/doc/tutorials/intro/ordering_messages.pd deleted file mode 100644 index b7d454db..00000000 --- a/doc/tutorials/intro/ordering_messages.pd +++ /dev/null @@ -1,42 +0,0 @@ -#N canvas 542 117 623 439 12; -#X obj -60 8 cnv 15 400 40 empty empty ordering_messages 20 12 0 24 --228992 -66577 0; -#X msg 395 249 now; -#X msg 316 250 this; -#X msg 237 250 makes; -#X msg 158 250 sense; -#X msg 80 250 !; -#X msg 276 391 sense now this; -#X obj 157 292 symbol; -#X msg 159 151 bang; -#X msg -27 177 bang; -#X msg 157 316 add2 \$1; -#X msg 478 248 set; -#X obj 160 178 trigger bang bang bang bang bang bang; -#X text -18 393 look here for the result -->; -#X text -50 62 Officially \, the execution order in Pd is undefined. -; -#X text -50 88 The [trigger] object allows you to specify the order -of messages are sent. If you need to make sure that one thing runs -before another \, use [trigger]:; -#X connect 1 0 7 0; -#X connect 2 0 7 0; -#X connect 3 0 7 0; -#X connect 4 0 7 0; -#X connect 5 0 7 0; -#X connect 7 0 10 0; -#X connect 8 0 12 0; -#X connect 9 0 3 0; -#X connect 9 0 5 0; -#X connect 9 0 11 0; -#X connect 9 0 4 0; -#X connect 9 0 1 0; -#X connect 9 0 2 0; -#X connect 10 0 6 0; -#X connect 11 0 6 0; -#X connect 12 0 5 0; -#X connect 12 1 4 0; -#X connect 12 2 3 0; -#X connect 12 3 2 0; -#X connect 12 4 1 0; -#X connect 12 5 11 0; diff --git a/doc/tutorials/intro/outlet_order.pd b/doc/tutorials/intro/outlet_order.pd deleted file mode 100644 index d13b1d40..00000000 --- a/doc/tutorials/intro/outlet_order.pd +++ /dev/null @@ -1,21 +0,0 @@ -#N canvas 298 70 628 444 12; -#X text 198 212 <-- click here \,; -#X obj 128 251 unpack float float float; -#X obj 8 10 cnv 15 400 40 empty empty outlet_order 20 12 0 24 -228992 --66577 0; -#X msg 128 212 3 2 1; -#X obj 105 293 print último; -#X obj 392 293 print first; -#X obj 244 293 print nächste; -#X text 18 363 There are occasional exceptions where it makes sense -to break this convention. But you shouldn't do it unless it really -is necessary. This will save you in the long run.; -#X text 15 68 While there is nothing forcing you to output data to -the outlets in any order \, Pd has a very strong convention for how -data should be output from an object.; -#X text 14 130 Just like the flow of programming in Pd \, the data -should be output from right to left:; -#X connect 1 0 4 0; -#X connect 1 1 6 0; -#X connect 1 2 5 0; -#X connect 3 0 1 0; diff --git a/doc/tutorials/intro/pure_data_files.pd b/doc/tutorials/intro/pure_data_files.pd new file mode 100644 index 00000000..f6a0d832 --- /dev/null +++ b/doc/tutorials/intro/pure_data_files.pd @@ -0,0 +1,54 @@ +#N canvas 615 56 580 543 10; +#X obj 191 249 textfile; +#X obj 111 279 print all; +#X msg 100 223 bang; +#X msg 191 213 rewind; +#X obj 131 347 route canvas; +#X obj 112 474 print width; +#X obj 51 425 print Xpos; +#X obj 81 450 print Ypos; +#X obj 143 499 print heigth; +#X obj 174 424 print fontsize; +#X obj 51 394 unpack f f f f f; +#X obj 295 427 s pd-clone; +#X obj 191 274 route #N #X; +#X obj 234 106 tgl 20 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 +; +#X msg 294 338 vis 1 \, clear; +#X obj 142 174 + 1; +#X obj 100 174 float; +#X obj 272 152 select 1; +#X obj 98 150 metro 300; +#X text 35 54 Even .pd files use the same message format.; +#X text 34 75 Here is a patch that reads the file of this patch and +sends it to the "clone" subpatch \, making a clone:; +#X obj 8 10 cnv 15 400 40 empty empty pure_data_files 20 12 0 24 -228992 +-66577 0; +#X obj 100 198 moses 52; +#X msg 317 214 read 22.pure_data_files.pd; +#N canvas 0 22 548 599 clone 0; +#X restore 428 494 pd clone; +#X connect 0 0 1 0; +#X connect 0 0 12 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 4 0 10 0; +#X connect 10 0 6 0; +#X connect 10 1 7 0; +#X connect 10 2 5 0; +#X connect 10 3 8 0; +#X connect 10 4 9 0; +#X connect 12 0 4 0; +#X connect 12 1 11 0; +#X connect 13 0 17 0; +#X connect 13 0 18 0; +#X connect 14 0 11 0; +#X connect 15 0 16 1; +#X connect 16 0 15 0; +#X connect 16 0 22 0; +#X connect 17 0 23 0; +#X connect 17 0 3 0; +#X connect 17 0 14 0; +#X connect 18 0 16 0; +#X connect 22 0 2 0; +#X connect 23 0 0 0; diff --git a/doc/tutorials/intro/right_to_left_order.pd b/doc/tutorials/intro/right_to_left_order.pd deleted file mode 100644 index bd2522f2..00000000 --- a/doc/tutorials/intro/right_to_left_order.pd +++ /dev/null @@ -1,17 +0,0 @@ -#N canvas 298 70 636 452 12; -#X text 196 193 <-- click here \,; -#X obj 126 242 unpack float float float; -#X obj 8 10 cnv 15 400 40 empty empty right_to_left_order 20 12 0 24 --228992 -66577 0; -#X msg 126 193 3 2 1; -#X text 14 94 Objects in Pd output there data in right-to-left order. -In general \, the flow of data is from top to bottom \, from right -to left.; -#X text 100 356 now look in the Pd window for the output; -#X obj 227 306 print nächste; -#X obj 87 307 print último; -#X obj 378 306 print first; -#X connect 1 0 7 0; -#X connect 1 1 6 0; -#X connect 1 2 8 0; -#X connect 3 0 1 0; diff --git a/doc/tutorials/intro/selectors.pd b/doc/tutorials/intro/selectors.pd deleted file mode 100644 index 363971df..00000000 --- a/doc/tutorials/intro/selectors.pd +++ /dev/null @@ -1,29 +0,0 @@ -#N canvas 231 101 638 461 12; -#X obj 8 -33 cnv 15 400 40 empty empty selectors 20 12 0 24 -228992 --66577 0; -#N canvas 328 337 454 304 object 0; -#X obj 79 36 inlet; -#X obj 86 270 outlet; -#X obj 308 267 outlet; -#X obj 71 131 route output-left output-right; -#X connect 0 0 3 0; -#X connect 3 0 1 0; -#X connect 3 1 2 0; -#X restore 157 211 pd object; -#X floatatom 157 264 5 0 0 0 - - -; -#X floatatom 242 264 5 0 0 0 - - -; -#X msg 189 165 output-right 309; -#X msg 156 115 output-left 8675; -#X text 9 24 Every message has a selector. The selector is the first -element in the message. It tells the object which receives that message -what to do with it. A selector is basically like a command or a function. -; -#X text 23 304 Here's the technical definition:; -#X text 23 335 The selector is a symbolic atom \, which is a non-numeric -string with no white space \, semicolons \, or commas. In the case -of messages whose first element is a numeric atom \, the selector is -implied.; -#X connect 1 0 2 0; -#X connect 1 1 3 0; -#X connect 4 0 1 0; -#X connect 5 0 1 0; diff --git a/doc/tutorials/intro/send_messages_to_pd.pd b/doc/tutorials/intro/send_messages_to_pd.pd new file mode 100644 index 00000000..f0961a6e --- /dev/null +++ b/doc/tutorials/intro/send_messages_to_pd.pd @@ -0,0 +1,26 @@ +#N canvas 476 37 655 592 12; +#X msg 134 485 menuclose; +#X obj 46 550 s pd-mon-nouveau-patch.pd; +#X obj 22 216 cnv 15 5 5 empty empty 1 5 0 0 20 -262144 -258699 0; +#X obj 23 290 cnv 15 5 5 empty empty 2 5 0 0 20 -262144 -258699 0; +#X obj 20 342 cnv 15 5 5 empty empty 3 5 0 0 20 -262144 -258699 0; +#X msg 60 185 \; pd filename mon-nouveau-patch.pd /tmp \; #N canvas +\; #X pop 1 \;; +#X text 13 149 Click these messages starting from the top:; +#X msg 76 331 symbolatom 20 100 0 0 0 0; +#X msg 92 379 connect 0 0 1 0; +#X msg 60 279 msg 20 27 symbol Hello_World!; +#X text 131 426 click on [symbol Hello_World!( in the new window; +#X text 243 484 now close the new window; +#X obj 20 389 cnv 15 5 5 empty empty 4 5 0 0 20 -262144 -258699 0; +#X obj 19 440 cnv 15 5 5 empty empty 5 5 0 0 20 -262144 -258699 0; +#X obj 18 495 cnv 15 5 5 empty empty 6 5 0 0 20 -262144 -258699 0; +#X obj 8 10 cnv 15 400 40 empty empty send_messages_to_pd 20 12 0 24 +-228992 -66577 0; +#X text 11 75 Keeping true to the name "Pure Data" \, you can send +messages to Pd itself. All messages are in the same format \, whether +its in your patch \, or it's Pd's GUI talking to the Pd core.; +#X connect 0 0 1 0; +#X connect 7 0 1 0; +#X connect 8 0 1 0; +#X connect 9 0 1 0; diff --git a/doc/tutorials/intro/shell_sketch.pd b/doc/tutorials/intro/shell_sketch.pd new file mode 100644 index 00000000..31cffaa6 --- /dev/null +++ b/doc/tutorials/intro/shell_sketch.pd @@ -0,0 +1,16 @@ +#N canvas 369 214 524 457 10; +#X obj 92 138 soundfiler; +#X obj 228 139 getdir; +#X obj 168 319 shell; +#X obj 169 373 print; +#X obj 233 98 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 191 253 t a a; +#X obj 225 275 print; +#X msg 169 220 ls -1 "$1"; +#X connect 1 0 7 0; +#X connect 2 0 3 0; +#X connect 4 0 1 0; +#X connect 5 0 2 0; +#X connect 5 1 6 0; +#X connect 7 0 5 0; diff --git a/doc/tutorials/intro/trigger_conversion.pd b/doc/tutorials/intro/trigger_conversion.pd index 3a183963..2f610ff5 100644 --- a/doc/tutorials/intro/trigger_conversion.pd +++ b/doc/tutorials/intro/trigger_conversion.pd @@ -1,28 +1,29 @@ -#N canvas 227 116 643 459 12; -#X obj -32 7 cnv 15 400 40 empty empty trigger_conversion 20 12 0 24 +#N canvas 227 116 647 463 12; +#X obj 10 10 cnv 15 400 40 empty empty trigger_conversion 20 12 0 24 -228992 -66577 0; #X obj 126 187 trigger anything float bang; -#X text -21 80 [trigger] can also do conversions in addition to ordering. -The keyword "anything" tells [trigger] to do no conversion.; #X msg 125 142 float 45.234; -#X floatatom 128 213 5 0 0 0 - - -; -#X floatatom 263 212 5 0 0 0 - - -; -#X obj 404 211 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X floatatom 126 223 5 0 0 0 - - -; +#X floatatom 258 222 5 0 0 0 - - -; +#X obj 391 221 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; -#X msg 10 296 12 45 blah; -#X msg 131 295 blah; -#X msg 189 296 123; -#X msg 233 295 symbol test; -#X obj 128 368 print bang; -#X obj 128 342 trigger bang anything; -#X obj 333 368 print anything; -#X connect 1 0 4 0; -#X connect 1 1 5 0; -#X connect 1 2 6 0; -#X connect 3 0 1 0; -#X connect 7 0 12 0; -#X connect 8 0 12 0; -#X connect 9 0 12 0; -#X connect 10 0 12 0; -#X connect 12 0 11 0; -#X connect 12 1 13 0; +#X msg 42 298 12 45 blah; +#X msg 163 297 blah; +#X msg 221 298 123; +#X msg 265 297 symbol test; +#X obj 160 370 print bang; +#X obj 160 344 trigger bang anything; +#X obj 365 370 print anything; +#X text 10 80 [trigger] can also do limited conversions in addition +to ordering. The keyword "anything" tells [trigger] to do no conversion. +; +#X connect 1 0 3 0; +#X connect 1 1 4 0; +#X connect 1 2 5 0; +#X connect 2 0 1 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 11 0 10 0; +#X connect 11 1 12 0; -- cgit v1.2.1