diff options
19 files changed, 516 insertions, 136 deletions
diff --git a/doc/tutorials/intro/24.turning_on_and_off.pd b/doc/tutorials/intro/24.turning_on_and_off.pd new file mode 100644 index 00000000..24323e6e --- /dev/null +++ b/doc/tutorials/intro/24.turning_on_and_off.pd @@ -0,0 +1,50 @@ +#N canvas 100 227 628 453 12; +#X obj 10 10 cnv 15 400 40 empty empty turning_on_and_off 20 12 0 24 +-228992 -66577 0; +#X obj 160 145 metro 1000; +#X obj 160 122 tgl 20 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 +; +#X text 183 122 <-- click here; +#X obj 160 171 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 186 171 bangs once a second (1000ms); +#X text 15 371 The object is called [tgl] or you can get it from the +"Put" menu.; +#X text 14 63 Many objects can be switched on and off using a toggle. +A toggle outputs 0 for off \, and an number for on.; +#X text 11 217 By default \, a toggle outputs 1 for on \, but you can +change that to any number by selecting the "Properties" dialog.; +#X obj 33 290 tgl 20 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 +; +#X floatatom 33 324 5 0 0 0 - - -; +#X obj 103 290 tgl 20 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 100 +; +#X floatatom 103 324 5 0 0 0 - - -; +#X obj 173 290 tgl 20 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 9e-22 +; +#X floatatom 173 324 5 0 0 0 - - -; +#X obj 243 290 tgl 20 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 -0.034 +; +#X floatatom 243 324 5 0 0 0 - - -; +#X obj 313 290 tgl 20 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 23 +; +#X floatatom 313 324 5 0 0 0 - - -; +#X obj 383 290 tgl 20 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 99999 +; +#X floatatom 383 324 5 0 0 0 - - -; +#X obj 453 290 tgl 20 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 +; +#X floatatom 453 324 5 0 0 0 - - -; +#X obj 523 290 tgl 20 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 100 +; +#X floatatom 523 324 5 0 0 0 - - -; +#X connect 1 0 4 0; +#X connect 2 0 1 0; +#X connect 9 0 10 0; +#X connect 11 0 12 0; +#X connect 13 0 14 0; +#X connect 15 0 16 0; +#X connect 17 0 18 0; +#X connect 19 0 20 0; +#X connect 21 0 22 0; +#X connect 23 0 24 0; diff --git a/doc/tutorials/intro/25.properties.pd b/doc/tutorials/intro/25.properties.pd new file mode 100644 index 00000000..a7bbdb81 --- /dev/null +++ b/doc/tutorials/intro/25.properties.pd @@ -0,0 +1,16 @@ +#N canvas 418 177 624 449 12; +#X obj 10 10 cnv 15 400 40 empty empty properties 20 12 0 24 -228992 +-66577 0; +#X obj 260 148 tgl 200 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 +12345; +#X text 13 65 Many objects have properties that affect how the behave +and look. You can see and edit these properties by opening the Properties +panel. Below is a giant toggle. If you right-click on it \, and select +"Properties" \, you can see the properties.; +#X floatatom 260 353 5 0 0 0 - - -; +#X text 18 387 You'll see in the properties panel that "size" is set +to 200 pixels and "value" is set to 12345 \, so the toggle outputs +12345 when its turned on.; +#X text 15 221 right-click on this -->; +#X text 15 240 and select "Properties"; +#X connect 1 0 3 0; diff --git a/doc/tutorials/intro/26.sliders.pd b/doc/tutorials/intro/26.sliders.pd new file mode 100644 index 00000000..0fb0ff23 --- /dev/null +++ b/doc/tutorials/intro/26.sliders.pd @@ -0,0 +1,42 @@ +#N canvas 52 115 624 449 12; +#X obj 10 10 cnv 15 400 40 empty empty sliders 20 12 0 24 -228992 -66577 +0; +#X obj 120 105 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X floatatom 120 247 5 0 0 0 - - -; +#X obj 338 106 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X floatatom 338 248 5 0 0 0 - - -; +#X floatatom 230 412 5 0 0 0 - - -; +#X msg 333 349 1000; +#X msg 248 349 100; +#X msg 204 349 60; +#X msg 290 349 127; +#X text 9 61 Sliders are generally useful for controlling things over +a range of numbers \, like a color or loudness.; +#X text 144 130 by default \,; +#X text 144 152 they range; +#X text 142 174 from 0 to 127; +#X text 363 138 0 to 1 is a; +#X text 361 160 commonly used; +#X text 361 181 range; +#X obj 234 389 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X msg 162 349 0; +#X msg 117 349 -23; +#X text 16 276 They act very similarly to number boxes \, except they +show their value graphically rather that with numbers. One difference +is that sliders always limit the range of numbers that can pass thru: +; +#X obj 211 413 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 6 0 17 0; +#X connect 7 0 17 0; +#X connect 8 0 17 0; +#X connect 9 0 17 0; +#X connect 17 0 5 0; +#X connect 17 0 21 0; +#X connect 18 0 17 0; +#X connect 19 0 17 0; diff --git a/doc/tutorials/intro/24.guis.pd b/doc/tutorials/intro/27.guis.pd index ca08bb3a..ca08bb3a 100644 --- a/doc/tutorials/intro/24.guis.pd +++ b/doc/tutorials/intro/27.guis.pd diff --git a/doc/tutorials/intro/25.gui_objects.pd b/doc/tutorials/intro/28.gui_objects.pd index 8a75061f..8a75061f 100644 --- a/doc/tutorials/intro/25.gui_objects.pd +++ b/doc/tutorials/intro/28.gui_objects.pd diff --git a/doc/tutorials/intro/26.nervous_guis.pd b/doc/tutorials/intro/29.nervous_guis.pd index 724fed59..dff9fac2 100644 --- a/doc/tutorials/intro/26.nervous_guis.pd +++ b/doc/tutorials/intro/29.nervous_guis.pd @@ -1,16 +1,16 @@ -#N canvas 10 40 624 449 12; +#N canvas 10 40 632 457 12; #X obj 10 10 cnv 15 400 40 empty empty nervous_guis 20 12 0 24 -228992 -66577 0; #X obj 486 20 tgl 20 1 empty start_nervously1 start_it 8 -8 0 10 -24198 -1 -250685 0 1; -#X obj 127 179 bng 16 1200 50 0 empty nerv_bng bang 8 -8 0 10 -91120 --252939 -113209; -#X obj 112 346 hsl 116 29 0 127 0 0 empty nerv_hsl h-slider 8 -8 0 -10 -140002 -259981 -172176 2336 1; -#X obj 400 211 tgl 70 1 empty nerv_tgl toggle 8 -8 0 10 -77819 -177692 --11757 0 1; -#X obj 370 329 vsl 8 81 0 127 0 0 empty nerv_vsl v-slider 8 -8 0 10 --55101 -168903 -47444 1998 1; +#X obj 138 200 bng 15 1200 50 0 empty nerv_bng bang 8 -8 0 10 -262144 +-55405 -1; +#X obj 132 385 hsl 127 15 0 127 0 0 empty nerv_hsl h-slider 8 -8 0 +10 -262144 -1 -1 0 1; +#X obj 364 184 tgl 15 1 empty nerv_tgl toggle 8 -8 0 10 -262144 -1 +-1 1 1; +#X obj 359 305 vsl 15 127 0 127 0 0 empty nerv_vsl v-slider 8 -8 0 +10 -262144 -1 -1 0 1; #N canvas 135 99 386 473 control 0; #X obj 19 21 inlet; #X obj 19 50 t b f; diff --git a/doc/tutorials/intro/Attic/grabbing_keystrokes.pd b/doc/tutorials/intro/Attic/grabbing_keystrokes.pd new file mode 100644 index 00000000..bf369dc5 --- /dev/null +++ b/doc/tutorials/intro/Attic/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/Attic/sorting_messages_by_type.pd b/doc/tutorials/intro/Attic/sorting_messages_by_type.pd index 12e84c05..65f633be 100644 --- a/doc/tutorials/intro/Attic/sorting_messages_by_type.pd +++ b/doc/tutorials/intro/Attic/sorting_messages_by_type.pd @@ -1,47 +1,49 @@ -#N canvas 565 106 627 443 12; -#X obj -60 8 cnv 15 400 40 empty empty sorting_messages_by_type 20 +#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 text -50 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 floatatom 168 339 5 0 0 0 - - -; -#X symbolatom 237 338 10 0 0 0 - - -; -#X obj 100 359 bng 15 250 50 0 empty empty bang -6 23 1 12 -262144 +#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 100 315 route bang float symbol list; -#X obj 168 359 bng 15 250 50 0 empty empty float -4 23 1 12 -262144 +#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 237 359 bng 15 250 50 0 empty empty symbol -12 23 1 12 -262144 +#X obj 351 379 bng 15 250 50 0 empty empty symbol -12 23 1 12 -262144 -1 -1; -#X obj 306 359 bng 15 250 50 0 empty empty list -2 23 1 12 -262144 +#X obj 420 379 bng 15 250 50 0 empty empty list -2 23 1 12 -262144 -1 -1; -#X obj 375 359 bng 15 250 50 0 empty empty selector_series -18 23 1 +#X obj 489 379 bng 15 250 50 0 empty empty selector_series -18 23 1 12 -262144 -1 -1; -#X msg -43 173 bang; -#X msg 34 196 642.3; -#X msg 109 170 symbol moshimoshi; -#X msg 129 194 symbol sayonara; -#X obj -9 198 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -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 331 171 1 2 3; -#X msg 344 194 5 for free!; -#X msg 345 228 list here we go...; -#X msg 345 261 not a list? nope...; -#X msg 11 172 float 5; +#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 3 0 7 0; -#X connect 5 0 4 0; -#X connect 5 1 2 0; -#X connect 5 2 3 0; -#X connect 5 3 8 0; -#X connect 5 4 9 0; -#X connect 10 0 5 0; -#X connect 11 0 5 0; -#X connect 12 0 5 0; -#X connect 13 0 5 0; -#X connect 14 0 5 0; -#X connect 15 0 5 0; -#X connect 16 0 5 0; -#X connect 17 0 5 0; -#X connect 18 0 5 0; -#X connect 19 0 5 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/README.txt b/doc/tutorials/intro/README.txt index 57090b33..69ab99e5 100644 --- a/doc/tutorials/intro/README.txt +++ b/doc/tutorials/intro/README.txt @@ -7,12 +7,13 @@ Contributors include (in alphabetical order): Alexandre Castonguay Aymeric Mansoux -Ben Bogart +Ben Bogart <ben@ekran.org> Frank Barknecht -Hans-Christoph Steiner +Gregorio GarcĂa Karman <ggkarman@airtel.net> +Hans-Christoph Steiner <hans@at.or.at> Jerome Abel Koray Tahiroglu Malte Steiner Max Neupert -Miller Puckette -Thomas Musil +Miller Puckette <msp@crca.ucsd.edu> +Thomas Musil <musil@iem.at> diff --git a/doc/tutorials/intro/TODO b/doc/tutorials/intro/TODO index 3f6d0141..009a7d69 100644 --- a/doc/tutorials/intro/TODO +++ b/doc/tutorials/intro/TODO @@ -12,59 +12,40 @@ - make looping sequence ----------- -File Order ----------- - -- hello world -- basic elements -- getting help -- edit mode -- objects -- connections -- messages -- EXERCISE: make your first Pd patch -- bang -- event driven processing -- counters -- hot and cold inlets -- right-to-left order -- ordering messages -- depth first -- storage objects -- atoms -- atomic messages -- selectors -- subpatches -- inlets and outlets -- outlet order -- Example: its all just data -- guis -- gui objects -- nervous guis - - -- EXERCISE + --------------- Unsorted topics --------------- +- math +- init to 0 +- comparing numbers +- expr +- creation arguments + + +- selecting events ([select]) +- sorting_messages_by_selectors ([route]) +- sorting_messages_by_atom ([route]) + +- storing a number globally ([value]) + +- building lists (pack and unpack, arguments) +- list2symbol + - trigger conversions - symbol conversion -- arguments - - keywords -- init to 0 -- math -- expr - - number limitations -- timing/metro +- more on timing + +- building lists +- using lists (unpack, lists replacing inlets) - writing objects in Pd (abstractions) @@ -72,7 +53,6 @@ Unsorted topics - namespaces - import -- selectors - multiple messages - sends and receives - sends in a message box diff --git a/doc/tutorials/intro/building_lists.pd b/doc/tutorials/intro/building_lists.pd new file mode 100644 index 00000000..c0682d3b --- /dev/null +++ b/doc/tutorials/intro/building_lists.pd @@ -0,0 +1,31 @@ +#N canvas 148 243 628 453 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 162 pddp/print_long; +#X obj 117 411 pddp/print_long; +#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/comparing_numbers.pd b/doc/tutorials/intro/comparing_numbers.pd new file mode 100644 index 00000000..c9b2555a --- /dev/null +++ b/doc/tutorials/intro/comparing_numbers.pd @@ -0,0 +1,56 @@ +#N canvas 411 149 624 449 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 text 162 212 <--haga click y arrastre; +#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 23 0 26 0; +#X connect 24 0 27 0; +#X connect 25 0 29 1; +#X connect 26 0 25 0; +#X connect 27 0 28 0; +#X connect 28 0 29 0; +#X connect 29 0 30 0; diff --git a/doc/tutorials/intro/arguments.pd b/doc/tutorials/intro/creation_arguments.pd index eb26924d..eb26924d 100644 --- a/doc/tutorials/intro/arguments.pd +++ b/doc/tutorials/intro/creation_arguments.pd diff --git a/doc/tutorials/intro/grabbing_keystrokes.pd b/doc/tutorials/intro/grabbing_keystrokes.pd new file mode 100644 index 00000000..bf369dc5 --- /dev/null +++ b/doc/tutorials/intro/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/selecting_events.pd b/doc/tutorials/intro/selecting_events.pd new file mode 100644 index 00000000..9e3f1a3c --- /dev/null +++ b/doc/tutorials/intro/selecting_events.pd @@ -0,0 +1,27 @@ +#N canvas 10 40 632 457 12; +#X obj 10 10 cnv 15 400 40 empty empty selecting_events 20 12 0 24 +-228992 -66577 0; +#X floatatom 75 138 5 0 0 0 - - -; +#X text 130 136 <--haga click y arrastre; +#X obj 75 187 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 105 187 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 75 161 select 2 3 4 5 6 10; +#X obj 136 187 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 167 187 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 198 187 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 229 187 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 260 187 5 0 0 0 - - -; +#X connect 1 0 5 0; +#X connect 5 0 3 0; +#X connect 5 1 4 0; +#X connect 5 2 6 0; +#X connect 5 3 7 0; +#X connect 5 4 8 0; +#X connect 5 5 9 0; +#X connect 5 6 10 0; diff --git a/doc/tutorials/intro/sorting_messages_by_selectors.pd b/doc/tutorials/intro/sorting_messages_by_selectors.pd index 266d0b04..21955ca5 100644 --- a/doc/tutorials/intro/sorting_messages_by_selectors.pd +++ b/doc/tutorials/intro/sorting_messages_by_selectors.pd @@ -1,4 +1,3 @@ -#N canvas 282 124 623 439 12; -#X obj -60 8 cnv 15 400 40 empty empty sorting_messages_by_type 20 -12 0 24 -228992 -66577 0; -#X text -50 63 comment; +#N canvas 290 64 632 457 12; +#X obj 10 10 cnv 15 420 40 empty empty sorting_messages_by_selector +20 12 0 24 -228992 -66577 0; diff --git a/doc/tutorials/intro/sorting_messages_by_type.pd b/doc/tutorials/intro/sorting_messages_by_type.pd index 12e84c05..65f633be 100644 --- a/doc/tutorials/intro/sorting_messages_by_type.pd +++ b/doc/tutorials/intro/sorting_messages_by_type.pd @@ -1,47 +1,49 @@ -#N canvas 565 106 627 443 12; -#X obj -60 8 cnv 15 400 40 empty empty sorting_messages_by_type 20 +#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 text -50 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 floatatom 168 339 5 0 0 0 - - -; -#X symbolatom 237 338 10 0 0 0 - - -; -#X obj 100 359 bng 15 250 50 0 empty empty bang -6 23 1 12 -262144 +#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 100 315 route bang float symbol list; -#X obj 168 359 bng 15 250 50 0 empty empty float -4 23 1 12 -262144 +#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 237 359 bng 15 250 50 0 empty empty symbol -12 23 1 12 -262144 +#X obj 351 379 bng 15 250 50 0 empty empty symbol -12 23 1 12 -262144 -1 -1; -#X obj 306 359 bng 15 250 50 0 empty empty list -2 23 1 12 -262144 +#X obj 420 379 bng 15 250 50 0 empty empty list -2 23 1 12 -262144 -1 -1; -#X obj 375 359 bng 15 250 50 0 empty empty selector_series -18 23 1 +#X obj 489 379 bng 15 250 50 0 empty empty selector_series -18 23 1 12 -262144 -1 -1; -#X msg -43 173 bang; -#X msg 34 196 642.3; -#X msg 109 170 symbol moshimoshi; -#X msg 129 194 symbol sayonara; -#X obj -9 198 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -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 331 171 1 2 3; -#X msg 344 194 5 for free!; -#X msg 345 228 list here we go...; -#X msg 345 261 not a list? nope...; -#X msg 11 172 float 5; +#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 3 0 7 0; -#X connect 5 0 4 0; -#X connect 5 1 2 0; -#X connect 5 2 3 0; -#X connect 5 3 8 0; -#X connect 5 4 9 0; -#X connect 10 0 5 0; -#X connect 11 0 5 0; -#X connect 12 0 5 0; -#X connect 13 0 5 0; -#X connect 14 0 5 0; -#X connect 15 0 5 0; -#X connect 16 0 5 0; -#X connect 17 0 5 0; -#X connect 18 0 5 0; -#X connect 19 0 5 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/storing_a_number_globally.pd b/doc/tutorials/intro/storing_a_number_globally.pd new file mode 100644 index 00000000..42ceaaf6 --- /dev/null +++ b/doc/tutorials/intro/storing_a_number_globally.pd @@ -0,0 +1,35 @@ +#N canvas 326 214 628 453 12; +#X obj 10 10 cnv 15 400 40 empty empty storing_a_number_globally 20 +12 0 24 -228992 -66577 0; +#X obj 223 131 bng 20 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X floatatom 223 180 5 0 0 0 - - -; +#X obj 223 156 value variable1; +#X obj 58 133 bng 20 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X floatatom 58 182 5 0 0 0 - - -; +#X obj 58 158 value variable1; +#X floatatom 88 134 5 0 0 0 - - -; +#X floatatom 252 131 5 0 0 0 - - -; +#X obj 273 268 bng 20 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X floatatom 273 317 5 0 0 0 - - -; +#X obj 58 270 bng 20 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X floatatom 58 319 5 0 0 0 - - -; +#X floatatom 88 271 5 0 0 0 - - -; +#X floatatom 302 268 5 0 0 0 - - -; +#X obj 273 293 value something_else; +#X obj 58 295 value something_else; +#X connect 1 0 3 0; +#X connect 3 0 2 0; +#X connect 4 0 6 0; +#X connect 6 0 5 0; +#X connect 7 0 6 0; +#X connect 8 0 3 0; +#X connect 9 0 15 0; +#X connect 11 0 16 0; +#X connect 13 0 16 0; +#X connect 14 0 15 0; +#X connect 15 0 10 0; +#X connect 16 0 12 0; diff --git a/doc/tutorials/intro/using_lists.pd b/doc/tutorials/intro/using_lists.pd new file mode 100644 index 00000000..4f40ff58 --- /dev/null +++ b/doc/tutorials/intro/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; |