From 19ff830fa9aa293e67b5f7b547bb6d8c34982857 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Sun, 7 May 2006 22:50:38 +0000 Subject: files created for the walcheturm workshop in Zurich svn path=/trunk/; revision=5058 --- doc/tutorials/intro/26.creation_arguments.pd | 59 ++ doc/tutorials/intro/31.guis.pd | 813 +++++++++++++++++++++ .../intro/32.EXERCISE-make_a_gui_object_dynamic.pd | 5 + doc/tutorials/intro/33.selecting_events.pd | 54 ++ doc/tutorials/intro/34.comparing_numbers.pd | 55 ++ doc/tutorials/intro/35.math.pd | 258 +++++++ doc/tutorials/intro/36.init_to_0.pd | 39 + doc/tutorials/intro/37.math_expr.pd | 32 + doc/tutorials/intro/38.EXERCISE-help_americans.pd | 6 + doc/tutorials/intro/39.building_lists.pd | 31 + doc/tutorials/intro/40.using_lists.pd | 17 + doc/tutorials/intro/41.sorting_messages_by_type.pd | 49 ++ doc/tutorials/intro/42.trigger_conversion.pd | 29 + doc/tutorials/intro/43.grabbing_keystrokes.pd | 61 ++ doc/tutorials/intro/44.multiple_messages.pd | 18 + doc/tutorials/intro/45.send_messages_to_pd.pd | 26 + doc/tutorials/intro/46.pure_data_files.pd | 54 ++ doc/tutorials/intro/Attic/grabbing_keystrokes.pd | 61 -- doc/tutorials/intro/Attic/math.pd | 434 ----------- .../intro/Attic/sorting_messages_by_type.pd | 49 -- doc/tutorials/intro/Attic/trigger_conversion.pd | 29 - doc/tutorials/intro/TEMPLATE.pd | 2 +- doc/tutorials/networking/08.wildcard_messages.pd | 43 ++ doc/tutorials/networking/09.chat-server.pd | 14 + doc/tutorials/networking/10.chat_client.pd | 66 ++ doc/tutorials/networking/11.chat_exercise.pd | 25 + doc/tutorials/networking/Attic/chat-client.pd | 66 -- doc/tutorials/networking/Attic/chat-server.pd | 14 - doc/tutorials/playnow/voice-am.pd | 91 +-- doc/tutorials/sound/01.hello_world.pd | 29 +- doc/tutorials/sound/02.audio_data.pd | 3 +- doc/tutorials/sound/02.make_some_noise.pd | 15 + .../sound/building_waveforms_with_sines.pd | 4 +- doc/tutorials/visual/03.gemwin_control.pd | 2 +- doc/tutorials/visual/04.render_chains.pd | 2 +- doc/tutorials/visual/05.basic_2d_objects.pd | 2 +- doc/tutorials/visual/06.lighting.pd | 6 +- doc/tutorials/visual/07.basic_3d_objects.pd | 32 +- doc/tutorials/visual/08.manipulations.pd | 105 ++- doc/tutorials/visual/09.gem_units.pd | 2 +- .../visual/10.Exercise-make_your_object.pd | 8 + doc/tutorials/visual/11.images.pd | 31 + doc/tutorials/visual/12.texturing.pd | 22 + doc/tutorials/visual/13.movies.pd | 43 ++ doc/tutorials/visual/14.live_video.pd | 46 ++ doc/tutorials/visual/15.pixel_processing.pd | 44 ++ doc/tutorials/visual/16.Exercise-pix_effects.pd | 7 + doc/tutorials/visual/17.tracking.pd | 140 ++++ doc/tutorials/visual/Attic/10.exercise.pd | 8 - doc/tutorials/visual/TEMPLATE.pd | 2 +- 50 files changed, 2299 insertions(+), 754 deletions(-) create mode 100644 doc/tutorials/intro/26.creation_arguments.pd create mode 100644 doc/tutorials/intro/31.guis.pd create mode 100644 doc/tutorials/intro/32.EXERCISE-make_a_gui_object_dynamic.pd create mode 100644 doc/tutorials/intro/33.selecting_events.pd create mode 100644 doc/tutorials/intro/34.comparing_numbers.pd create mode 100644 doc/tutorials/intro/35.math.pd create mode 100644 doc/tutorials/intro/36.init_to_0.pd create mode 100644 doc/tutorials/intro/37.math_expr.pd create mode 100644 doc/tutorials/intro/38.EXERCISE-help_americans.pd create mode 100644 doc/tutorials/intro/39.building_lists.pd create mode 100644 doc/tutorials/intro/40.using_lists.pd create mode 100644 doc/tutorials/intro/41.sorting_messages_by_type.pd create mode 100644 doc/tutorials/intro/42.trigger_conversion.pd create mode 100644 doc/tutorials/intro/43.grabbing_keystrokes.pd create mode 100644 doc/tutorials/intro/44.multiple_messages.pd create mode 100644 doc/tutorials/intro/45.send_messages_to_pd.pd create mode 100644 doc/tutorials/intro/46.pure_data_files.pd delete mode 100644 doc/tutorials/intro/Attic/grabbing_keystrokes.pd delete mode 100644 doc/tutorials/intro/Attic/math.pd delete mode 100644 doc/tutorials/intro/Attic/sorting_messages_by_type.pd delete mode 100644 doc/tutorials/intro/Attic/trigger_conversion.pd create mode 100644 doc/tutorials/networking/08.wildcard_messages.pd create mode 100644 doc/tutorials/networking/09.chat-server.pd create mode 100644 doc/tutorials/networking/10.chat_client.pd create mode 100644 doc/tutorials/networking/11.chat_exercise.pd delete mode 100644 doc/tutorials/networking/Attic/chat-client.pd delete mode 100644 doc/tutorials/networking/Attic/chat-server.pd create mode 100644 doc/tutorials/sound/02.make_some_noise.pd create mode 100644 doc/tutorials/visual/10.Exercise-make_your_object.pd create mode 100644 doc/tutorials/visual/11.images.pd create mode 100644 doc/tutorials/visual/12.texturing.pd create mode 100644 doc/tutorials/visual/13.movies.pd create mode 100644 doc/tutorials/visual/14.live_video.pd create mode 100644 doc/tutorials/visual/15.pixel_processing.pd create mode 100644 doc/tutorials/visual/16.Exercise-pix_effects.pd create mode 100644 doc/tutorials/visual/17.tracking.pd delete mode 100644 doc/tutorials/visual/Attic/10.exercise.pd diff --git a/doc/tutorials/intro/26.creation_arguments.pd b/doc/tutorials/intro/26.creation_arguments.pd new file mode 100644 index 00000000..eb26924d --- /dev/null +++ b/doc/tutorials/intro/26.creation_arguments.pd @@ -0,0 +1,59 @@ +#N canvas 224 22 443 587 10; +#X text 10 4 arguments; +#X obj 158 68 float; +#X text 11 25 Many objects can accept "arguments" to define their behavior. +Here is a plain [float] object:; +#X text 14 98 Here is a [float] object with an argument of "5.5":; +#X obj 156 129 float 5.5; +#X obj 166 229 float 5.5; +#X obj 166 211 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 166 250 5 0 0 0 - - -; +#X text 13 160 Here \, the argument of "5.5" makes this [float] store +the value 5.5 by default. Clicking the bang makes [float] output the +value that it is currently storing:; +#X floatatom 173 519 5 0 0 0 - - -; +#X symbolatom 221 518 10 0 0 0 - - -; +#X obj 126 539 bng 15 250 50 0 empty empty bang -6 23 1 12 -262144 +-1 -1; +#X obj 126 495 route bang float symbol list; +#X obj 173 539 bng 15 250 50 0 empty empty float -4 23 1 12 -262144 +-1 -1; +#X obj 221 539 bng 15 250 50 0 empty empty symbol -12 23 1 12 -262144 +-1 -1; +#X obj 269 539 bng 15 250 50 0 empty empty list -2 23 1 12 -262144 +-1 -1; +#X msg 64 463 bang; +#X msg 105 463 5; +#X msg 141 463 symbol word; +#X msg 232 463 list one two three; +#X text 12 411 Some objects can accept many arguments at the same time. +For example \, you need to tell [route] what kind of data you want +\, and it will sort it based on the data type:; +#X obj 152 352 select 5; +#X floatatom 204 373 5 0 0 1 everything_else - -; +#X obj 153 373 bng 15 250 50 0 empty empty matched -52 9 0 12 -262144 +-1 -1; +#X msg 151 329 5; +#X msg 120 329 3; +#X msg 183 329 7; +#X text 12 276 Some objects need to have some arguments in order to +do anything useful. For example \, you can tell [select] which number +to look for with an argument:; +#X connect 5 0 7 0; +#X connect 6 0 5 0; +#X connect 9 0 13 0; +#X connect 10 0 14 0; +#X connect 12 0 11 0; +#X connect 12 1 9 0; +#X connect 12 2 10 0; +#X connect 12 3 15 0; +#X connect 16 0 12 0; +#X connect 17 0 12 0; +#X connect 18 0 12 0; +#X connect 19 0 12 0; +#X connect 21 0 23 0; +#X connect 21 1 22 0; +#X connect 24 0 21 0; +#X connect 25 0 21 0; +#X connect 26 0 21 0; diff --git a/doc/tutorials/intro/31.guis.pd b/doc/tutorials/intro/31.guis.pd new file mode 100644 index 00000000..fc2f5aa9 --- /dev/null +++ b/doc/tutorials/intro/31.guis.pd @@ -0,0 +1,813 @@ +#N canvas 10 40 624 464 10; +#X obj -4 -4 cnv 15 620 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 10 40 620 460 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 1 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 10 40 620 460 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 10 40 620 460 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 10 40 620 460 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 10 40 620 460 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 10 40 620 460 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 10 40 620 460 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 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 10 40 620 460 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 10 40 620 460 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 10 40 620 460 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 10 40 620 460 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+07 (-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 10 40 620 460 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 10 40 620 460 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 10 40 620 460 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/32.EXERCISE-make_a_gui_object_dynamic.pd b/doc/tutorials/intro/32.EXERCISE-make_a_gui_object_dynamic.pd new file mode 100644 index 00000000..4cb45054 --- /dev/null +++ b/doc/tutorials/intro/32.EXERCISE-make_a_gui_object_dynamic.pd @@ -0,0 +1,5 @@ +#N canvas 333 243 690 486 12; +#X obj 11 10 cnv 15 600 40 empty empty EXERCISE-make_a_gui_object_dynamic +20 12 0 24 -262131 -66577 0; +#X text 26 60 Take any gui object \, and make it change and/or move +according to your program.; diff --git a/doc/tutorials/intro/33.selecting_events.pd b/doc/tutorials/intro/33.selecting_events.pd new file mode 100644 index 00000000..fc60c94c --- /dev/null +++ b/doc/tutorials/intro/33.selecting_events.pd @@ -0,0 +1,54 @@ +#N canvas 10 40 636 461 12; +#X obj 10 10 cnv 15 400 40 empty empty selecting_events 20 12 0 24 +-228992 -66577 0; +#X floatatom 328 112 5 0 0 0 - - -; +#X obj 328 170 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 358 171 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 328 145 select 2 3 4 5 6 10; +#X obj 389 171 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 420 171 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 451 171 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 482 171 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 513 171 5 0 0 0 - - -; +#X obj 185 342 print NO_match; +#X obj 58 341 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 89 342 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 121 342 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 153 342 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 61 125 symbol dog; +#X msg 66 144 symbol cat; +#X msg 74 162 symbol foo; +#X msg 81 182 symbol earth; +#X msg 90 201 symbol 400; +#X obj 58 315 select dog cat foo 400; +#X msg 86 251 400; +#X text 97 297 FIRST CREATION ARGUMENT IS A SYMBOL; +#X connect 1 0 4 0; +#X connect 4 0 2 0; +#X connect 4 1 3 0; +#X connect 4 2 5 0; +#X connect 4 3 6 0; +#X connect 4 4 7 0; +#X connect 4 5 8 0; +#X connect 4 6 9 0; +#X connect 15 0 20 0; +#X connect 16 0 20 0; +#X connect 17 0 20 0; +#X connect 18 0 20 0; +#X connect 19 0 20 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 13 0; +#X connect 20 3 14 0; +#X connect 20 4 10 0; +#X connect 21 0 20 0; diff --git a/doc/tutorials/intro/34.comparing_numbers.pd b/doc/tutorials/intro/34.comparing_numbers.pd new file mode 100644 index 00000000..3f6ffb7d --- /dev/null +++ b/doc/tutorials/intro/34.comparing_numbers.pd @@ -0,0 +1,55 @@ +#N canvas 411 149 628 453 12; +#X obj 10 10 cnv 15 400 40 empty empty comparing_numbers 20 12 0 24 +-228992 -66577 0; +#X floatatom 24 160 5 0 0 0 - - -; +#X msg 24 113 7; +#X floatatom 97 160 5 0 0 0 - - -; +#X msg 97 113 4; +#X obj 97 137 == 4; +#X floatatom 165 160 5 0 0 0 - - -; +#X msg 165 113 20; +#X floatatom 234 160 5 0 0 0 - - -; +#X msg 234 113 20; +#X obj 234 137 != 10; +#X obj 24 137 > 1; +#X obj 165 137 >= 8; +#X floatatom 107 212 5 0 0 0 - - -; +#X obj 15 245 == 5; +#X obj 82 245 != 5; +#X obj 147 245 > 5; +#X obj 209 245 < 5; +#X floatatom 15 272 5 0 0 0 - - -; +#X floatatom 82 272 5 0 0 0 - - -; +#X floatatom 147 272 5 0 0 0 - - -; +#X floatatom 209 273 5 0 0 0 - - -; +#X msg 496 115 3; +#X floatatom 441 116 5 0 0 0 - - -; +#X floatatom 496 164 5 0 0 0 - - -; +#X obj 496 140 > 1; +#X obj 441 142 < 5; +#X floatatom 441 165 5 0 0 0 - - -; +#X obj 463 191 &&; +#X floatatom 463 213 5 0 0 0 - - -; +#X connect 2 0 11 0; +#X connect 4 0 5 0; +#X connect 5 0 3 0; +#X connect 7 0 12 0; +#X connect 9 0 10 0; +#X connect 10 0 8 0; +#X connect 11 0 1 0; +#X connect 12 0 6 0; +#X connect 13 0 14 0; +#X connect 13 0 15 0; +#X connect 13 0 16 0; +#X connect 13 0 17 0; +#X connect 14 0 18 0; +#X connect 15 0 19 0; +#X connect 16 0 20 0; +#X connect 17 0 21 0; +#X connect 22 0 25 0; +#X connect 23 0 26 0; +#X connect 24 0 28 1; +#X connect 25 0 24 0; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X connect 28 0 29 0; diff --git a/doc/tutorials/intro/35.math.pd b/doc/tutorials/intro/35.math.pd new file mode 100644 index 00000000..8ec1b4a6 --- /dev/null +++ b/doc/tutorials/intro/35.math.pd @@ -0,0 +1,258 @@ +#N canvas 23 29 928 571 10; +#X obj 637 350 +~; +#X obj 641 499 trigger; +#X text 25 8 ARITHMETIC; +#X text 30 29 Pd's arithmetic objects include:; +#X obj 231 30 +; +#X obj 256 30 -; +#X obj 282 30 *; +#X obj 308 30 /; +#X obj 334 30 pow; +#X obj 359 30 max; +#X obj 385 30 min; +#X obj 54 189 +; +#X floatatom 54 118 0 0 0 0 - - -; +#X floatatom 54 210 0 0 0 0 - - -; +#X floatatom 67 141 0 0 0 0 - - -; +#X msg 85 167 bang; +#X text 120 168 Bang outputs sum; +#X text 92 117 Numbers in left inlet add and output sum; +#X text 109 140 Numbers in right inlet only change the inlet's value +; +#X text 29 74 The example below performs basic addition with two numbers: +i.e. a + b = c; +#X text 34 263 The example below incorporates a creation argument: +i.e. a + 42 = b; +#X floatatom 34 295 0 0 0 0 - - -; +#X floatatom 34 338 0 0 0 0 - - -; +#X obj 34 317 + 42; +#N canvas 38 134 641 245 basic_examples 0; +#X obj 44 129 +; +#X obj 113 129 -; +#X obj 179 129 *; +#X obj 244 129 /; +#X obj 316 129 pow; +#X obj 394 129 max; +#X obj 482 129 min; +#X floatatom 44 32 5 0 0 0 - - -; +#X floatatom 44 150 0 0 0 0 - - -; +#X floatatom 113 149 0 0 0 0 - - -; +#X floatatom 179 149 0 0 0 0 - - -; +#X floatatom 244 149 0 0 0 0 - - -; +#X floatatom 316 149 0 0 0 0 - - -; +#X floatatom 394 150 0 0 0 0 - - -; +#X floatatom 482 149 0 0 0 0 - - -; +#X floatatom 495 32 5 0 0 0 - - -; +#X msg 360 32 bang; +#X connect 0 0 8 0; +#X connect 1 0 9 0; +#X connect 2 0 10 0; +#X connect 3 0 11 0; +#X connect 4 0 12 0; +#X connect 5 0 13 0; +#X connect 6 0 14 0; +#X connect 7 0 0 0; +#X connect 7 0 1 0; +#X connect 7 0 2 0; +#X connect 7 0 3 0; +#X connect 7 0 4 0; +#X connect 7 0 5 0; +#X connect 7 0 6 0; +#X connect 15 0 6 1; +#X connect 15 0 5 1; +#X connect 15 0 4 1; +#X connect 15 0 3 1; +#X connect 15 0 2 1; +#X connect 15 0 1 1; +#X connect 15 0 0 1; +#X connect 16 0 0 0; +#X connect 16 0 1 0; +#X connect 16 0 2 0; +#X connect 16 0 3 0; +#X connect 16 0 4 0; +#X connect 16 0 5 0; +#X connect 16 0 6 0; +#X restore 33 521 pd basic_examples; +#X text 32 422 However \, [pow] \, [max] \, and [min] objects may need +some explanation.; +#N canvas 0 22 456 306 understanding_POW 0; +#X text 12 25 [POW]; +#X obj 17 66 pow 2; +#X floatatom 17 86 2 0 0 0 - - -; +#X msg 17 46 2; +#X text 61 115 - it is important to note that [pow] only works with +NON-negative mantissas. That is to say that negative floating point +fractions will be ignored.; +#X obj 18 153 pow 2; +#X floatatom 18 173 2 0 0 0 - - -; +#X msg 13 111 -2; +#X msg 24 132 -1.5; +#X text 65 202 - however \, [pow] is capable of computing negative +exponents!; +#X floatatom 19 201 0 0 0 0 - - -; +#X obj 19 221 pow -2; +#X floatatom 19 242 0 0 0 0 - - -; +#X text 57 39 - this object is used to exponentiate a number. The object +returns the value at the left inlet to the power of the right inlet +where the left inlet is the base and the right inlet is the exponent. +For example: 2 to the power of 2 = 4 (i.e. 2 Squared); +#X connect 1 0 2 0; +#X connect 3 0 1 0; +#X connect 5 0 6 0; +#X connect 7 0 5 0; +#X connect 8 0 5 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X restore 33 456 pd understanding_POW; +#N canvas 0 22 478 345 understanding_MAX_and_MIN 0; +#X text 34 9 [MAX]; +#X obj 32 51 max 10; +#X floatatom 32 29 5 0 0 0 - - -; +#X floatatom 32 76 5 0 0 0 - - -; +#X text 87 26 - [max] returns the greater of the two numbers passed +to its inlets. For example \, if the creation argument (or right inlet) +is equal to 10 \, and you send 9 to the left inlet then the object +will return 10 If you pass it an 11 \, then object returns 11; +#X floatatom 33 116 5 0 0 0 - - -; +#X floatatom 33 163 5 0 0 0 - - -; +#X text 35 96 [MIN]; +#X text 88 113 - [min] returns the lesser of the two numbers passed +to its inlets. For example \, if the creation argument (or right inlet) +is equal to 10 \, and you send 9 to the left inlet then the object +will return 9 If you pass it an 11 \, then object returns 10; +#X obj 33 138 min 10; +#X text 32 185 - It is important to note that [max] and [min] output +a number with every number or "bang" that is sent to the left inlet. +; +#X floatatom 35 234 5 0 0 0 - - -; +#X floatatom 35 282 5 0 0 0 - - -; +#X obj 35 256 min 10; +#X obj 76 281 bng 15 50 10 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 80 232 Move this number box above 10; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 5 0 9 0; +#X connect 9 0 6 0; +#X connect 11 0 13 0; +#X connect 13 0 12 0; +#X connect 13 0 14 0; +#X restore 33 488 pd understanding_MAX_and_MIN; +#X text 469 20 THE SUM OF MANY NUMBERS; +#X msg 600 98 bang; +#X obj 600 150 random 10; +#X obj 662 150 random 10; +#X obj 724 150 random 10; +#X text 628 169 a; +#X text 690 170 b; +#X text 751 169 c; +#X text 631 235 d; +#X floatatom 600 235 0 0 0 0 - - -; +#X obj 600 119 t b b b; +#X obj 600 192 +; +#X obj 600 213 +; +#X floatatom 600 170 0 0 0 0 - - -; +#X floatatom 662 170 0 0 0 0 - - -; +#X floatatom 724 170 0 0 0 0 - - -; +#X text 469 324 RELATED OBJECTS; +#X obj 666 350 -~; +#X obj 695 350 *~; +#X obj 723 350 /~; +#X obj 751 350 max~; +#X obj 781 350 min~; +#X text 540 350 Audio Math; +#X obj 637 374 ==; +#X obj 695 374 >; +#X obj 751 374 <; +#X obj 723 374 >=; +#X obj 781 373 <=; +#X obj 667 374 !=; +#X text 504 375 Relational Tests; +#X text 498 398 Logical Operators; +#X obj 638 398 &; +#X obj 667 398 |; +#X obj 695 398 &&; +#X obj 723 398 ||; +#X obj 751 398 <<; +#X obj 781 398 >>; +#X obj 695 499 expr; +#X obj 637 422 mtof; +#X obj 668 422 ftom; +#X obj 699 422 powtodb; +#X obj 749 422 rmstodb; +#X obj 799 422 dbtopow; +#X obj 849 422 dbtorms; +#X text 445 423 Acoustical Unit Conversion; +#X text 537 450 Higher Math; +#X obj 808 374 mod; +#X obj 835 374 div; +#X obj 641 449 sin; +#X obj 667 449 cos; +#X obj 694 449 tan; +#X obj 721 449 atan; +#X obj 640 473 atan2; +#X obj 731 499 random; +#X obj 678 473 sqrt; +#X obj 709 473 log; +#X obj 735 473 exp; +#X obj 761 473 abs; +#X text 570 499 Other; +#N canvas 181 122 454 304 related_objects_from_other_libraries 0; +#X obj 37 25 vector+; +#X obj 37 45 vector-; +#X obj 37 65 vector*; +#X obj 85 25 vector/; +#X obj 85 45 rgb2hsv; +#X obj 85 65 hsv2rgb; +#X obj 133 25 abs~; +#X obj 133 45 db2v; +#X obj 133 65 v2db; +#X obj 163 25 avg~; +#X obj 164 45 tavg~; +#X obj 164 65 pdf~; +#X obj 201 24 <~; +#X obj 201 45 ==~; +#X obj 201 67 >~; +#X obj 228 25 &&~; +#X obj 228 46 ||~; +#X obj 228 67 matrix~; +#X obj 280 25 mavg; +#X obj 280 46 mean; +#X obj 280 68 divide; +#X obj 323 27 divmod; +#X obj 324 47 minus; +#X obj 324 67 plus; +#X text 29 104 These objects are offered in Pd only if you have downloaded +and properly installed the appropriate library. These objects may or +may not exist in a single library.; +#X text 28 153 The best places to find information about Pd's libraries +is:; +#X text 25 175 www.puredata.org and click on "Downloads" then "Software" +; +#X text 27 190 or; +#X text 27 205 iem.kug.ac.at/pdb/; +#X obj 370 27 q8_rsqrt~; +#X obj 370 51 q8_sqrt~; +#X restore 520 537 pd related_objects_from_other_libraries; +#X obj 778 499 f; +#X obj 806 499 int; +#X obj 809 398 %; +#X obj 754 449 pow; +#X connect 11 0 13 0; +#X connect 12 0 11 0; +#X connect 14 0 11 1; +#X connect 15 0 11 0; +#X connect 21 0 23 0; +#X connect 23 0 22 0; +#X connect 29 0 38 0; +#X connect 30 0 41 0; +#X connect 31 0 42 0; +#X connect 32 0 43 0; +#X connect 38 0 30 0; +#X connect 38 1 31 0; +#X connect 38 2 32 0; +#X connect 39 0 40 0; +#X connect 40 0 37 0; +#X connect 41 0 39 0; +#X connect 42 0 39 1; +#X connect 43 0 40 1; diff --git a/doc/tutorials/intro/36.init_to_0.pd b/doc/tutorials/intro/36.init_to_0.pd new file mode 100644 index 00000000..fdacd49e --- /dev/null +++ b/doc/tutorials/intro/36.init_to_0.pd @@ -0,0 +1,39 @@ +#N canvas 396 67 603 361 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 prepend set; +#X obj 187 259 prepend set; +#X obj 67 259 prepend set; +#X obj 425 259 prepend set; +#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 msg 67 285 0; +#X msg 187 285 0; +#X msg 304 285 0; +#X msg 425 285 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 6 0 17 0; +#X connect 7 0 16 0; +#X connect 8 0 15 0; +#X connect 9 0 18 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/37.math_expr.pd b/doc/tutorials/intro/37.math_expr.pd new file mode 100644 index 00000000..687498b9 --- /dev/null +++ b/doc/tutorials/intro/37.math_expr.pd @@ -0,0 +1,32 @@ +#N canvas 10 40 624 449 12; +#X obj 304 137 cnv 15 80 25 empty empty empty 20 12 0 14 -261681 -66577 +0; +#X obj 192 137 cnv 15 80 25 empty empty empty 20 12 0 14 -261681 -66577 +0; +#X obj 10 10 cnv 15 400 40 empty empty math_expr 20 12 0 24 -228992 +-66577 0; +#X text 204 114 sqrt(x^2 + y^2); +#X obj 106 274 +; +#X obj 106 316 sqrt; +#X floatatom 106 373 7 0 0 0 - - -; +#X obj 79 230 pow 2; +#X obj 141 230 pow 2; +#X floatatom 321 141 5 0 0 0 y - -; +#X floatatom 208 141 5 0 0 0 x - -; +#X obj 238 290 expr sqrt(pow($f1 \, 2) + pow($f2 \, 2)); +#X floatatom 237 373 7 0 0 0 - - -; +#X obj 321 176 trigger bang float; +#X text 11 57 The [expr] object allows you to write out formulas in +the standard style of many programming languages.; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 7 0 4 0; +#X connect 8 0 4 1; +#X connect 9 0 13 0; +#X connect 10 0 7 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 13 0 7 0; +#X connect 13 0 11 0; +#X connect 13 1 11 1; +#X connect 13 1 8 0; diff --git a/doc/tutorials/intro/38.EXERCISE-help_americans.pd b/doc/tutorials/intro/38.EXERCISE-help_americans.pd new file mode 100644 index 00000000..d863e229 --- /dev/null +++ b/doc/tutorials/intro/38.EXERCISE-help_americans.pd @@ -0,0 +1,6 @@ +#N canvas 354 158 694 490 12; +#X obj 11 10 cnv 15 600 40 empty empty EXERCISE-help_americans 20 12 +0 24 -262131 -66577 0; +#X text 33 64 Help the poor Americans to understand Celsius. The formula +is C = (5/9)*(F-32). Try not to use [expr] \, but instead use individual +Pd objects for each math operation.; diff --git a/doc/tutorials/intro/39.building_lists.pd b/doc/tutorials/intro/39.building_lists.pd new file mode 100644 index 00000000..0840fe7e --- /dev/null +++ b/doc/tutorials/intro/39.building_lists.pd @@ -0,0 +1,31 @@ +#N canvas 18 89 632 457 12; +#X obj 10 10 cnv 15 400 40 empty empty building_lists 20 12 0 24 -228992 +-66577 0; +#X obj 117 350 pack float float float; +#X msg 117 381 \$3 \$1 \$2; +#X floatatom 117 324 5 0 0 0 - - -; +#X floatatom 224 325 5 0 0 0 - - -; +#X floatatom 332 326 5 0 0 0 - - -; +#X text 24 295 You can use arguments to reorder elements:; +#X obj 19 59 bng 20 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1 +; +#X floatatom 234 108 5 0 0 0 - - -; +#X floatatom 126 108 5 0 0 0 - - -; +#X floatatom 19 108 5 0 0 0 - - -; +#X obj 19 82 trigger bang bang bang; +#X obj 19 132 pack float float float; +#X obj 19 165 print; +#X obj 117 411 print; +#X connect 1 0 2 0; +#X connect 2 0 14 0; +#X connect 3 0 1 0; +#X connect 4 0 1 1; +#X connect 5 0 1 2; +#X connect 7 0 11 0; +#X connect 8 0 12 2; +#X connect 9 0 12 1; +#X connect 10 0 12 0; +#X connect 11 0 10 0; +#X connect 11 1 9 0; +#X connect 11 2 8 0; +#X connect 12 0 13 0; diff --git a/doc/tutorials/intro/40.using_lists.pd b/doc/tutorials/intro/40.using_lists.pd new file mode 100644 index 00000000..4f40ff58 --- /dev/null +++ b/doc/tutorials/intro/40.using_lists.pd @@ -0,0 +1,17 @@ +#N canvas 10 40 624 449 12; +#X obj 10 10 cnv 15 400 40 empty empty using_lists 20 12 0 24 -228992 +-66577 0; +#X msg 49 113 300 240 1; +#X floatatom 49 187 5 0 0 0 - - -; +#X floatatom 166 187 5 0 0 0 - - -; +#X floatatom 284 187 5 0 0 0 - - -; +#X obj 49 148 unpack float float float; +#X msg 52 281 1 1; +#X obj 52 308 +; +#X floatatom 52 338 5 0 0 0 - - -; +#X connect 1 0 5 0; +#X connect 5 0 2 0; +#X connect 5 1 3 0; +#X connect 5 2 4 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; diff --git a/doc/tutorials/intro/41.sorting_messages_by_type.pd b/doc/tutorials/intro/41.sorting_messages_by_type.pd new file mode 100644 index 00000000..65f633be --- /dev/null +++ b/doc/tutorials/intro/41.sorting_messages_by_type.pd @@ -0,0 +1,49 @@ +#N canvas 44 68 635 451 12; +#X obj 10 10 cnv 15 400 40 empty empty sorting_messages_by_type 20 +12 0 24 -228992 -66577 0; +#X floatatom 282 359 5 0 0 0 - - -; +#X symbolatom 351 358 10 0 0 0 - - -; +#X obj 214 379 bng 15 250 50 0 empty empty bang -6 23 1 12 -262144 +-1 -1; +#X obj 214 335 route bang float symbol list; +#X obj 282 379 bng 15 250 50 0 empty empty float -4 23 1 12 -262144 +-1 -1; +#X obj 351 379 bng 15 250 50 0 empty empty symbol -12 23 1 12 -262144 +-1 -1; +#X obj 420 379 bng 15 250 50 0 empty empty list -2 23 1 12 -262144 +-1 -1; +#X obj 489 379 bng 15 250 50 0 empty empty selector_series -18 23 1 +12 -262144 -1 -1; +#X msg 40 172 bang; +#X msg 128 183 642.3; +#X msg 214 159 symbol moshimoshi; +#X msg 214 183 symbol sayonara; +#X obj 40 197 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 411 171 1 2 3; +#X msg 411 194 5 for free!; +#X msg 411 218 list here we go...; +#X msg 423 251 not a list? nope...; +#X msg 105 159 float 5; +#X text 10 63 When processing messages \, some operations should only +be applied to messages of a certain type. [route] allows you to sort +messages by type:; +#X msg 423 276 selector data data; +#X connect 1 0 5 0; +#X connect 2 0 6 0; +#X connect 4 0 3 0; +#X connect 4 1 1 0; +#X connect 4 2 2 0; +#X connect 4 3 7 0; +#X connect 4 4 8 0; +#X connect 9 0 4 0; +#X connect 10 0 4 0; +#X connect 11 0 4 0; +#X connect 12 0 4 0; +#X connect 13 0 4 0; +#X connect 14 0 4 0; +#X connect 15 0 4 0; +#X connect 16 0 4 0; +#X connect 17 0 4 0; +#X connect 18 0 4 0; +#X connect 20 0 4 0; diff --git a/doc/tutorials/intro/42.trigger_conversion.pd b/doc/tutorials/intro/42.trigger_conversion.pd new file mode 100644 index 00000000..2f610ff5 --- /dev/null +++ b/doc/tutorials/intro/42.trigger_conversion.pd @@ -0,0 +1,29 @@ +#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 msg 125 142 float 45.234; +#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 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/43.grabbing_keystrokes.pd b/doc/tutorials/intro/43.grabbing_keystrokes.pd new file mode 100644 index 00000000..bf369dc5 --- /dev/null +++ b/doc/tutorials/intro/43.grabbing_keystrokes.pd @@ -0,0 +1,61 @@ +#N canvas 493 88 628 453 12; +#X obj 10 10 cnv 15 400 40 empty empty grabbing_keystrokes 20 12 0 +24 -228992 -66577 0; +#X obj 115 152 key; +#X floatatom 115 176 5 0 0 0 - - -; +#X text 284 216 This times how long between each; +#X text 284 232 press of the 'a' key.; +#X floatatom 215 176 5 0 0 0 - - -; +#X obj 215 152 keyup; +#X floatatom 315 176 5 0 0 0 - - -; +#X obj 315 152 keyname; +#X symbolatom 379 176 10 0 0 0 - - -; +#X text 20 231 't' key as toggle:; +#X obj 68 303 select 116; +#X obj 68 272 keyup; +#N canvas 238 530 478 328 /SUBPATCH/ 0; +#X obj 101 10 inlet; +#X obj 100 100 tgl 32 0 empty \$0-tgl empty 0 -6 0 8 -166441 -166441 +-262144 0 1; +#X obj 156 68 select 1; +#X msg 172 186 color \$1 \$2 \$3; +#X msg 268 146 1 1 0; +#X msg 133 144 -65281 0 -1; +#X obj 268 85 bang; +#X obj 176 241 send \$0-tgl; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 2 1 6 0; +#X connect 3 0 7 0; +#X connect 4 0 3 0; +#X connect 5 0 3 0; +#X connect 6 0 4 0; +#X coords 0 -1 1 1 32 32 1 100 100; +#X restore 68 327 pd; +#X text 13 63 Pd provides a set of objects for getting events from +the keyboard. [key] outputs on key down \, [keyup] outputs on key up +\, and [keyname] outputs both key up and key down \, and gives a symbolic +name for the current key.; +#X text 21 391 These objects will only grab keys when this window has +focus. If you click on the Pd window \, this window won't get key events +anymore.; +#X obj 376 259 key; +#X floatatom 376 283 5 0 0 0 - - -; +#X obj 475 261 keyup; +#X obj 376 312 select 97; +#X obj 475 312 select 97; +#X obj 411 341 timer; +#X floatatom 411 367 5 0 0 0 - - -; +#X connect 1 0 2 0; +#X connect 6 0 5 0; +#X connect 8 0 7 0; +#X connect 8 1 9 0; +#X connect 11 0 13 0; +#X connect 12 0 11 0; +#X connect 16 0 17 0; +#X connect 17 0 19 0; +#X connect 18 0 20 0; +#X connect 19 0 21 0; +#X connect 20 0 21 1; +#X connect 21 0 22 0; diff --git a/doc/tutorials/intro/44.multiple_messages.pd b/doc/tutorials/intro/44.multiple_messages.pd new file mode 100644 index 00000000..2374ad54 --- /dev/null +++ b/doc/tutorials/intro/44.multiple_messages.pd @@ -0,0 +1,18 @@ +#N canvas 517 97 631 447 12; +#X obj -49 6 cnv 15 400 40 empty empty multiple_messages 20 12 0 24 +-228992 -66577 0; +#X text -42 70 You can send multiple messages in one message box by +separating them with commas:; +#X msg 7 161 1 \, 2 \, 3; +#X text 102 175 these each print on a new line; +#X msg 7 263 first 1 \, second 2 \, third 3; +#X obj 7 308 route first second third; +#X floatatom 7 335 5 0 0 0 - - -; +#X floatatom 85 335 5 0 0 0 - - -; +#X floatatom 163 335 5 0 0 0 - - -; +#X obj 7 195 print; +#X connect 2 0 9 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 5 1 7 0; +#X connect 5 2 8 0; diff --git a/doc/tutorials/intro/45.send_messages_to_pd.pd b/doc/tutorials/intro/45.send_messages_to_pd.pd new file mode 100644 index 00000000..f0961a6e --- /dev/null +++ b/doc/tutorials/intro/45.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/46.pure_data_files.pd b/doc/tutorials/intro/46.pure_data_files.pd new file mode 100644 index 00000000..6797bffb --- /dev/null +++ b/doc/tutorials/intro/46.pure_data_files.pd @@ -0,0 +1,54 @@ +#N canvas 461 69 584 547 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; +#N canvas 0 22 552 603 clone 1; +#X restore 428 494 pd clone; +#X msg 317 214 read 46.pure_data_files.pd; +#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 24 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 24 0 0 0; diff --git a/doc/tutorials/intro/Attic/grabbing_keystrokes.pd b/doc/tutorials/intro/Attic/grabbing_keystrokes.pd deleted file mode 100644 index bf369dc5..00000000 --- a/doc/tutorials/intro/Attic/grabbing_keystrokes.pd +++ /dev/null @@ -1,61 +0,0 @@ -#N canvas 493 88 628 453 12; -#X obj 10 10 cnv 15 400 40 empty empty grabbing_keystrokes 20 12 0 -24 -228992 -66577 0; -#X obj 115 152 key; -#X floatatom 115 176 5 0 0 0 - - -; -#X text 284 216 This times how long between each; -#X text 284 232 press of the 'a' key.; -#X floatatom 215 176 5 0 0 0 - - -; -#X obj 215 152 keyup; -#X floatatom 315 176 5 0 0 0 - - -; -#X obj 315 152 keyname; -#X symbolatom 379 176 10 0 0 0 - - -; -#X text 20 231 't' key as toggle:; -#X obj 68 303 select 116; -#X obj 68 272 keyup; -#N canvas 238 530 478 328 /SUBPATCH/ 0; -#X obj 101 10 inlet; -#X obj 100 100 tgl 32 0 empty \$0-tgl empty 0 -6 0 8 -166441 -166441 --262144 0 1; -#X obj 156 68 select 1; -#X msg 172 186 color \$1 \$2 \$3; -#X msg 268 146 1 1 0; -#X msg 133 144 -65281 0 -1; -#X obj 268 85 bang; -#X obj 176 241 send \$0-tgl; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 2 0 5 0; -#X connect 2 1 6 0; -#X connect 3 0 7 0; -#X connect 4 0 3 0; -#X connect 5 0 3 0; -#X connect 6 0 4 0; -#X coords 0 -1 1 1 32 32 1 100 100; -#X restore 68 327 pd; -#X text 13 63 Pd provides a set of objects for getting events from -the keyboard. [key] outputs on key down \, [keyup] outputs on key up -\, and [keyname] outputs both key up and key down \, and gives a symbolic -name for the current key.; -#X text 21 391 These objects will only grab keys when this window has -focus. If you click on the Pd window \, this window won't get key events -anymore.; -#X obj 376 259 key; -#X floatatom 376 283 5 0 0 0 - - -; -#X obj 475 261 keyup; -#X obj 376 312 select 97; -#X obj 475 312 select 97; -#X obj 411 341 timer; -#X floatatom 411 367 5 0 0 0 - - -; -#X connect 1 0 2 0; -#X connect 6 0 5 0; -#X connect 8 0 7 0; -#X connect 8 1 9 0; -#X connect 11 0 13 0; -#X connect 12 0 11 0; -#X connect 16 0 17 0; -#X connect 17 0 19 0; -#X connect 18 0 20 0; -#X connect 19 0 21 0; -#X connect 20 0 21 1; -#X connect 21 0 22 0; diff --git a/doc/tutorials/intro/Attic/math.pd b/doc/tutorials/intro/Attic/math.pd deleted file mode 100644 index d081a70a..00000000 --- a/doc/tutorials/intro/Attic/math.pd +++ /dev/null @@ -1,434 +0,0 @@ -#N canvas 436 10 551 278 10; -#X obj 17 11 cnv 15 500 100 empty empty OPERATIONS: 20 12 0 14 -233017 --66577 0; -#N canvas 58 106 794 296 operations-logiques-relationnelles 0; -#X obj 41 146 &; -#X obj 91 146 |; -#X obj 143 146 &&; -#X obj 194 146 ||; -#X obj 415 146 >; -#X obj 464 146 >=; -#X obj 517 146 ==; -#X obj 618 146 <=; -#X obj 665 146 <; -#X obj 569 146 !=; -#X obj 233 146 <<; -#X obj 284 146 >>; -#X floatatom 41 92 5 0 0 0 - - -; -#X floatatom 303 93 5 0 0 0 - - -; -#X floatatom 41 183 2 0 0 0 - - -; -#X floatatom 91 183 2 0 0 0 - - -; -#X floatatom 143 183 2 0 0 0 - - -; -#X floatatom 194 183 2 0 0 0 - - -; -#X floatatom 233 183 2 0 0 0 - - -; -#X floatatom 284 183 2 0 0 0 - - -; -#X floatatom 415 183 2 0 0 0 - - -; -#X floatatom 464 183 2 0 0 0 - - -; -#X floatatom 517 183 2 0 0 0 - - -; -#X floatatom 569 183 2 0 0 0 - - -; -#X floatatom 618 183 2 0 0 0 - - -; -#X floatatom 665 183 2 0 0 0 - - -; -#X floatatom 415 93 5 0 0 0 - - -; -#X floatatom 684 93 5 0 0 0 - - -; -#X text 38 33 Operateurs Logiques; -#X text 39 45 -------------------; -#X text 412 34 Operateurs Relationnelles; -#X text 413 45 --------------------------; -#X text 167 238 voir 17-exercices.pd : detecteur d'enveloppe; -#X text 167 256 voir 19-exercices.pd : sequenceurs; -#X connect 0 0 14 0; -#X connect 1 0 15 0; -#X connect 2 0 16 0; -#X connect 3 0 17 0; -#X connect 4 0 20 0; -#X connect 5 0 21 0; -#X connect 6 0 22 0; -#X connect 7 0 24 0; -#X connect 8 0 25 0; -#X connect 9 0 23 0; -#X connect 10 0 18 0; -#X connect 11 0 19 0; -#X connect 12 0 0 0; -#X connect 12 0 1 0; -#X connect 12 0 2 0; -#X connect 12 0 3 0; -#X connect 12 0 10 0; -#X connect 12 0 11 0; -#X connect 13 0 11 1; -#X connect 13 0 10 1; -#X connect 13 0 3 1; -#X connect 13 0 2 1; -#X connect 13 0 1 1; -#X connect 13 0 0 1; -#X connect 26 0 4 0; -#X connect 26 0 5 0; -#X connect 26 0 6 0; -#X connect 26 0 9 0; -#X connect 26 0 7 0; -#X connect 26 0 8 0; -#X connect 27 0 4 1; -#X connect 27 0 5 1; -#X connect 27 0 6 1; -#X connect 27 0 9 1; -#X connect 27 0 7 1; -#X connect 27 0 8 1; -#X restore 18 129 pd operations-logiques-relationnelles; -#N canvas 0 0 795 354 operations-mathematiques 0; -#X floatatom 31 72 5 0 0 0 - - -; -#X obj 160 128 *; -#X floatatom 238 72 5 0 0 0 - - -; -#X floatatom 160 197 5 0 0 0 - - -; -#X obj 31 128 +; -#X obj 96 128 -; -#X obj 219 128 /; -#X floatatom 31 197 5 0 0 0 - - -; -#X floatatom 96 197 5 0 0 0 - - -; -#X floatatom 219 197 5 0 0 0 - - -; -#X obj 375 134 pow 2; -#X obj 441 133 pow -1; -#X floatatom 375 80 5 0 0 0 - - -; -#X floatatom 375 206 5 0 0 0 - - -; -#X floatatom 441 206 5 0 0 0 - - -; -#X obj 626 133 % 5; -#X floatatom 611 81 5 0 0 0 - - -; -#X floatatom 664 81 5 0 0 0 - - -; -#X floatatom 626 206 5 0 0 0 - - -; -#X text 628 242 Modulo; -#X text 31 24 Operations Mathematiques; -#X text 30 34 ------------------------; -#X text 29 243 Operations arithmetiques standards; -#X obj 691 132 mod 5; -#X text 667 132 =; -#X text 364 244 operations puissances; -#X text 435 299 voir 18-exercices.pd : beat tempo; -#X connect 0 0 1 0; -#X connect 0 0 5 0; -#X connect 0 0 6 0; -#X connect 0 0 4 0; -#X connect 1 0 3 0; -#X connect 2 0 1 1; -#X connect 2 0 4 1; -#X connect 2 0 5 1; -#X connect 2 0 6 1; -#X connect 4 0 7 0; -#X connect 5 0 8 0; -#X connect 6 0 9 0; -#X connect 10 0 13 0; -#X connect 11 0 14 0; -#X connect 12 0 10 0; -#X connect 12 0 11 0; -#X connect 15 0 18 0; -#X connect 16 0 15 0; -#X connect 17 0 15 1; -#X restore 18 167 pd operations-mathematiques; -#N canvas 29 79 932 301 operations-conditionnelles 0; -#X floatatom 445 74 5 0 0 0 - - -; -#X floatatom 504 74 5 0 0 0 - - -; -#X floatatom 445 160 5 0 0 0 - - -; -#X floatatom 504 160 5 0 0 0 - - -; -#X obj 445 115 moses 10; -#X obj 326 112 spigot; -#X floatatom 22 96 5 0 0 0 - - -; -#X obj 22 186 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 22 137 select 2 3 4; -#X obj 52 186 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 82 186 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X floatatom 113 186 5 0 0 0 - - -; -#X obj 369 89 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X floatatom 326 70 5 0 0 0 - - -; -#X floatatom 326 156 5 0 0 0 - - -; -#X obj 621 183 print r1; -#X obj 690 183 print r2; -#X obj 759 183 print r3; -#X obj 828 183 print r4; -#X msg 621 69 1 2 3; -#X msg 678 70 2 3 4; -#X obj 621 130 route 1 2 symbol; -#X msg 731 70 symbol bar; -#X msg 732 97 who am I?; -#X text 18 20 Operations Conditionnelles; -#X text 18 32 --------------------------; -#X text 18 61 Selectionner certaines entrees; -#X text 325 36 Porte; -#X text 438 36 Separer les entrees; -#X text 619 38 Routage des entrees; -#X obj 258 233 *; -#X obj 277 208 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 -1; -#X obj 366 209 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 -1; -#X obj 347 233 *~; -#X text 257 181 autres Portes :; -#X obj 449 203 cnv 15 74 20 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 624 223 cnv 15 107 20 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 625 243 cnv 15 113 20 empty empty empty 20 12 0 14 -233017 -66577 -0; -#N canvas 243 0 636 690 random 0; -#X msg 103 95 bang; -#X text 44 19 You can generate weighted random numbers from uniformly -distributed ones. If you just want two possible outcomes with a varying -probability for each one \, you can do as shown:; -#X obj 103 121 random 100; -#X obj 102 174 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 169 174 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X floatatom 205 148 3 0 100 0 - - -; -#X text 250 148 <-- change probablilty; -#X obj 103 149 moses 80; -#X text 152 93 <-- click to test; -#X text 61 219 This outputs a number at left 80% of the time \, otherwise -at right \, unless you override the "80" using the number box. You -may extend this to more than two possible outcomes \, for instance -like this:; -#X msg 106 305 bang; -#X obj 106 331 random 100; -#X obj 105 384 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 195 387 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X text 155 303 <-- click to test; -#X obj 106 359 moses 10; -#X obj 196 360 moses 30; -#X obj 263 387 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X text 103 409 10%; -#X text 193 410 20%; -#X text 265 409 70%; -#X obj 103 736 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 --1; -#X obj 100 821 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 --1; -#X obj 181 820 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 --1; -#X obj 218 822 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 --1; -#X msg 100 843 1; -#X msg 181 845 2; -#X msg 218 846 3; -#X obj 100 882 s state; -#X obj 85 658 bng 20 250 50 0 empty empty empty 20 8 0 8 -262144 -1 --1; -#X obj 121 641 r state; -#X obj 102 710 sel 1 2 3; -#X obj 274 738 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 --1; -#X obj 271 823 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 --1; -#X obj 353 825 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 --1; -#X obj 392 828 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 --1; -#X msg 271 846 1; -#X msg 348 851 2; -#X msg 392 852 3; -#X obj 271 882 s state; -#X obj 438 739 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 --1; -#X obj 438 824 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 --1; -#X obj 518 823 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 --1; -#X obj 557 826 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 --1; -#X msg 438 847 1; -#X msg 518 848 2; -#X msg 557 849 3; -#X obj 438 882 s state; -#X msg 255 671 \; state 1; -#X obj 102 684 f 1; -#X obj 103 764 random 100; -#X obj 102 793 moses 30; -#X obj 181 794 moses 60; -#X obj 274 765 random 100; -#X obj 274 795 moses 10; -#X obj 353 796 moses 60; -#X obj 438 766 random 100; -#X obj 438 795 moses 70; -#X obj 518 795 moses 80; -#X floatatom 133 666 3 0 0 0 - - -; -#X text 255 651 reset; -#X text 68 637 STEP; -#X text 53 505 Here is how to construct a simple \, three-valued Markov -chain using "random." Each time you click on "step" the previous output -("state") determines which of three random networks to invoke \, each -having a different probability distribution for the next value of "state." -For instance if the state was 3 \, the next state will be 1 70% of -the time \, state 2 10% \, and state 3 20%.; -#X connect 0 0 2 0; -#X connect 2 0 7 0; -#X connect 5 0 7 1; -#X connect 7 0 3 0; -#X connect 7 1 4 0; -#X connect 10 0 11 0; -#X connect 11 0 15 0; -#X connect 15 0 12 0; -#X connect 15 1 16 0; -#X connect 16 0 13 0; -#X connect 16 1 17 0; -#X connect 21 0 50 0; -#X connect 22 0 25 0; -#X connect 23 0 26 0; -#X connect 24 0 27 0; -#X connect 25 0 28 0; -#X connect 26 0 28 0; -#X connect 27 0 28 0; -#X connect 29 0 49 0; -#X connect 30 0 49 1; -#X connect 30 0 59 0; -#X connect 31 0 21 0; -#X connect 31 1 32 0; -#X connect 31 2 40 0; -#X connect 32 0 53 0; -#X connect 33 0 36 0; -#X connect 34 0 37 0; -#X connect 35 0 38 0; -#X connect 36 0 39 0; -#X connect 37 0 39 0; -#X connect 38 0 39 0; -#X connect 40 0 56 0; -#X connect 41 0 44 0; -#X connect 42 0 45 0; -#X connect 43 0 46 0; -#X connect 44 0 47 0; -#X connect 45 0 47 0; -#X connect 46 0 47 0; -#X connect 49 0 31 0; -#X connect 50 0 51 0; -#X connect 51 0 22 0; -#X connect 51 1 52 0; -#X connect 52 0 23 0; -#X connect 52 1 24 0; -#X connect 53 0 54 0; -#X connect 54 0 33 0; -#X connect 54 1 55 0; -#X connect 55 0 34 0; -#X connect 55 1 35 0; -#X connect 56 0 57 0; -#X connect 57 0 41 0; -#X connect 57 1 58 0; -#X connect 58 0 42 0; -#X connect 58 1 43 0; -#X restore 448 203 pd random; -#N canvas 0 0 357 255 route_lists 0; -#X floatatom 228 32 5 0 0 0 - - -; -#X obj 228 70 t b f; -#X obj 228 120 pack s f; -#X msg 81 30 droite; -#X msg 17 30 gauche; -#N canvas 510 50 299 253 test 0; -#X obj 112 34 inlet; -#X obj 185 175 outlet; -#X obj 112 74 route list; -#X obj 112 176 outlet; -#X obj 112 116 route gauche droite; -#X obj 79 166 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 216 152 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X connect 0 0 2 0; -#X connect 2 0 4 0; -#X connect 2 1 4 0; -#X connect 4 0 3 0; -#X connect 4 0 5 0; -#X connect 4 1 1 0; -#X connect 4 1 6 0; -#X restore 228 189 pd test; -#X floatatom 279 217 5 0 0 0 - - -; -#X floatatom 228 217 5 0 0 0 - - -; -#X msg 40 151 droite 10 \, gauche 40; -#X symbolatom 139 32 10 0 0 0 - - -; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 1 1 2 1; -#X connect 2 0 5 0; -#X connect 3 0 2 0; -#X connect 4 0 2 0; -#X connect 5 0 7 0; -#X connect 5 1 6 0; -#X connect 8 0 5 0; -#X connect 9 0 2 0; -#X restore 625 243 pd route_lists; -#N canvas 385 246 472 322 lists_pack 0; -#X obj 68 114 pack 0 5 s; -#X obj 68 160 print; -#X obj 189 168 unpack 0 0 s; -#X floatatom 189 204 5 0 0 0 - - -; -#X floatatom 234 204 5 0 0 0 - - -; -#X msg 280 236 Hello; -#X msg 280 204 set \$1; -#X obj 37 79 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X msg 143 79 symbol Hello; -#X floatatom 105 79 3 0 0 0 - - -; -#X floatatom 68 79 3 0 0 0 - - -; -#X text 35 24 Making lists with pack; -#X connect 0 0 1 0; -#X connect 0 0 2 0; -#X connect 2 0 3 0; -#X connect 2 1 4 0; -#X connect 2 2 6 0; -#X connect 6 0 5 0; -#X connect 7 0 0 0; -#X connect 8 0 0 2; -#X connect 9 0 0 1; -#X connect 10 0 0 0; -#X restore 625 223 pd lists_pack; -#X connect 0 0 4 0; -#X connect 1 0 4 1; -#X connect 4 0 2 0; -#X connect 4 1 3 0; -#X connect 5 0 14 0; -#X connect 6 0 8 0; -#X connect 8 0 7 0; -#X connect 8 1 9 0; -#X connect 8 2 10 0; -#X connect 8 3 11 0; -#X connect 12 0 5 1; -#X connect 13 0 5 0; -#X connect 19 0 21 0; -#X connect 20 0 21 0; -#X connect 21 0 15 0; -#X connect 21 1 16 0; -#X connect 21 2 17 0; -#X connect 21 3 18 0; -#X connect 22 0 21 0; -#X connect 23 0 21 0; -#X connect 31 0 30 1; -#X connect 32 0 33 1; -#X restore 18 205 pd operations-conditionnelles; -#X text 322 129 > < != >= . . .; -#X text 36 34 Pour aller plus loin dans les possibilites relationnelles -:; -#X text 249 165 - + = / *; -#X text 270 204 selection \, routage \, porte \, ...; -#N canvas 0 0 556 312 changementEchelles 0; -#X text 11 3 But : passer un nombre qui va de 0 a 127 en un nombre -entre 40 et 3000; -#X obj 171 43 range 0 127 40 3000; -#X text 13 43 Un objet fait ca :; -#X text 9 92 Mais on peut faire tout aussi bien en utilisant les objets -[expr] qui servent tres bien pour tout calcul.; -#X floatatom 130 173 5 0 0 0 - - -; -#X floatatom 130 260 5 0 0 0 - - -; -#X text 452 124 0 : x1; -#X text 436 139 127 : x2; -#X text 444 153 40 : x3; -#X text 428 168 3000 : x4; -#X obj 130 202 expr ( (($f1-O)/(127-0))*(3000-40) ) + (40-0); -#X msg 60 136 0; -#X msg 94 137 60; -#X msg 126 138 127; -#X connect 4 0 10 0; -#X connect 10 0 5 0; -#X connect 11 0 4 0; -#X connect 12 0 4 0; -#X connect 13 0 4 0; -#X restore 17 242 pd changementEchelles; -#X text 204 243 objet [expr]; diff --git a/doc/tutorials/intro/Attic/sorting_messages_by_type.pd b/doc/tutorials/intro/Attic/sorting_messages_by_type.pd deleted file mode 100644 index 65f633be..00000000 --- a/doc/tutorials/intro/Attic/sorting_messages_by_type.pd +++ /dev/null @@ -1,49 +0,0 @@ -#N canvas 44 68 635 451 12; -#X obj 10 10 cnv 15 400 40 empty empty sorting_messages_by_type 20 -12 0 24 -228992 -66577 0; -#X floatatom 282 359 5 0 0 0 - - -; -#X symbolatom 351 358 10 0 0 0 - - -; -#X obj 214 379 bng 15 250 50 0 empty empty bang -6 23 1 12 -262144 --1 -1; -#X obj 214 335 route bang float symbol list; -#X obj 282 379 bng 15 250 50 0 empty empty float -4 23 1 12 -262144 --1 -1; -#X obj 351 379 bng 15 250 50 0 empty empty symbol -12 23 1 12 -262144 --1 -1; -#X obj 420 379 bng 15 250 50 0 empty empty list -2 23 1 12 -262144 --1 -1; -#X obj 489 379 bng 15 250 50 0 empty empty selector_series -18 23 1 -12 -262144 -1 -1; -#X msg 40 172 bang; -#X msg 128 183 642.3; -#X msg 214 159 symbol moshimoshi; -#X msg 214 183 symbol sayonara; -#X obj 40 197 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X msg 411 171 1 2 3; -#X msg 411 194 5 for free!; -#X msg 411 218 list here we go...; -#X msg 423 251 not a list? nope...; -#X msg 105 159 float 5; -#X text 10 63 When processing messages \, some operations should only -be applied to messages of a certain type. [route] allows you to sort -messages by type:; -#X msg 423 276 selector data data; -#X connect 1 0 5 0; -#X connect 2 0 6 0; -#X connect 4 0 3 0; -#X connect 4 1 1 0; -#X connect 4 2 2 0; -#X connect 4 3 7 0; -#X connect 4 4 8 0; -#X connect 9 0 4 0; -#X connect 10 0 4 0; -#X connect 11 0 4 0; -#X connect 12 0 4 0; -#X connect 13 0 4 0; -#X connect 14 0 4 0; -#X connect 15 0 4 0; -#X connect 16 0 4 0; -#X connect 17 0 4 0; -#X connect 18 0 4 0; -#X connect 20 0 4 0; diff --git a/doc/tutorials/intro/Attic/trigger_conversion.pd b/doc/tutorials/intro/Attic/trigger_conversion.pd deleted file mode 100644 index 2f610ff5..00000000 --- a/doc/tutorials/intro/Attic/trigger_conversion.pd +++ /dev/null @@ -1,29 +0,0 @@ -#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 msg 125 142 float 45.234; -#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 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 7f7dff3f..75492e99 100644 --- a/doc/tutorials/intro/TEMPLATE.pd +++ b/doc/tutorials/intro/TEMPLATE.pd @@ -1,3 +1,3 @@ -#N canvas 10 40 620 445 12; +#N canvas 10 40 624 449 12; #X obj 10 10 cnv 15 400 40 empty empty TEMPLATE 20 12 0 24 -228992 -66577 0; diff --git a/doc/tutorials/networking/08.wildcard_messages.pd b/doc/tutorials/networking/08.wildcard_messages.pd new file mode 100644 index 00000000..4174b967 --- /dev/null +++ b/doc/tutorials/networking/08.wildcard_messages.pd @@ -0,0 +1,43 @@ +#N canvas 129 112 644 464 10; +#X obj 8 10 cnv 15 400 40 empty empty matching_with_wildcards 20 12 +0 24 -228992 -66577 0; +#X text 10 69 OSC gives you a very useful feature which regular [route] +does not: wildcards. Wildcards are characters that match any pattern. +The * is the most common \, it means match any amount of any character: +; +#X obj 38 236 bng 15 250 50 0 empty empty match 18 8 0 12 -262144 -1 +-1; +#X obj 130 236 bng 15 250 50 0 empty empty unmatched 18 8 0 12 -262144 +-1 -1; +#X msg 30 134 /test/message data; +#X obj 37 216 OSCroute /*; +#X msg 56 185 /1/2/3 data; +#X msg 56 159 /some/other/message 1 2 3; +#X text 142 214 <-- notice the * in the pattern; +#X text 320 347 <-- notice the * in the pattern; +#X msg 212 278 /inst2/note B; +#X msg 110 279 /inst1/note C; +#X msg 229 319 /inst3/note F; +#X obj 202 346 OSCroute /*; +#X msg 219 298 /player3/note D; +#X obj 274 366 bng 15 250 50 0 empty empty unmatched 18 8 0 12 -262144 +-1 -1; +#X obj 294 409 bng 15 250 50 0 empty empty unmatched 18 8 0 12 -262144 +-1 -1; +#X obj 202 388 OSCroute /note; +#X obj 202 410 symbol; +#X symbolatom 202 432 10 0 0 0 - - -; +#X connect 4 0 5 0; +#X connect 5 0 2 0; +#X connect 5 1 3 0; +#X connect 6 0 5 0; +#X connect 7 0 5 0; +#X connect 10 0 13 0; +#X connect 11 0 13 0; +#X connect 12 0 13 0; +#X connect 13 0 17 0; +#X connect 13 1 15 0; +#X connect 14 0 13 0; +#X connect 17 0 18 0; +#X connect 17 1 16 0; +#X connect 18 0 19 0; diff --git a/doc/tutorials/networking/09.chat-server.pd b/doc/tutorials/networking/09.chat-server.pd new file mode 100644 index 00000000..f61fe495 --- /dev/null +++ b/doc/tutorials/networking/09.chat-server.pd @@ -0,0 +1,14 @@ +#N canvas 769 55 458 308 10; +#X obj 258 13 import maxlib cyclone zexy; +#X obj 141 112 netserver 47292; +#X obj 68 83 prepend broadcast; +#X obj 153 204 prepend; +#X obj 197 176 makesymbol client%s_%s; +#X obj 197 151 pack float symbol; +#X connect 1 0 3 0; +#X connect 1 2 5 0; +#X connect 1 3 5 1; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 4 0; diff --git a/doc/tutorials/networking/10.chat_client.pd b/doc/tutorials/networking/10.chat_client.pd new file mode 100644 index 00000000..1607e626 --- /dev/null +++ b/doc/tutorials/networking/10.chat_client.pd @@ -0,0 +1,66 @@ +#N canvas 257 22 610 553 10; +#X obj 413 12 import maxlib cyclone zexy; +#X msg 130 295 disconnect; +#X obj 108 323 netclient; +#X obj 50 233 prepend send; +#X obj 125 415 prepend set; +#X obj 136 356 print; +#X obj 27 66 trigger bang bang; +#X msg 27 88 clear; +#X text 314 266 <-- first connect to the server; +#X text 213 294 <-- disconnect when you are done to free the port; +#N canvas 238 612 454 304 /SUBPATCH/ 0; +#X obj 101 10 inlet; +#X obj 100 100 tgl 25 0 empty \$0-tgl connected 0 -6 0 8 -4033 -262144 +-1 1 1; +#X obj 121 35 select 1; +#X obj 199 245 s \$0-tgl; +#X msg 224 197 label \$1; +#X obj 224 173 symbol; +#X msg 220 133 connected; +#X msg 298 132 -; +#X msg 112 197 color \$1 \$2 \$3; +#X msg 158 165 1 1 0; +#X msg 71 165 -65281 0 -1; +#X obj 171 55 bang; +#X connect 0 0 1 0; +#X connect 0 0 2 0; +#X connect 2 0 10 0; +#X connect 2 0 6 0; +#X connect 2 1 11 0; +#X connect 4 0 3 0; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 7 0 5 0; +#X connect 8 0 3 0; +#X connect 9 0 8 0; +#X connect 10 0 8 0; +#X connect 11 0 9 0; +#X connect 11 0 7 0; +#X coords 0 -1 1 1 25 25 1 100 100; +#X restore 191 345 pd; +#X msg 108 266 connect pdbox.at.or.at 47292; +#X msg 27 27 send; +#X obj 125 436 entry 300 100 grey90 black; +#X obj 49 121 entry 300 100 grey90 black; +#X text 114 96 type your message in the box below \, and click send +above; +#X obj 67 356 niagara 1; +#X text 68 437 message:; +#X symbolatom 67 398 25 0 0 0 sender: - -; +#X obj 67 377 symbol; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 2 0 16 0; +#X connect 2 1 10 0; +#X connect 3 0 2 0; +#X connect 4 0 13 0; +#X connect 6 0 7 0; +#X connect 6 1 14 0; +#X connect 7 0 14 0; +#X connect 11 0 2 0; +#X connect 12 0 6 0; +#X connect 14 0 3 0; +#X connect 16 0 19 0; +#X connect 16 1 4 0; +#X connect 19 0 18 0; diff --git a/doc/tutorials/networking/11.chat_exercise.pd b/doc/tutorials/networking/11.chat_exercise.pd new file mode 100644 index 00000000..87885153 --- /dev/null +++ b/doc/tutorials/networking/11.chat_exercise.pd @@ -0,0 +1,25 @@ +#N canvas 123 124 644 464 10; +#X obj 8 10 cnv 15 400 40 empty empty chat_exercise 20 12 0 24 -225271 +-66577 0; +#X obj 437 59 import maxlib cyclone zexy; +#X obj 129 89 prepend broadcast; +#X obj 202 191 prepend; +#X obj 246 169 makesymbol client%s_%s; +#X obj 246 148 pack float symbol; +#X obj 202 118 netserver 47292; +#X text 434 118 useful objects:; +#X text 463 159 [entry]; +#X text 463 138 [prepend]; +#X text 11 60 Here is a basic chat room server:; +#X text 14 218 Implement a client to send and receive messages using +this server. Connect to the server "pdbox.at.or.at" on the same port +\, 47292; +#X msg 115 271 connect pdbox.at.or.at 47292; +#X text 463 179 [netclient]; +#X connect 2 0 6 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 4 0; +#X connect 6 0 3 0; +#X connect 6 2 5 0; +#X connect 6 3 5 1; diff --git a/doc/tutorials/networking/Attic/chat-client.pd b/doc/tutorials/networking/Attic/chat-client.pd deleted file mode 100644 index 1607e626..00000000 --- a/doc/tutorials/networking/Attic/chat-client.pd +++ /dev/null @@ -1,66 +0,0 @@ -#N canvas 257 22 610 553 10; -#X obj 413 12 import maxlib cyclone zexy; -#X msg 130 295 disconnect; -#X obj 108 323 netclient; -#X obj 50 233 prepend send; -#X obj 125 415 prepend set; -#X obj 136 356 print; -#X obj 27 66 trigger bang bang; -#X msg 27 88 clear; -#X text 314 266 <-- first connect to the server; -#X text 213 294 <-- disconnect when you are done to free the port; -#N canvas 238 612 454 304 /SUBPATCH/ 0; -#X obj 101 10 inlet; -#X obj 100 100 tgl 25 0 empty \$0-tgl connected 0 -6 0 8 -4033 -262144 --1 1 1; -#X obj 121 35 select 1; -#X obj 199 245 s \$0-tgl; -#X msg 224 197 label \$1; -#X obj 224 173 symbol; -#X msg 220 133 connected; -#X msg 298 132 -; -#X msg 112 197 color \$1 \$2 \$3; -#X msg 158 165 1 1 0; -#X msg 71 165 -65281 0 -1; -#X obj 171 55 bang; -#X connect 0 0 1 0; -#X connect 0 0 2 0; -#X connect 2 0 10 0; -#X connect 2 0 6 0; -#X connect 2 1 11 0; -#X connect 4 0 3 0; -#X connect 5 0 4 0; -#X connect 6 0 5 0; -#X connect 7 0 5 0; -#X connect 8 0 3 0; -#X connect 9 0 8 0; -#X connect 10 0 8 0; -#X connect 11 0 9 0; -#X connect 11 0 7 0; -#X coords 0 -1 1 1 25 25 1 100 100; -#X restore 191 345 pd; -#X msg 108 266 connect pdbox.at.or.at 47292; -#X msg 27 27 send; -#X obj 125 436 entry 300 100 grey90 black; -#X obj 49 121 entry 300 100 grey90 black; -#X text 114 96 type your message in the box below \, and click send -above; -#X obj 67 356 niagara 1; -#X text 68 437 message:; -#X symbolatom 67 398 25 0 0 0 sender: - -; -#X obj 67 377 symbol; -#X connect 1 0 2 0; -#X connect 2 0 5 0; -#X connect 2 0 16 0; -#X connect 2 1 10 0; -#X connect 3 0 2 0; -#X connect 4 0 13 0; -#X connect 6 0 7 0; -#X connect 6 1 14 0; -#X connect 7 0 14 0; -#X connect 11 0 2 0; -#X connect 12 0 6 0; -#X connect 14 0 3 0; -#X connect 16 0 19 0; -#X connect 16 1 4 0; -#X connect 19 0 18 0; diff --git a/doc/tutorials/networking/Attic/chat-server.pd b/doc/tutorials/networking/Attic/chat-server.pd deleted file mode 100644 index f61fe495..00000000 --- a/doc/tutorials/networking/Attic/chat-server.pd +++ /dev/null @@ -1,14 +0,0 @@ -#N canvas 769 55 458 308 10; -#X obj 258 13 import maxlib cyclone zexy; -#X obj 141 112 netserver 47292; -#X obj 68 83 prepend broadcast; -#X obj 153 204 prepend; -#X obj 197 176 makesymbol client%s_%s; -#X obj 197 151 pack float symbol; -#X connect 1 0 3 0; -#X connect 1 2 5 0; -#X connect 1 3 5 1; -#X connect 2 0 1 0; -#X connect 3 0 2 0; -#X connect 4 0 3 1; -#X connect 5 0 4 0; diff --git a/doc/tutorials/playnow/voice-am.pd b/doc/tutorials/playnow/voice-am.pd index 32aa8ec4..38a507b0 100644 --- a/doc/tutorials/playnow/voice-am.pd +++ b/doc/tutorials/playnow/voice-am.pd @@ -1,4 +1,4 @@ -#N canvas 450 159 679 598 10; +#N canvas 475 82 481 584 10; #X obj 246 34 adc~; #X obj 152 496 dac~; #X obj 72 106 fiddle~; @@ -6,70 +6,53 @@ #X obj 159 223 osc~; #X floatatom 32 107 5 0 0 0 - - -; #X obj 155 467 *~; -#X obj 172 448 r \$0-master-amp; #X obj 248 299 *~; -#X obj 285 266 line~; +#X obj 280 270 line~; #X obj 160 343 cos~; #X obj 160 323 +~; -#X obj 285 243 pack 0 50; -#X floatatom 285 195 0 0 0 0 - - -; -#X obj 285 219 / 100; -#X obj 549 24 vsl 22 200 0 1 0 0 \$0-master-amp empty volume -9 -8 -1 8 -225271 -1 -1 0 0; +#X obj 280 247 pack 0 50; #X floatatom 129 105 5 0 0 0 - - -; #X obj 143 276 *~; -#X obj 121 250 / 100; -#X obj 91 212 - 55; -#X obj 366 505 writesf~; -#X msg 323 448 start; -#X msg 384 468 stop; -#X msg 366 419 open \$1; -#X obj 367 342 +; -#X floatatom 393 343 5 0 0 0 - - -; -#X msg 365 319 1; -#X obj 357 251 bng 25 250 50 0 empty empty empty 0 -6 0 8 -4033 -1 --1; -#X obj 358 287 t b b b; -#X obj 342 412 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 367 379 makesymbol /Users/hans/Desktop/voice-fm-%s.wav; -#X text 87 5 sing into the mic to control AM synthesis with your voice +#X obj 119 201 / 100; +#X obj 119 181 - 55; +#X text 48 6 sing into the mic to control AM synthesis with your voice ; #X text 17 539 (C) Copyright 2004 Hans-Christoph Steiner ; #X text 236 555 released under the GNU GPL; +#X obj 186 460 nbx 3 18 -1e+37 1e+37 0 0 empty empty empty -9 -10 1 +14 -124831 -1 -1 0.267384 256; +#X obj 175 437 hsl 200 18 0.01 1 1 0 empty empty master_amplitude 20 +9 1 14 -24198 -1 -1 14200 0; +#X obj 355 84 pddp/dsp; +#X obj 159 199 line~; +#X msg 159 178 \$1 1; +#X obj 119 246 line~; +#X msg 119 225 \$1 1; +#X obj 283 221 hsl 128 15 0.1 1 1 0 empty empty voice_level 10 8 0 +12 -225271 -1 -1 12700 1; #X connect 0 0 2 0; -#X connect 0 0 8 0; +#X connect 0 0 7 0; #X connect 2 0 3 0; #X connect 2 0 5 0; -#X connect 2 3 16 0; -#X connect 2 3 19 0; -#X connect 3 0 4 0; -#X connect 4 0 17 1; +#X connect 2 3 12 0; +#X connect 2 3 15 0; +#X connect 3 0 23 0; +#X connect 4 0 13 1; #X connect 6 0 1 1; #X connect 6 0 1 0; -#X connect 6 0 20 0; -#X connect 7 0 6 1; -#X connect 8 0 11 1; -#X connect 9 0 8 1; -#X connect 10 0 6 0; -#X connect 11 0 10 0; -#X connect 12 0 9 0; -#X connect 13 0 14 0; -#X connect 14 0 12 0; -#X connect 17 0 11 0; -#X connect 18 0 17 0; -#X connect 19 0 18 0; -#X connect 21 0 20 0; -#X connect 22 0 20 0; -#X connect 23 0 20 0; -#X connect 24 0 25 0; -#X connect 24 0 30 0; -#X connect 25 0 24 1; -#X connect 26 0 24 0; -#X connect 27 0 28 0; -#X connect 28 0 21 0; -#X connect 28 1 26 0; -#X connect 28 2 22 0; -#X connect 30 0 29 0; -#X connect 30 0 23 0; +#X connect 7 0 10 1; +#X connect 8 0 7 1; +#X connect 9 0 6 0; +#X connect 10 0 9 0; +#X connect 11 0 8 0; +#X connect 13 0 10 0; +#X connect 14 0 25 0; +#X connect 15 0 14 0; +#X connect 20 0 19 0; +#X connect 20 0 6 1; +#X connect 22 0 4 0; +#X connect 23 0 22 0; +#X connect 24 0 13 0; +#X connect 25 0 24 0; +#X connect 26 0 11 0; diff --git a/doc/tutorials/sound/01.hello_world.pd b/doc/tutorials/sound/01.hello_world.pd index c5e23a12..5b0b38d4 100644 --- a/doc/tutorials/sound/01.hello_world.pd +++ b/doc/tutorials/sound/01.hello_world.pd @@ -1,4 +1,4 @@ -#N canvas 15 58 626 395 10; +#N canvas 15 58 630 399 10; #X obj 292 20 import cyclone; #X obj 533 20 pddp/dsp; #X obj 8 10 cnv 15 400 40 empty empty hello_world 20 12 0 24 -228992 @@ -6,12 +6,23 @@ #X text 198 136 2 create an object called: osc~; #X text 198 106 1 create a message box with the text: 200; #X text 198 166 3 create an object called: dac~; -#X text 198 196 4 connect the message -box to the osc~ object's left inlet; -#X text 198 226 5 connect the osc~ -object to both inlets of the dac~ object; +#X text 198 196 4 connect the message box to the osc~ object's left +inlet; +#X text 198 226 5 connect the osc~ object to both inlets of the dac~ +object; #X text 198 256 6 make sure your volume is set very low; -#X text 198 286 7 turn on DSP by -clicking the box on the upper right corner; -#X text 198 316 8 click the message -box to hear sound; +#X text 198 286 7 turn on DSP by clicking the box on the upper right +corner; +#X text 198 316 8 click the message box to hear sound; +#N canvas 0 22 454 304 how 0; +#X text 14 9 It seems every different keyboard has a different way +to type the tilde "~". Here is a list of how to type the tilde on various +keyboards:; +#X text 16 141 Mac OS X; +#X text 16 211 Windows; +#X text 37 252 Spanish: Alt-4-space; +#X text 37 162 German: Alt-N-space; +#X text 16 91 GNU/Linux; +#X text 37 232 Any keyboard with a number pad: Alt-126; +#X text 37 59 US: shift and the most upper-left key \, below Esc; +#X restore 316 365 pd how to type ~; diff --git a/doc/tutorials/sound/02.audio_data.pd b/doc/tutorials/sound/02.audio_data.pd index 1394c494..4913bf51 100644 --- a/doc/tutorials/sound/02.audio_data.pd +++ b/doc/tutorials/sound/02.audio_data.pd @@ -1,4 +1,4 @@ -#N canvas 393 46 628 448 10; +#N canvas 393 46 632 452 10; #X obj 292 20 import cyclone; #X obj 236 244 *~; #X obj 253 217 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 @@ -9,7 +9,6 @@ #X msg 267 143 500; #X msg 200 142 125; #X obj 533 20 pddp/dsp; -#X text 62 373 TODO: find out how to type ~ on various keyboards; #X obj 8 10 cnv 15 400 40 empty empty audio_data 20 12 0 24 -228992 -66577 0; #X text 75 265 audio (thick cord) -->; diff --git a/doc/tutorials/sound/02.make_some_noise.pd b/doc/tutorials/sound/02.make_some_noise.pd new file mode 100644 index 00000000..6c48d954 --- /dev/null +++ b/doc/tutorials/sound/02.make_some_noise.pd @@ -0,0 +1,15 @@ +#N canvas 10 40 628 453 12; +#X obj 10 10 cnv 15 400 40 empty empty make_some_noise! 20 12 0 24 +-228992 -66577 0; +#X obj 499 21 pddp/dsp; +#X text 17 71 To keep things interesting \, let's make some noise. +We can start with the [noise~] object and connect it to [dac~] to output +sound. We multiply the audio by 0.1 to make it quiet.; +#X obj 274 253 noise~; +#X obj 257 365 dac~; +#X obj 274 305 *~ 0.05; +#X text 17 156 To hear the noise \, click on the box in the upper right +corner \, to the left of where it says "dsp".; +#X connect 3 0 5 0; +#X connect 5 0 4 0; +#X connect 5 0 4 1; diff --git a/doc/tutorials/sound/building_waveforms_with_sines.pd b/doc/tutorials/sound/building_waveforms_with_sines.pd index 4b478b10..7e1b180f 100644 --- a/doc/tutorials/sound/building_waveforms_with_sines.pd +++ b/doc/tutorials/sound/building_waveforms_with_sines.pd @@ -4,13 +4,13 @@ #X obj 11 8 cnv 15 450 40 empty empty building_waveforms_with_sines 20 12 0 24 -228992 -66577 0; #X obj 467 373 ezdac~; -#X obj 32 219 sixteen_harmonics testing; +#X obj 32 219 sixteen_harmonics wavetable; #X obj 522 238 random 64; #X obj 522 262 + 32; #X obj 522 285 mtof; #X msg 408 190 bang; #X obj 479 336 *~; -#X obj 522 309 tabosc4~ testing; +#X obj 522 309 tabosc4~ wavetable; #X obj 440 105 cnv 15 100 60 empty empty empty 20 12 0 14 -241291 -66577 0; #X obj 446 125 vsl 10 32 0 1 0 1 \$0-a \$0-a a 0 -8 0 8 -262144 -1 diff --git a/doc/tutorials/visual/03.gemwin_control.pd b/doc/tutorials/visual/03.gemwin_control.pd index 3b4d114f..1aa6c22e 100644 --- a/doc/tutorials/visual/03.gemwin_control.pd +++ b/doc/tutorials/visual/03.gemwin_control.pd @@ -1,4 +1,4 @@ -#N canvas 10 40 624 464 10; +#N canvas 10 40 620 460 10; #X obj 8 10 cnv 15 400 40 empty empty gemwin_control 20 12 0 24 -228992 -66577 0; #X obj 465 16 gemwin_control; diff --git a/doc/tutorials/visual/04.render_chains.pd b/doc/tutorials/visual/04.render_chains.pd index e92d1b4f..981d115f 100644 --- a/doc/tutorials/visual/04.render_chains.pd +++ b/doc/tutorials/visual/04.render_chains.pd @@ -1,4 +1,4 @@ -#N canvas 10 40 624 464 10; +#N canvas 10 40 620 460 10; #X obj 8 10 cnv 15 400 40 empty empty render_chains 20 12 0 24 -228992 -66577 0; #X obj 208 217 gemhead; diff --git a/doc/tutorials/visual/05.basic_2d_objects.pd b/doc/tutorials/visual/05.basic_2d_objects.pd index dc6d6da9..2c7741b7 100644 --- a/doc/tutorials/visual/05.basic_2d_objects.pd +++ b/doc/tutorials/visual/05.basic_2d_objects.pd @@ -1,4 +1,4 @@ -#N canvas 20 42 632 472 10; +#N canvas 10 40 620 460 10; #X obj 8 10 cnv 15 400 40 empty empty basic_2d_objects 20 12 0 24 -228992 -66577 0; #X obj 168 196 gemhead; diff --git a/doc/tutorials/visual/06.lighting.pd b/doc/tutorials/visual/06.lighting.pd index 3b5d1070..8d0c66b7 100644 --- a/doc/tutorials/visual/06.lighting.pd +++ b/doc/tutorials/visual/06.lighting.pd @@ -1,4 +1,4 @@ -#N canvas 613 242 628 468 10; +#N canvas 10 40 620 460 10; #X obj 8 10 cnv 15 400 40 empty empty lighting 20 12 0 24 -228992 -66577 0; #X obj 465 16 gemwin_control; @@ -27,14 +27,14 @@ of lighting needs to be turned on by sending a message to [gemwin] #X msg 54 403 0 0 1; #X msg 52 301 0 1 0; #X msg 62 231 1 0 0; -#X text 125 223 A [world_light] is a light that is infinitely far away +#X text 125 225 A [world_light] is a light that is infinitely far away \, basically like sunlight. The rays coming from a [world_light] are always parallel.; #X text 124 306 [light] generates a point-light that is part of the scene. It is basically like a lamp. You can place the lamp directly in your scene.; #X msg 30 384 debug \$1; -#X obj 46 365 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +#X obj 46 365 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ; #X text 124 386 A [spot_light] generates a spot light which you can move around. It can be used for pinpoint light or widened to cover diff --git a/doc/tutorials/visual/07.basic_3d_objects.pd b/doc/tutorials/visual/07.basic_3d_objects.pd index 3ce2e586..e44c20c7 100644 --- a/doc/tutorials/visual/07.basic_3d_objects.pd +++ b/doc/tutorials/visual/07.basic_3d_objects.pd @@ -1,9 +1,6 @@ -#N canvas 283 71 624 464 10; +#N canvas 10 40 620 460 10; #X obj 8 10 cnv 15 400 40 empty empty basic_3D_objects 20 12 0 24 -228992 -66577 0; -#X obj 29 120 gemwin; -#X msg 28 63 create \, 1; -#X msg 42 90 destroy; #X obj 39 190 gemhead; #X obj 38 162 tgl 15 1 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 ; @@ -29,24 +26,27 @@ ; #X obj 341 219 torus; #X obj 465 16 gemwin_control; -#X obj 466 60 import Gem; +#X obj 466 59 import Gem; #X obj 401 191 gemhead; -#X obj 400 163 tgl 15 1 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 +#X obj 400 163 tgl 15 1 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1 ; #X obj 401 219 cuboid; +#X obj 63 322 gemhead; +#X obj 63 349 world_light; +#X msg 135 321 1 1 1; +#X connect 1 0 3 0; #X connect 2 0 1 0; -#X connect 3 0 1 0; #X connect 4 0 6 0; #X connect 5 0 4 0; #X connect 7 0 9 0; #X connect 8 0 7 0; -#X connect 10 0 12 0; +#X connect 10 0 15 0; #X connect 11 0 10 0; -#X connect 13 0 18 0; -#X connect 14 0 13 0; -#X connect 15 0 17 0; -#X connect 16 0 15 0; -#X connect 19 0 21 0; -#X connect 20 0 19 0; -#X connect 24 0 26 0; -#X connect 25 0 24 0; +#X connect 12 0 14 0; +#X connect 13 0 12 0; +#X connect 16 0 18 0; +#X connect 17 0 16 0; +#X connect 21 0 23 0; +#X connect 22 0 21 0; +#X connect 24 0 25 0; +#X connect 26 0 25 1; diff --git a/doc/tutorials/visual/08.manipulations.pd b/doc/tutorials/visual/08.manipulations.pd index a4adbd51..3b071bbe 100644 --- a/doc/tutorials/visual/08.manipulations.pd +++ b/doc/tutorials/visual/08.manipulations.pd @@ -1,5 +1,108 @@ -#N canvas 15 58 632 452 10; +#N canvas 10 40 620 460 10; #X obj 8 10 cnv 15 400 40 empty empty manipulations 20 12 0 24 -228992 -66577 0; #X obj 465 16 gemwin_control; #X obj 466 60 import Gem; +#X obj 28 130 color; +#X obj 28 342 translate; +#X obj 331 96 gemhead; +#X msg 219 78 lighting \$1; +#X obj 219 57 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 219 101 gemwin; +#X obj 205 432 world_light; +#X obj 331 427 cube; +#X obj 205 412 gemhead; +#X obj 332 146 translateXYZ 0 0 0; +#X obj 457 86 hsl 128 15 -2 2 0 0 empty empty X 12 8 1 12 -233017 -1 +-1 0 1; +#X obj 457 106 hsl 128 15 -2 2 0 0 empty empty Y 12 8 1 12 -233017 +-1 -1 5900 1; +#X obj 457 126 hsl 128 15 -2 2 0 0 empty empty Z 12 8 1 12 -233017 +-1 -1 0 1; +#X obj 457 166 hsl 128 15 0 360 0 0 empty empty X 12 8 1 12 -233017 +-1 -1 0 1; +#X obj 457 186 hsl 128 15 0 360 0 0 empty empty Y 12 8 1 12 -233017 +-1 -1 0 1; +#X obj 457 206 hsl 128 15 0 360 0 0 empty empty Z 12 8 1 12 -233017 +-1 -1 0 1; +#X obj 331 225 rotateXYZ 0 0 0; +#X obj 457 246 hsl 128 15 0 3 0 1 empty empty X 12 8 1 12 -233017 -1 +-1 4233 1; +#X obj 457 266 hsl 128 15 0 3 0 1 empty empty Y 12 8 1 12 -233017 -1 +-1 4233 1; +#X obj 457 286 hsl 128 15 0 3 0 1 empty empty Z 12 8 1 12 -233017 -1 +-1 4233 1; +#X obj 457 326 hsl 128 15 0 1 0 1 empty empty R 12 8 1 12 -261689 -1 +-1 12700 1; +#X obj 457 346 hsl 128 15 0 1 0 1 empty empty G 12 8 1 12 -225271 -1 +-1 12700 1; +#X obj 457 366 hsl 128 15 0 1 0 1 empty empty B 12 8 1 12 -228992 -1 +-1 12700 1; +#X obj 331 385 colorRGB 1 1 1; +#X obj 28 371 sphere; +#X obj 27 83 gemhead; +#X obj 60 300 hsl 128 15 -2 2 0 0 empty empty amount 6 8 1 12 -233017 +-1 -1 0 1; +#X msg 73 318 1 0 1; +#X msg 120 318 0 0.5 0.5; +#X text 118 335 direction; +#X obj 60 230 hsl 128 15 0 3 0 0 empty empty amount 6 8 1 12 -233017 +-1 -1 0 1; +#X msg 73 248 1 0 1; +#X msg 120 248 0 0.5 0.5; +#X text 118 265 direction; +#X obj 60 163 hsl 128 15 0 360 0 0 empty empty amount 6 8 1 12 -233017 +-1 -1 0 1; +#X msg 73 181 1 0 1; +#X msg 120 181 0 0.5 0.5; +#X msg 39 103 1 1 1; +#X msg 86 103 1 0 0; +#X msg 133 103 0 0 1; +#X obj 28 205 rotate; +#X obj 28 272 scale 1 1 1; +#X text 118 198 rotation axis; +#X obj 331 305 scaleXYZ 1 1 1; +#X obj 331 75 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 27 64 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X connect 3 0 43 0; +#X connect 4 0 27 0; +#X connect 5 0 12 0; +#X connect 6 0 8 0; +#X connect 7 0 6 0; +#X connect 11 0 9 0; +#X connect 12 0 19 0; +#X connect 13 0 12 1; +#X connect 14 0 12 2; +#X connect 15 0 12 3; +#X connect 16 0 19 1; +#X connect 17 0 19 2; +#X connect 18 0 19 3; +#X connect 19 0 46 0; +#X connect 20 0 46 1; +#X connect 21 0 46 2; +#X connect 22 0 46 3; +#X connect 23 0 26 1; +#X connect 24 0 26 2; +#X connect 25 0 26 3; +#X connect 26 0 10 0; +#X connect 28 0 3 0; +#X connect 29 0 4 1; +#X connect 30 0 4 2; +#X connect 31 0 4 2; +#X connect 33 0 44 1; +#X connect 34 0 44 2; +#X connect 35 0 44 2; +#X connect 37 0 43 1; +#X connect 38 0 43 2; +#X connect 39 0 43 2; +#X connect 40 0 3 1; +#X connect 41 0 3 1; +#X connect 42 0 3 1; +#X connect 43 0 44 0; +#X connect 44 0 4 0; +#X connect 46 0 26 0; +#X connect 47 0 5 0; +#X connect 48 0 28 0; diff --git a/doc/tutorials/visual/09.gem_units.pd b/doc/tutorials/visual/09.gem_units.pd index db0c06b8..71875daf 100644 --- a/doc/tutorials/visual/09.gem_units.pd +++ b/doc/tutorials/visual/09.gem_units.pd @@ -1,4 +1,4 @@ -#N canvas 574 327 632 452 10; +#N canvas 10 40 620 460 10; #X obj 8 10 cnv 15 400 40 empty empty gem_units 20 12 0 24 -228992 -66577 0; #X obj 465 16 gemwin_control; diff --git a/doc/tutorials/visual/10.Exercise-make_your_object.pd b/doc/tutorials/visual/10.Exercise-make_your_object.pd new file mode 100644 index 00000000..964fa05c --- /dev/null +++ b/doc/tutorials/visual/10.Exercise-make_your_object.pd @@ -0,0 +1,8 @@ +#N canvas 10 40 620 460 10; +#X obj 8 10 cnv 15 400 40 empty empty exercise 20 12 0 24 -228992 -66577 +0; +#X obj 465 16 gemwin_control; +#X obj 466 60 import Gem; +#X text 14 68 EXERCISE:; +#X text 14 92 Build a patch that allows you to move an object around +the Gem windows and change its color.; diff --git a/doc/tutorials/visual/11.images.pd b/doc/tutorials/visual/11.images.pd new file mode 100644 index 00000000..1ccfdfd1 --- /dev/null +++ b/doc/tutorials/visual/11.images.pd @@ -0,0 +1,31 @@ +#N canvas 10 40 620 460 10; +#X obj 8 10 cnv 15 400 40 empty empty images 20 12 0 24 -228992 -66577 +0; +#X obj 465 16 gemwin_control; +#X obj 466 60 import Gem; +#X obj 141 157 gemhead; +#X obj 141 306 pix_draw; +#X obj 141 269 pix_image; +#X obj 157 189 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#N canvas 10 40 620 460 openpanel 0; +#X obj 114 62 inlet; +#X obj 121 254 outlet; +#X obj 114 125 openpanel; +#X msg 114 162 set open \$1; +#X obj 114 199 t b a; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 1 0; +#X connect 4 1 1 0; +#X restore 157 210 pd openpanel; +#X msg 157 238 open somefile.jpg; +#X text 14 67 You can load up and display images in the Gem space. +[pix_image] loads up the image \, and [pix_draw] draws it to the screen. +; +#X connect 3 0 5 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 5 0; diff --git a/doc/tutorials/visual/12.texturing.pd b/doc/tutorials/visual/12.texturing.pd new file mode 100644 index 00000000..d5fdaaaf --- /dev/null +++ b/doc/tutorials/visual/12.texturing.pd @@ -0,0 +1,22 @@ +#N canvas 10 40 620 460 10; +#X obj 8 10 cnv 15 400 40 empty empty texturing 20 12 0 24 -228992 +-66577 0; +#X obj 465 16 gemwin_control; +#X obj 466 60 import Gem; +#X obj 80 144 gemhead; +#X obj 80 256 pix_image; +#X obj 96 176 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X obj 80 293 pix_texture; +#X text 9 66 You can write images to surfaces of objects. This is known +as texturing. You use the [pix_texture] object followed by the shape +to write to:; +#X obj 81 351 cuboid 4 3 3; +#X obj 96 197 openpanel; +#X msg 96 225 open \$1; +#X connect 3 0 4 0; +#X connect 4 0 6 0; +#X connect 5 0 9 0; +#X connect 6 0 8 0; +#X connect 9 0 10 0; +#X connect 10 0 4 0; diff --git a/doc/tutorials/visual/13.movies.pd b/doc/tutorials/visual/13.movies.pd new file mode 100644 index 00000000..deb75c19 --- /dev/null +++ b/doc/tutorials/visual/13.movies.pd @@ -0,0 +1,43 @@ +#N canvas 10 40 620 460 10; +#X obj 8 10 cnv 15 400 40 empty empty movies 20 12 0 24 -228992 -66577 +0; +#X obj 465 16 gemwin_control; +#X obj 466 60 import Gem; +#X obj 118 90 gemhead; +#X obj 130 120 bng 25 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X text 173 95 movie-clip; +#X obj 147 314 unpack 0 0 0; +#X floatatom 133 337 5 0 0 3 length - -; +#X floatatom 182 337 5 0 0 3 width - -; +#X obj 187 295 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +-1 -1; +#X floatatom 176 260 5 0 10000 1 frame# - -; +#X obj 130 149 openpanel; +#X msg 130 169 open \$1; +#X msg 136 212 auto \$1; +#X obj 136 194 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1 +; +#X msg 147 236 colorspace Grey; +#X floatatom 229 338 5 0 0 0 - - -; +#X obj 118 278 pix_film; +#X obj 120 374 pix_texture; +#X text 14 58 You can also uses videos as textures:; +#X obj 120 424 cuboid 4 3 3; +#X obj 120 399 translateXYZ 0 0 -3; +#X connect 3 0 17 0; +#X connect 4 0 11 0; +#X connect 6 0 7 0; +#X connect 6 1 8 0; +#X connect 6 2 16 0; +#X connect 10 0 17 1; +#X connect 11 0 12 0; +#X connect 12 0 17 0; +#X connect 13 0 17 0; +#X connect 14 0 13 0; +#X connect 15 0 17 0; +#X connect 17 0 18 0; +#X connect 17 1 6 0; +#X connect 17 2 9 0; +#X connect 18 0 21 0; +#X connect 21 0 20 0; diff --git a/doc/tutorials/visual/14.live_video.pd b/doc/tutorials/visual/14.live_video.pd new file mode 100644 index 00000000..c58c13e9 --- /dev/null +++ b/doc/tutorials/visual/14.live_video.pd @@ -0,0 +1,46 @@ +#N canvas 10 40 620 460 10; +#X obj 8 10 cnv 15 400 40 empty empty live_video 20 12 0 24 -228992 +-66577 0; +#X obj 465 16 gemwin_control; +#X obj 466 60 import Gem; +#X obj 6 76 gemhead; +#X msg 143 139 freq 1234; +#X msg 145 210 dimen 256 256; +#X msg 145 230 dimen 64 64; +#X msg 141 62 mode NTSC; +#X msg 142 88 channel 2; +#X obj 6 417 rectangle 4 3; +#X msg 145 190 dimen 256 128; +#X obj 6 393 pix_texture; +#X text 223 83 depending on your capture-device you can switch between +(e.g) Tuner \, COMPOSITE & S-VHS; +#X text 211 63 defaults to PAL; +#X text 221 141 set the frequency for the TV-Tuner; +#X text 260 194 various dimension (might not work on your specific +capture-device); +#X obj 6 366 pix_video; +#X msg 145 271 colorspace RGBA; +#X text 263 271 could be RGBA \, YUV or Grey; +#X msg 148 312 device 0; +#X msg 148 342 driver 0; +#X text 262 313 switch between capture-cards; +#X text 252 343 switch between drivers (e.g: v4l and ieee1394); +#X msg 150 380 enumerate; +#X text 248 379 list all devices to the console; +#X msg 156 422 dialog; +#X text 222 423 configure the device via a pop-up dialog (on Windows(r)) +; +#X connect 3 0 16 0; +#X connect 4 0 16 0; +#X connect 5 0 16 0; +#X connect 6 0 16 0; +#X connect 7 0 16 0; +#X connect 8 0 16 0; +#X connect 10 0 16 0; +#X connect 11 0 9 0; +#X connect 16 0 11 0; +#X connect 17 0 16 0; +#X connect 19 0 16 0; +#X connect 20 0 16 0; +#X connect 23 0 16 0; +#X connect 25 0 16 0; diff --git a/doc/tutorials/visual/15.pixel_processing.pd b/doc/tutorials/visual/15.pixel_processing.pd new file mode 100644 index 00000000..5a63956d --- /dev/null +++ b/doc/tutorials/visual/15.pixel_processing.pd @@ -0,0 +1,44 @@ +#N canvas 10 40 620 460 10; +#X obj 8 10 cnv 15 400 40 empty empty pixel_processing 20 12 0 24 -228992 +-66577 0; +#X obj 465 16 gemwin_control; +#X obj 466 60 import Gem; +#X text 13 65 There is a very wide range of pixel-based effects in +Gem. These objects start with the "pix_" prefix. You can see a list +of them in the Help Browser \, in "5.reference->Gem" \, then scroll +down to the objects starting with "pix_".; +#X obj 92 170 gemhead; +#X obj 92 379 square 3; +#X obj 92 357 pix_texture; +#X obj 92 249 pix_film; +#X obj 156 249 t f; +#X obj 105 192 bng 25 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#N canvas 10 40 620 460 open 0; +#X obj 85 49 inlet; +#X obj 85 237 outlet; +#X obj 85 145 openpanel; +#X msg 85 179 open \$1; +#X msg 259 213 auto 1; +#X obj 268 179 loadbang; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X restore 105 221 pd open; +#X obj 92 325 pix_motionblur; +#X text 14 132 Here's an example of one effect:; +#X obj 190 299 hsl 128 15 0 1 0 0 empty empty amount 8 8 1 12 -262144 +-1 -1 0 1; +#X floatatom 203 323 5 0 0 0 - - -; +#X connect 4 0 7 0; +#X connect 6 0 5 0; +#X connect 7 0 11 0; +#X connect 7 2 8 0; +#X connect 8 0 7 1; +#X connect 9 0 10 0; +#X connect 10 0 7 0; +#X connect 11 0 6 0; +#X connect 13 0 11 1; +#X connect 13 0 14 0; diff --git a/doc/tutorials/visual/16.Exercise-pix_effects.pd b/doc/tutorials/visual/16.Exercise-pix_effects.pd new file mode 100644 index 00000000..42bd74ce --- /dev/null +++ b/doc/tutorials/visual/16.Exercise-pix_effects.pd @@ -0,0 +1,7 @@ +#N canvas 10 40 624 464 10; +#X obj 8 10 cnv 15 400 40 empty empty exercise 20 12 0 24 -228992 -66577 +0; +#X obj 465 16 gemwin_control; +#X obj 466 60 import Gem; +#X text 11 63 Start with a image \, movie \, or live video and add +some pixel effects of your choosing.; diff --git a/doc/tutorials/visual/17.tracking.pd b/doc/tutorials/visual/17.tracking.pd new file mode 100644 index 00000000..d21e6a75 --- /dev/null +++ b/doc/tutorials/visual/17.tracking.pd @@ -0,0 +1,140 @@ +#N canvas 10 40 620 460 10; +#X obj 8 10 cnv 15 400 40 empty empty tracking 20 12 0 24 -228992 -66577 +0; +#X obj 465 16 gemwin_control; +#X obj 466 60 import Gem; +#X obj 159 193 pix_grey; +#X msg 184 221 reset; +#X obj 159 250 pix_background; +#X msg 252 229 \$1 \$1 \$1; +#X floatatom 252 213 5 0 0 0 - - -; +#X obj 103 316 pix_blob; +#N canvas 10 40 620 460 cursor 0; +#X obj 17 14 inlet; +#X obj 89 18 inlet; +#X obj 101 346 translateXYZ; +#X text 63 148 0.64; +#X text 37 151 1; +#X obj 23 63 t f f; +#X obj 37 176 -; +#X text 62 177 X-Range; +#X text 196 176 Y-Range; +#X obj 63 240 expr (8/$f1); +#X obj 33 241 -; +#X obj 51 267 *; +#X obj 29 95 max 0; +#X obj 71 95 min 10; +#X obj 59 132 f; +#X obj 33 131 f; +#X obj 52 293 - 4; +#X text 193 146 0.64; +#X text 167 149 1; +#X obj 153 61 t f f; +#X obj 167 174 -; +#X obj 193 238 expr (8/$f1); +#X obj 163 239 -; +#X obj 181 265 *; +#X obj 159 93 max 0; +#X obj 201 93 min 10; +#X obj 189 130 f; +#X obj 163 129 f; +#X text 188 171 comment; +#X obj 154 298 expr (-1*$f1)+4; +#X obj 293 27 inlet; +#X obj 283 63 * 10; +#X obj 94 320 gemhead 15; +#X obj 157 509 circle 0.1; +#X obj 17 423 separator; +#X obj 87 423 separator; +#X obj 17 484 rectangle 0.2 0.01; +#X obj 157 423 separator; +#X msg 185 478 draw line; +#X obj 185 457 loadbang; +#X obj 77 386 colorRGB 1 0 0 1; +#X obj 17 462 rectangle 0.01 0.2; +#X msg 256 478 width \$1; +#X obj 296 342 int; +#X obj 275 413 + 1; +#X connect 0 0 5 0; +#X connect 1 0 19 0; +#X connect 2 0 40 0; +#X connect 5 0 10 0; +#X connect 5 0 12 0; +#X connect 5 1 13 0; +#X connect 6 0 9 0; +#X connect 9 0 11 1; +#X connect 10 0 11 0; +#X connect 11 0 16 0; +#X connect 12 0 15 0; +#X connect 13 0 14 0; +#X connect 14 0 6 1; +#X connect 14 0 10 1; +#X connect 14 0 13 1; +#X connect 15 0 6 0; +#X connect 15 0 12 1; +#X connect 16 0 2 1; +#X connect 19 0 22 0; +#X connect 19 0 24 0; +#X connect 19 1 25 0; +#X connect 20 0 21 0; +#X connect 21 0 23 1; +#X connect 22 0 23 0; +#X connect 23 0 29 0; +#X connect 24 0 27 0; +#X connect 25 0 26 0; +#X connect 26 0 20 1; +#X connect 26 0 22 1; +#X connect 26 0 25 1; +#X connect 27 0 20 0; +#X connect 27 0 24 1; +#X connect 29 0 2 2; +#X connect 30 0 31 0; +#X connect 31 0 33 1; +#X connect 31 0 43 0; +#X connect 32 0 2 0; +#X connect 34 0 41 0; +#X connect 35 0 36 0; +#X connect 37 0 33 0; +#X connect 38 0 33 0; +#X connect 39 0 38 0; +#X connect 40 0 34 0; +#X connect 40 0 35 0; +#X connect 40 0 37 0; +#X connect 42 0 33 0; +#X connect 43 0 44 0; +#X connect 44 0 42 0; +#X restore 117 348 pd cursor; +#X obj 292 133 separator; +#X obj 292 154 pix_texture; +#X obj 292 175 square 4; +#X obj 278 368 pix_texture; +#X obj 159 170 separator; +#X obj 278 348 alpha; +#X obj 278 328 colourRGB 1 1 1 0.65; +#X obj 278 388 translateXYZ -2.4 -2.4 0; +#X obj 278 408 square 1.5; +#X obj 227 68 gemhead 10; +#X obj 227 89 pix_video; +#X text 276 309 Show pix_background output; +#X text 116 369 Show centroid/size; +#X text 294 210 Set noise threshold; +#X text 291 115 Render source video; +#X connect 3 0 5 0; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 5 0 16 0; +#X connect 6 0 5 1; +#X connect 7 0 6 0; +#X connect 8 1 9 0; +#X connect 8 2 9 1; +#X connect 8 3 9 2; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 13 0 17 0; +#X connect 14 0 3 0; +#X connect 15 0 13 0; +#X connect 16 0 15 0; +#X connect 17 0 18 0; +#X connect 19 0 20 0; +#X connect 20 0 10 0; +#X connect 20 0 14 0; diff --git a/doc/tutorials/visual/Attic/10.exercise.pd b/doc/tutorials/visual/Attic/10.exercise.pd deleted file mode 100644 index 964fa05c..00000000 --- a/doc/tutorials/visual/Attic/10.exercise.pd +++ /dev/null @@ -1,8 +0,0 @@ -#N canvas 10 40 620 460 10; -#X obj 8 10 cnv 15 400 40 empty empty exercise 20 12 0 24 -228992 -66577 -0; -#X obj 465 16 gemwin_control; -#X obj 466 60 import Gem; -#X text 14 68 EXERCISE:; -#X text 14 92 Build a patch that allows you to move an object around -the Gem windows and change its color.; diff --git a/doc/tutorials/visual/TEMPLATE.pd b/doc/tutorials/visual/TEMPLATE.pd index 6fc45ac9..24956083 100644 --- a/doc/tutorials/visual/TEMPLATE.pd +++ b/doc/tutorials/visual/TEMPLATE.pd @@ -1,4 +1,4 @@ -#N canvas 15 58 628 448 10; +#N canvas 10 40 620 460 10; #X obj 8 10 cnv 15 400 40 empty empty TEMPLATE 20 12 0 24 -228992 -66577 0; #X obj 465 16 gemwin_control; -- cgit v1.2.1