Update of /cvsroot/pure-data/doc/tutorials/intro In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24321
Added Files: 11.metro.pd 12.hot_and_cold_inlets.pd 13.counters.pd 15.right_to_left_order.pd 16.ordering_messages.pd 17.top_to_bottom.pd 18.depth_first.pd 24.subpatches.pd 25.inlets_and_outlets.pd 26.outlet_order.pd 27.Example-all_just_data.pd 28.EXERCISE-hmmm.pd 29.turning_on_and_off.pd 30.properties.pd 31.sliders.pd 32.gui_objects.pd 33.guis.pd 34.nervous_guis.pd 35.EXERCISE-make_a_gui_object_dynamic.pd 36.selecting_events.pd 37.comparing_numbers.pd 38.math.pd 39.init_to_0.pd 40.math_expr.pd 41.number_limitations.pd 42.floats_and_ints.pd 43.EXERCISE-help_americans.pd 44.building_lists.pd 45.using_lists.pd 46.sorting_messages_by_type.pd 47.trigger_conversion.pd 48.grabbing_keystrokes.pd 49.building_messages.pd 50.pure_data_files.pd 51.multiple_messages.pd Removed Files: 10.metro.pd 13.hot_and_cold_inlets.pd 14.counters.pd 14.right_to_left_order.pd 15.ordering_messages.pd 16.top_to_bottom.pd 17.depth_first.pd 23.subpatches.pd 24.inlets_and_outlets.pd 24.outlet_order.pd 25.Example-all_just_data.pd 26.EXERCISE-hmmm.pd 28.turning_on_and_off.pd 29.properties.pd 30.sliders.pd 31.gui_objects.pd 32.guis.pd 33.nervous_guis.pd 34.EXERCISE-make_a_gui_object_dynamic.pd 35.selecting_events.pd 36.comparing_numbers.pd 37.math.pd 38.init_to_0.pd 39.math_expr.pd 40.number_limitations.pd 41.floats_and_ints.pd 42.EXERCISE-help_americans.pd 43.building_lists.pd 44.using_lists.pd 45.sorting_messages_by_type.pd 46.trigger_conversion.pd 47.grabbing_keystrokes.pd 48.building_messages.pd 49.pure_data_files.pd 50.multiple_messages.pd Log Message: reordered the numbering using the script
--- 30.sliders.pd DELETED ---
--- NEW FILE: 31.sliders.pd --- #N canvas 10 40 620 460 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 253 423 5 0 0 0 - - -; #X msg 356 360 1000; #X msg 271 360 100; #X msg 227 360 60; #X msg 313 360 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 257 400 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 -1 -1 0 1; #X msg 185 360 0; #X msg 140 360 -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 234 424 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;
--- 49.pure_data_files.pd DELETED ---
--- NEW FILE: 47.trigger_conversion.pd --- #N canvas 10 40 620 460 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;
--- NEW FILE: 50.pure_data_files.pd --- #N canvas 10 40 620 460 10; #X obj 191 249 textfile; #X obj 111 279 print all; #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 10 15 0 24 -228992 -66577 0; #X msg 317 214 read 46.pure_data_files.pd; #X obj 100 213 bang; #N canvas 10 40 620 460 clone 1; #X restore 433 456 pd clone; #X connect 0 0 1 0; #X connect 0 0 11 0; #X connect 0 1 12 0; #X connect 2 0 0 0; #X connect 3 0 9 0; #X connect 9 0 5 0; #X connect 9 1 6 0; #X connect 9 2 4 0; #X connect 9 3 7 0; #X connect 9 4 8 0; #X connect 11 0 3 0; #X connect 11 1 10 0; #X connect 12 0 16 0; #X connect 12 0 17 0; #X connect 13 0 10 0; #X connect 14 0 15 1; #X connect 15 0 14 0; #X connect 15 0 22 0; #X connect 16 0 21 0; #X connect 16 0 2 0; #X connect 16 0 13 0; #X connect 17 0 15 0; #X connect 21 0 0 0; #X connect 22 0 0 0;
--- NEW FILE: 29.turning_on_and_off.pd --- #N canvas 10 40 620 460 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 122 tgl 20 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 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 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 1 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 100 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 text 186 171 bangs once every second (1000ms); #X obj 160 145 metro 1000; #X connect 1 0 24 0; #X connect 7 0 8 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 24 0 3 0;
--- 26.EXERCISE-hmmm.pd DELETED ---
--- 16.top_to_bottom.pd DELETED ---
--- 28.turning_on_and_off.pd DELETED ---
--- NEW FILE: 36.selecting_events.pd --- #N canvas 10 40 620 460 12; #X obj 10 10 cnv 15 400 40 empty empty selecting_events 20 12 0 24 -228992 -66577 0; #X floatatom 370 178 5 0 0 0 - - -; #X obj 370 236 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 391 236 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 370 211 select 2 3 4 5 6 10; #X obj 413 236 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 435 236 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 456 236 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 478 236 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X floatatom 500 235 5 0 0 0 - - -; #X obj 58 341 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 95 342 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 133 342 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 171 342 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X msg 61 105 symbol dog; #X msg 66 134 symbol cat; #X msg 74 162 symbol foo; #X msg 81 192 symbol earth; #X msg 90 221 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 obj 209 341 pddp/print; #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 14 0 19 0; #X connect 15 0 19 0; #X connect 16 0 19 0; #X connect 17 0 19 0; #X connect 18 0 19 0; #X connect 19 0 10 0; #X connect 19 1 11 0; #X connect 19 2 12 0; #X connect 19 3 13 0; #X connect 19 4 22 0; #X connect 20 0 19 0;
--- 35.selecting_events.pd DELETED ---
--- NEW FILE: 40.math_expr.pd --- #N canvas 10 40 620 460 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;
--- NEW FILE: 26.outlet_order.pd --- #N canvas 10 40 620 460 12; #X text 223 149 <-- click here ,; #X obj 8 10 cnv 15 400 40 empty empty outlet_order 20 12 0 24 -228992 -66577 0; #X msg 153 149 3 2 1; #X obj 101 234 print Ășltimo; #X obj 388 234 print first; #X obj 240 234 print nĂ€chste; #X text 19 374 There are occasional exceptions where it makes sense to break this convention. But you shouldn't do it unless it really is necessary. This will save you in the long run.; #X text 15 80 Just like the flow of programming in Pd , the data should be output from right to left.; #N canvas 10 40 620 460 spread 0; #X obj 68 2 inlet; #X obj 38 235 outlet; #X obj 201 235 outlet; #X obj 345 235 outlet; #X obj 66 109 unpack float float float; #X connect 0 0 4 0; #X connect 4 0 1 0; #X connect 4 1 2 0; #X connect 4 2 3 0; #X restore 153 188 pd spread the love; #X text 18 310 While there is nothing forcing you to output data to the outlets in any order , Pd has a very strong convention for how data should be output from an object.; #X text 175 259 now check the Pd window; #X connect 2 0 8 0; #X connect 8 0 3 0; #X connect 8 1 5 0; #X connect 8 2 4 0;
--- 32.guis.pd DELETED ---
--- NEW FILE: 15.right_to_left_order.pd --- #N canvas 10 40 624 464 12; #X obj 165 185 bng 25 250 50 0 empty empty empty -2 -8 1 10 -24198 -1 -1; #X obj 165 225 trigger bang bang bang; #X msg 381 264 1; #X msg 273 264 2; #X msg 165 264 3; #X obj 273 340 print ORDER; #X obj 8 10 cnv 15 400 40 empty empty right_to_left_order 20 12 0 24 -228992 -66577 0; #X text 212 188 <-- click here ,; #X text 10 65 In Pd , you read a patch from right to left , from top to bottom. Objects also output from right to left; #X obj 222 422 pddp/pddplink http://crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s3.3 ; #X text 97 369 then check the Pd window to see the order; #X text 11 119 The [trigger] object is used to enforce execution order. If you need things to run in a certain sequence , then use a [trigger]. ; #X text 206 403 For more info:; #X connect 0 0 1 0; #X connect 1 0 4 0; #X connect 1 1 3 0; #X connect 1 2 2 0; #X connect 2 0 5 0; #X connect 3 0 5 0; #X connect 4 0 5 0;
--- 10.metro.pd DELETED ---
--- 15.ordering_messages.pd DELETED ---
--- 47.grabbing_keystrokes.pd DELETED ---
--- NEW FILE: 46.sorting_messages_by_type.pd --- #N canvas 10 40 620 460 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;
--- NEW FILE: 35.EXERCISE-make_a_gui_object_dynamic.pd --- #N canvas 10 40 620 460 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.;
--- NEW FILE: 18.depth_first.pd --- #N canvas 10 40 620 460 12; #X obj 10 10 cnv 15 400 40 empty empty depth_first 20 12 0 24 -228992 -66577 0; #X obj 265 229 trigger bang bang; #X msg 215 338 add2 $1; #X msg 84 234 set; #X text 18 234 reset:; #X msg 264 195 4; #X msg 265 262 3; #X msg 430 260 2; #X msg 430 295 1; #X text 15 378 see result here -->; #X obj 265 164 bng 25 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1; #X text 12 66 Pd processes messages in "depth first". This means the bottom-most message in a chain runs first. Everything below a spot in a chain is run before. As you'll see from the example below , the [4( message actually runs last , since everything below it executed before it.; #X obj 223 430 pddp/pddplink http://crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s3.2 ; #X msg 214 377; #X text 205 413 For more info:; #X connect 1 0 6 0; #X connect 1 1 7 0; #X connect 2 0 13 0; #X connect 3 0 13 0; #X connect 5 0 1 0; #X connect 5 0 2 0; #X connect 6 0 2 0; #X connect 7 0 8 0; #X connect 7 0 2 0; #X connect 8 0 2 0; #X connect 10 0 5 0;
--- NEW FILE: 16.ordering_messages.pd --- #N canvas 10 40 624 464 12; #X obj 10 10 cnv 15 400 40 empty empty ordering_messages 20 12 0 24 -228992 -66577 0; #X text 10 393 look here for the result -->; #X text 10 62 Officially , the execution order in Pd is undefined. ; #X text 10 88 The [trigger] object allows you to specify the order of messages are sent. If you need to make sure that one thing runs before another , use [trigger]:; #X obj 61 149 cnv 15 50 25 empty empty empty 20 12 0 14 -225271 -66577 0; #X obj 242 149 cnv 15 50 25 empty empty empty 20 12 0 14 -225271 -66577 0; #X msg 395 249 now; #X msg 316 250 this; #X msg 237 250 makes; #X msg 158 250 sense; #X msg 80 250 !; #X obj 157 292 symbol; #X msg 249 151 bang; #X msg 69 151 bang; #X msg 157 316 add2 $1; #X msg 478 248 set; #X obj 250 178 trigger bang bang bang bang bang bang; #X msg 296 391; #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 10 0 11 0; #X connect 11 0 14 0; #X connect 12 0 16 0; #X connect 13 0 8 0; #X connect 13 0 10 0; #X connect 13 0 15 0; #X connect 13 0 9 0; #X connect 13 0 6 0; #X connect 13 0 7 0; #X connect 14 0 17 0; #X connect 15 0 17 0; #X connect 16 0 10 0; #X connect 16 1 9 0; #X connect 16 2 8 0; #X connect 16 3 7 0; #X connect 16 4 6 0; #X connect 16 5 15 0;
--- NEW FILE: 13.counters.pd --- #N canvas 10 40 620 460 12; #X obj 10 10 cnv 15 400 40 empty empty counters 20 12 0 24 -228992 -66577 0; #X obj 156 362 cnv 15 100 60 empty empty empty 20 12 0 14 -261039 -66577 0; #X obj 174 382 f; #X obj 209 382 + 1; #X obj 157 219 float; #X floatatom 120 246 5 0 0 0 - - -; #X msg 121 137 1; #X obj 120 219 +; #X msg 157 189 0; #X msg 133 160 -1; #X text 167 138 increment; #X text 172 161 decrement; #X text 195 187 reset; #X floatatom 346 244 5 0 0 0 - - -; #X msg 378 180 0; #X text 395 137 increment; #X obj 346 216 float; #X obj 404 216 + 1; #X msg 347 138 bang; #X text 278 377 DANGER! infinite loop!; #X text 20 78 Counters are used a lot when programming Pd. Here are two examples of simple counters that you will see frequently.; #X text 416 180 reset; #X text 20 277 Pd is designed to be as flexible and open as possible. This means that it will let you crash your computer. For example , never start a counter like this , it could crash your computer!; #X connect 2 0 3 0; #X connect 3 0 2 0; #X connect 4 0 7 1; #X connect 6 0 7 0; #X connect 7 0 4 0; #X connect 7 0 5 0; #X connect 8 0 4 0; #X connect 9 0 7 0; #X connect 14 0 16 1; #X connect 16 0 13 0; #X connect 16 0 17 0; #X connect 17 0 16 1; #X connect 18 0 16 0;
--- NEW FILE: 51.multiple_messages.pd --- #N canvas 10 40 620 460 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;
--- NEW FILE: 43.EXERCISE-help_americans.pd --- #N canvas 10 40 620 460 12; #X obj 11 10 cnv 15 600 40 empty empty EXERCISE-help_americans 20 12 0 24 -262131 -66577 0; #X text 19 64 Help the poor Americans to understand Celsius. The formulas are C = (5/9) * (F-32) and F = (9/5 * C) + 32 Try not to use [expr] , but instead use individual Pd objects for each math operation.;
--- 33.nervous_guis.pd DELETED ---
--- NEW FILE: 24.subpatches.pd --- #N canvas 10 40 620 460 12; #X obj 10 10 cnv 15 400 40 empty empty subpatches 20 12 0 24 -228992 -66577 0; #X text 12 69 Encapsulation is a key concept in Pd programming. Each object is an idea that is bundled up into an easy-to-use package. You should make encapsulated your ideas. Subpatches are the easiest way to do this.; #N canvas 10 40 620 460 what's 0; #X obj 140 91 loadbang; #X obj 139 149 float; #X obj 198 149 + 1; #X floatatom 139 221 5 0 0 0 - - -; #X obj 30 149 delay 1000; #X text 39 39 just counting away in here...; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 0 3 0; #X connect 1 0 4 0; #X connect 2 0 1 1; #X connect 4 0 1 0; #X restore 97 190 pd what's in here?; #X text 26 414 A subpatch is part of the same file , its just a way of organizing the logic of a program.; #X text 19 271 To make a subpatch , create an object that started with the word "pd" , then type anything after that to identify it. Try making one below:; #X text 179 214 ^-- right-click here and select "Open";
--- 14.counters.pd DELETED ---
--- 31.gui_objects.pd DELETED ---
--- 25.Example-all_just_data.pd DELETED ---
--- 38.init_to_0.pd DELETED ---
--- 34.EXERCISE-make_a_gui_object_dynamic.pd DELETED ---
--- NEW FILE: 49.building_messages.pd --- #N canvas 10 40 620 460 12; #X obj 10 10 cnv 15 400 40 empty empty building_messages 20 12 0 24 -228992 -66577 0; #X msg 86 180; #X msg 72 126 set word; #X obj 87 213 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X msg 93 149 set another; #X text 14 65 You can build messages programmatically in message boxes. The basic operation is the [set( message:; #X text 18 381 When using the [set( , [add( , and [add2( messages , the message box that you are building does not output anything. Instead it waits for a bang or a mouse click.; #X msg 53 288 add my message; #X msg 61 337; #X text 18 238 [add( puts a complete message in the message box , terminated by a semi-colon , while [add2( just the items:; #X msg 303 288 add2 my; #X msg 396 288 add2 message; #X msg 316 342; #X msg 254 288 set; #X msg 30 127 set; #X text 299 120 [set( alone resets:; #X msg 364 155 set; #X msg 364 189 blah blah blah; #X msg 69 312 set; #X connect 1 0 3 0; #X connect 2 0 1 0; #X connect 4 0 1 0; #X connect 7 0 8 0; #X connect 10 0 12 0; #X connect 11 0 12 0; #X connect 13 0 12 0; #X connect 14 0 1 0; #X connect 16 0 17 0; #X connect 18 0 8 0;
--- 48.building_messages.pd DELETED ---
--- 36.comparing_numbers.pd DELETED ---
--- 23.subpatches.pd DELETED ---
--- 24.inlets_and_outlets.pd DELETED ---
--- 40.number_limitations.pd DELETED ---
--- 42.EXERCISE-help_americans.pd DELETED ---
--- 24.outlet_order.pd DELETED ---
--- 29.properties.pd DELETED ---
--- 14.right_to_left_order.pd DELETED ---
--- NEW FILE: 34.nervous_guis.pd --- #N canvas 10 40 620 460 12; #X obj 10 10 cnv 15 400 40 empty empty nervous_guis 20 12 0 24 -228992 -66577 0; #X obj 23 146 tgl 20 1 empty start_nervously1 empty 8 -8 0 10 -24198 -1 -250685 0 1; #X obj 255 165 bng 15 1200 50 0 empty nerv_bng bang 8 -8 0 10 -262144 -1 -1; #X obj 250 343 hsl 127 15 0 127 0 0 empty nerv_hsl h-slider 8 -8 0 10 -262144 -1 -1 0 1; #X obj 443 164 tgl 15 1 empty nerv_tgl toggle 8 -8 0 10 -262144 -1 -1 0 1; #X obj 482 282 vsl 15 127 0 127 0 0 empty nerv_vsl v-slider 8 -8 0 10 -262144 -1 -1 0 1; #N canvas 10 40 620 460 control 0; #X obj 19 21 inlet; #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 84 60 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 35 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 52 130 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 33 217 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 33 312 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 32 395 pd vsl; #X obj 19 80 delay 100; #X obj 19 163 delay 900; #X obj 19 252 delay 900; #X obj 19 343 delay 900; #X obj 33 285 float; #X obj 33 190 float; #X obj 52 107 float; #X obj 32 369 float; #X obj 19 50 trigger bang float; #X connect 0 0 13 0; #X connect 5 0 6 0; #X connect 5 0 11 0; #X connect 6 0 7 0; #X connect 6 0 10 0; #X connect 7 0 8 0; #X connect 7 0 9 0; #X connect 8 0 12 0; #X connect 9 0 3 0; #X connect 10 0 2 0; #X connect 11 0 1 0; #X connect 12 0 4 0; #X connect 13 0 5 0; #X connect 13 1 9 1; #X connect 13 1 10 1; #X connect 13 1 11 1; #X connect 13 1 12 1; #X restore 23 172 pd control; #X text 49 146 <-- start!; #X text 17 88 You can programmatically control just about every property and behavior of most GUI objects.; #X connect 1 0 6 0;
--- NEW FILE: 12.hot_and_cold_inlets.pd --- #N canvas 10 40 624 464 12; #X obj 99 238 +; #X floatatom 99 267 5 0 0 0 - - -; #X msg 99 184 1; #X msg 117 215 5; #X text 11 54 For most objects in Pd , the leftmost inlet is the "hot" inlet. This means that it will output something whenever it receives data on the "hot" inlet.; #X text 145 215 2) click this and there will be no new output; #X obj 181 350 +; #X floatatom 181 374 5 0 0 0 - - -; #X msg 84 315 1; #X text 15 291 Try a number of different combinations to see for yourself: ; #X text 215 343 <-- "cold" inlet; #X text 29 343 "hot" inlet -->; #X msg 124 315 2; #X msg 164 315 3; #X msg 234 315 4; #X msg 274 315 5; #X msg 314 315 6; #X text 145 184 1) click this first , and [+ ] immediately outputs a 1; #X obj 6 8 cnv 15 400 40 empty empty hot_and_cold_inlets 20 12 0 24 -228992 -66577 0; #X text 10 111 All other inlets are generally "cold" inlets , which just store the data. When the object receives input on the "hot" inlet , the object with read the data from all the inlets and do its thing. ; #X text 145 242 3) now click the [1( message box; #X obj 516 97 +; #X msg 534 73 1; #X msg 502 73 1; #X text 17 395 Notice that the number is stored in the "cold" inlet until you change it. For example , if you click [4( , then click [1( , [2( , and [3( , you will see that 1 , 2 , and 3 are all added to 4; #X floatatom 516 120 5 0 0 0 - - -; #X obj 516 140 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1 -1; #X connect 0 0 1 0; #X connect 2 0 0 0; #X connect 3 0 0 1; #X connect 6 0 7 0; #X connect 8 0 6 0; #X connect 12 0 6 0; #X connect 13 0 6 0; #X connect 14 0 6 1; #X connect 15 0 6 1; #X connect 16 0 6 1; #X connect 21 0 25 0; #X connect 22 0 21 1; #X connect 23 0 21 0; #X connect 25 0 26 0;
--- NEW FILE: 42.floats_and_ints.pd --- #N canvas 10 40 620 460 12; #X obj -37 4 cnv 15 400 40 empty empty floats_and_ints 20 12 0 24 -228992 -66577 0; #X text -30 60 In Pd , there is only one kind of number , its generally known as a "float" , which is a word used in programming to mean a "floating point number" , i.e. a number with a decimal point in it. ; #X text -24 242 Oftentimes , its useful to use integers. For this there is the [int] object.; #X text 36 149 4.5; #X text 79 205 1.234e+07; #X text 188 162 -0.0032; #X text 323 178 4.3332; #X obj 223 322 int; #X floatatom 223 358 5 0 0 1 int - -; #X floatatom 164 358 5 0 0 0 float - -; #X obj 226 286 hsl 128 15 0 20 0 0 empty empty empty -2 -6 0 8 -262144 -1 -1 0 1; #X text -22 396 floats and ints are direct representations of how your CPU handles numbers.; #X connect 7 0 8 0; #X connect 10 0 9 0; #X connect 10 0 7 0;
--- NEW FILE: 27.Example-all_just_data.pd --- #N canvas 10 40 620 460 12; #X obj 208 229 import unauthorized Gem; #X text 217 160 caught you peeking!!; #X text 197 255 (this just makes sure the; #X text 200 271 right libraries are loaded); #X obj 193 124 grid grid1 200 0 199 200 0 199 1 1 1 10 10 245 211; #X obj 25 55 pddp/dsp; #X text 140 11 Its all just data. Use it however you want!; #X obj 193 372 nbx 5 24 -1e+37 1e+37 0 0 empty empty X -15 12 1 18 -166441 -1 -1 0 256; #X obj 386 371 nbx 5 24 -1e+37 1e+37 0 0 empty empty Y -15 12 1 18 -166441 -1 -1 0 256; #X text 40 207 this box ------->; #N canvas 10 40 620 460 open 0; #X obj 314 7 cnv 15 300 40 empty empty Y_input 120 20 0 14 -228856 -66577 0; #X obj 8 7 cnv 15 300 40 empty empty X_input 120 20 0 14 -228856 -66577 0; #X obj 314 52 cnv 15 300 230 empty empty gemwin 248 220 0 14 -203904 -66577 0; #X obj 8 229 cnv 15 300 220 empty empty sphere 249 209 0 14 -204800 -66577 0; #X obj 8 52 cnv 15 300 170 empty empty audio 257 160 0 14 -262130 -66577 0; #X obj 314 289 cnv 15 300 160 empty empty lighting 234 149 0 14 -232576 -66577 0; #X obj 17 18 inlet; #X obj 321 18 inlet; #X obj 52 141 osc~; #X obj 82 172 *~; #X obj 104 88 / 200; #X obj 70 199 dac~; #X obj 426 59 receive pd; #X msg 444 193 create; #X msg 410 193 1; #X obj 426 255 gemwin; #X msg 578 193 0; #X msg 516 193 destroy; #X obj 426 110 select 1; #X obj 426 84 route dsp; #X obj 87 236 gemhead; #X obj 87 424 sphere 1 20; #X obj 87 403 translateXYZ; #X obj 87 310 colorRGB 1 1 1 1; #X msg 325 193 lighting 1; #X obj 415 329 gemhead; #X obj 416 394 world_light -120; #X obj 202 353 / 25; #X obj 24 353 / 25; #X obj 202 332 - 100; #X obj 24 332 - 100; #X obj 143 263 / 200; #X obj 52 263 / 200; #X obj 51 89 + 250; #X obj 114 147 line~; #X obj 185 71 bang; #X msg 185 117 0 250; #X obj 185 94 delay 200; #X obj 325 151 trigger bang bang; #X obj 479 151 trigger bang bang; #X text 346 106 on; #X text 522 107 off; #X text 91 262 red; #X text 178 263 green; #X text 36 316 X; #X text 218 315 Y; #X floatatom 202 376 5 0 0 0 - - -; #X floatatom 24 376 5 0 0 0 - - -; #X obj 104 111 pack 0 25; #X text 54 107 freq.; #X text 225 73 off; #X text 109 71 on; #X connect 6 0 10 0; #X connect 6 0 30 0; #X connect 6 0 32 0; #X connect 6 0 35 0; #X connect 7 0 29 0; #X connect 7 0 31 0; #X connect 7 0 33 0; #X connect 8 0 9 0; #X connect 9 0 11 0; #X connect 9 0 11 1; #X connect 10 0 48 0; #X connect 12 0 19 0; #X connect 13 0 15 0; #X connect 14 0 15 0; #X connect 16 0 15 0; #X connect 17 0 15 0; #X connect 18 0 38 0; #X connect 18 1 39 0; #X connect 19 0 18 0; #X connect 20 0 23 0; #X connect 22 0 21 0; #X connect 23 0 22 0; #X connect 24 0 15 0; #X connect 25 0 26 0; #X connect 27 0 22 2; #X connect 27 0 46 0; #X connect 28 0 22 1; #X connect 28 0 47 0; #X connect 29 0 27 0; #X connect 30 0 28 0; #X connect 31 0 23 2; #X connect 32 0 23 1; #X connect 33 0 8 0; #X connect 34 0 9 1; #X connect 35 0 37 0; #X connect 36 0 34 0; #X connect 37 0 36 0; #X connect 38 0 14 0; #X connect 38 0 24 0; #X connect 38 1 13 0; #X connect 39 0 17 0; #X connect 39 1 16 0; #X connect 48 0 34 0; #X restore 267 341 pd open me; #X text 26 77 ^-- 1) click here to turn it on and off; #X text 40 192 2) click and drag in; #X connect 4 0 7 0; #X connect 4 0 10 0; #X connect 4 1 8 0; #X connect 4 1 10 1;
--- NEW FILE: 38.math.pd --- #N canvas 10 40 620 460 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 10 40 620 460 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 10 40 620 460 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 10 40 620 460 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 10 40 620 460 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;
--- 46.trigger_conversion.pd DELETED ---
--- 13.hot_and_cold_inlets.pd DELETED ---
--- NEW FILE: 39.init_to_0.pd --- #N canvas 10 40 620 460 12; #X obj 12 13 cnv 15 400 40 empty empty init_to_zero 10 15 0 24 -228992 -66577 0; #X obj 293 241 +; #X obj 177 242 *; #X obj 56 241 float; #X obj 242 272 bng 15 250 50 0 empty empty reset 0 -6 0 8 -262144 -1 -1; #X obj 293 315 pddp/print; #X obj 176 315 pddp/print; #X obj 56 315 pddp/print; #X obj 414 315 pddp/print; #X msg 293 203 bang; #X msg 177 204 bang; #X msg 56 204 bang; #X msg 414 204 bang; #X obj 414 241 trigger float; #X text 47 170 Here are a few examples:; #X text 32 78 Objects are automatically initialized to 0 in Pd. If there is no value specified , then the value will be 0 This only applies to places where numeric atoms are used.; #X connect 1 0 5 0; #X connect 2 0 6 0; #X connect 3 0 7 0; #X connect 4 0 5 0; #X connect 4 0 6 0; #X connect 4 0 7 0; #X connect 4 0 8 0; #X connect 9 0 1 0; #X connect 10 0 2 0; #X connect 11 0 3 0; #X connect 12 0 13 0; #X connect 13 0 8 0;
--- 50.multiple_messages.pd DELETED ---
--- NEW FILE: 32.gui_objects.pd --- #N canvas 10 40 620 460 10; #X obj 420 33 import cyclone unauthorized; #X obj 11 57 cnv 15 600 650 empty empty empty 20 12 0 14 -262131 -66577 0; #X obj 11 348 cnv 15 400 100 empty empty empty 20 12 0 14 -261696 -66577 0; #X obj 11 57 cnv 15 400 300 empty empty empty 20 12 0 14 -241657 -66577 0; #X obj 30 110 bng 15 250 50 0 $1 $1 empty 20 8 0 8 -262144 -1 -1 ; #X obj 30 142 tgl 15 1.04858e+06 empty $2 empty 20 8 0 8 -262144 -1 -1 0 1; #X obj 34 188 vsl 15 128 0 127 0 1.04858e+06 empty $3 empty 20 8 0 8 -262144 -1 -1 0 1; #X obj 191 318 hsl 128 15 0 127 0 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 1; #X obj 201 289 hdl 15 1 2.6624e+06 8 $5 $5 empty 20 8 192 8 -262144 -1 -1 0; #X obj 254 127 vu 15 120 $6 empty 35 8 0 8 -66577 -1 1 0; #X obj 111 109 cnv 15 100 60 empty empty [canvas] 20 12 0 14 -233017 -66577 1.04858e+06; #X obj 126 189 vdl 15 1 4.79232e+06 8 $9 $9 empty 20 8 192 8 -262144 -1 -1 0; #X obj 341 116 nbx 5 14 -1e+37 1e+37 0 0 $5 $5 empty 45 7 0 10 -262144 -1 -1 0 256; #X text 17 66 Pd comes with a standard , built-in set of GUI elements , which you can select from the "Put" menu.; #X text 17 356 There are also some OS-native GUI elements available ; #X obj 49 404 button OK; #X obj 147 408 popup 124 25 #ffffff popup option; #X obj 333 404 ticker ; #X obj 324 529 envgen 200 140 1 0 ; #X obj 491 454 knob 32 32 0 127 0 0 empty empty empty 0 -8 32 8 -262144 -1 -1 0 1; #X text 485 428 [knob]; #X text 316 381 [ticker]; #X text 390 505 [envgen]; #X text 449 90 [cyclone/Scope~]; #X text 40 380 [button]; #X text 134 382 [popup]; #X text 250 107 [vu]; #X text 46 109 [bng]; #X text 46 141 [tgl]; #X text 21 320 [vslider]; #X text 325 288 [hradio]; #X text 325 318 [hslider]; #X text 107 317 [vradio]; #X obj 441 112 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 135 135 0; #X text 337 98 [nbx]; #X obj 461 299 gcanvas 80 80; #X text 472 274 [gcanvas]; #X obj 51 472 grid grid1 200 0 199 200 0 199 1 1 1 10 10 133 520; #X text 71 453 [unauthorized/grid]; #X floatatom 462 386 5 0 0 0 - - -; #X floatatom 534 387 5 0 0 0 - - -; #X obj 10 10 cnv 15 400 40 empty empty gui_objects 20 12 0 24 -228992 -66577 0; #X floatatom 244 680 5 0 0 0 - - -; #X floatatom 51 679 5 0 0 0 - - -; #X floatatom 491 492 5 0 0 0 - - -; #X text 422 67 And various others:; #X connect 19 0 44 0; #X connect 35 0 39 0; #X connect 35 1 40 0; #X connect 37 0 43 0; #X connect 37 1 42 0;
--- NEW FILE: 48.grabbing_keystrokes.pd --- #N canvas 10 40 620 460 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 10 40 620 460 /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;
--- NEW FILE: 25.inlets_and_outlets.pd --- #N canvas 10 40 620 460 12; #X obj 10 10 cnv 15 400 40 empty empty inlets_and_outlets 20 12 0 24 -228992 -66577 0; #N canvas 10 40 620 460 look 0; #X obj 24 34 inlet; #X obj 238 47 inlet; #X obj 469 41 inlet; #X obj 251 304 outlet; #X msg 469 175 I am the third inlet; #X msg 242 145 I am the second inlet; #X msg 24 94 I am the first inlet; #X connect 0 0 6 0; #X connect 1 0 5 0; #X connect 2 0 4 0; #X connect 4 0 3 0; #X connect 5 0 3 0; #X connect 6 0 3 0; #X restore 32 162 pd look inside me; #X obj 31 202 pddp/print_long; #X obj 32 129 bng 20 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1; #X obj 114 129 bng 20 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1; #X obj 197 129 bng 20 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1; #N canvas 10 40 620 460 look 0; #X obj 20 34 inlet; #X obj 334 33 inlet; #X obj 528 35 inlet; #X obj 20 120 trigger bang anything; #X obj 224 404 outlet; #X obj 224 266 mapping/tolist; #X connect 0 0 3 0; #X connect 1 0 5 0; #X connect 2 0 5 0; #X connect 3 0 5 1; #X connect 3 1 5 0; #X connect 5 0 4 0; #X restore 199 376 pd look inside me; #X obj 198 416 pddp/print_long; #X msg 200 327 smokin!; #X msg 281 327 are; #X msg 363 327 you; #X text 17 259 The first inlet should be the hot inlet , even in your own patches. There are times when you need to make other inlets hot , but in general , its a good rule to stick with.; #X obj 332 126 cnv 15 220 120 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 347 132 inlet; #X obj 348 218 outlet; #X text 402 132 take in data; #X text 361 173 do some stuff here; #X text 418 217 output data; #X text 14 72 When making your own objects and subpatches , you can create inlets and outlets using [inlet] and [outlet].; #X connect 1 0 2 0; #X connect 3 0 1 0; #X connect 4 0 1 1; #X connect 5 0 1 2; #X connect 6 0 7 0; #X connect 8 0 6 0; #X connect 9 0 6 1; #X connect 10 0 6 2; #X connect 13 0 14 0;
--- NEW FILE: 11.metro.pd --- #N canvas 10 40 624 464 12; #X obj 10 10 cnv 15 400 40 empty empty metro 20 12 0 24 -228992 -66577 0; #X obj 30 321 metro; #X text 12 72 The timing of events is an essential function of Pd. For example: in a piece of music , each note is played at a specific time of the whole piece.; #X text 12 132 The [metro] object provides a method for making things happen at a regular time interval. "metro" comes from metronome. A metronome makes repeating clicks and the time between each click can be set.; #X msg 16 263 bang; #X msg 55 263 stop; #X obj 63 299 nbx 3 18 100 999 0 1 empty empty empty 0 -6 0 16 -262144 -1 -1 500 256; #X obj 30 359 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1 -1; #X text 120 297 <-- change the time between bangs here; #X msg 483 96 bang; #X obj 483 147 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1 -1; #X obj 326 422 pddp/pddplink http://en.wikipedia.org/wiki/Metronome ; #X text 304 397 For more info:; #X msg 458 271 bang; #X msg 497 271 stop; #X obj 472 377 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1 -1; #X obj 472 349 metro 500; #X obj 483 122 metro 500; #X text 12 206 The same is true of [metro] , using a number to represent the time in milliseconds (ms):; #X msg 500 300 1; #X msg 533 300 0; #X obj 445 323 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1; #X text 413 243 Ways to start/stop [metro]:; #X connect 1 0 7 0; #X connect 4 0 1 0; #X connect 5 0 1 0; #X connect 6 0 1 1; #X connect 9 0 17 0; #X connect 13 0 16 0; #X connect 14 0 16 0; #X connect 16 0 15 0; #X connect 17 0 10 0; #X connect 19 0 16 0; #X connect 20 0 16 0; #X connect 21 0 16 0;
--- 44.using_lists.pd DELETED ---
--- 17.depth_first.pd DELETED ---
--- NEW FILE: 33.guis.pd --- #N canvas 10 40 620 460 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: <float> a0; #X text 147 213 2.arg: <float> a1; #X text 147 224 3.arg: <float> b1; #X text 63 5 <float> 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;
--- 43.building_lists.pd DELETED ---
--- 37.math.pd DELETED ---
--- NEW FILE: 30.properties.pd --- #N canvas 10 40 620 460 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;
--- NEW FILE: 37.comparing_numbers.pd --- #N canvas 10 40 620 460 12; #X obj 14 354 cnv 15 195 80 empty empty empty 40 70 0 14 -262130 -66577 0; #X obj 214 354 cnv 15 380 80 empty empty empty 160 70 0 14 -232576 -66577 0; #X obj 10 10 cnv 15 400 40 empty empty comparing_numbers 20 12 0 24 -228992 -66577 0; #X floatatom 27 179 5 0 0 0 - - -; #X msg 27 132 7; #X floatatom 100 179 5 0 0 0 - - -; #X msg 100 132 4; #X obj 100 156 == 4; #X floatatom 168 179 5 0 0 0 - - -; #X msg 168 132 20; #X floatatom 237 179 5 0 0 0 - - -; #X msg 237 132 20; #X obj 237 156 != 10; #X obj 27 156 > 1; #X obj 168 156 >= 8; #X floatatom 354 324 7 -6 6 0 - - -; #X obj 224 364 == 5; #X obj 291 364 != 5; #X obj 356 364 > 5; #X obj 418 364 < 5; #X floatatom 224 391 5 0 0 0 - - -; #X floatatom 291 391 5 0 0 0 - - -; #X floatatom 356 391 5 0 0 0 - - -; #X floatatom 418 391 5 0 0 0 - - -; #X msg 545 108 3; #X floatatom 490 109 5 0 0 0 - - -; #X floatatom 545 157 5 0 0 0 - - -; #X obj 545 133 > 1; #X obj 490 135 < 5; #X floatatom 490 158 5 0 0 0 - - -; #X obj 512 184 &&; #X floatatom 512 206 5 0 0 0 - - -; #X floatatom 486 391 5 0 0 0 - - -; #X floatatom 548 391 5 0 0 0 - - -; #X obj 486 364 >= 5; #X obj 548 364 <= 5; #X floatatom 23 391 5 0 0 0 - - -; #X obj 23 364 moses 5; #X floatatom 69 391 5 0 0 0 - - -; #X floatatom 166 391 5 0 0 0 - - -; #X obj 113 364 select 5; #X obj 113 392 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1 -1; #X text 407 322 <-- click and drag here; #X text 9 56 There are a number of techniques for comparing numbers in Pd. Some are related to mathematics , and others are related to programming logic.; #X obj 224 413 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1; #X obj 291 413 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 1; #X obj 356 413 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 1; #X obj 486 413 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 1; #X obj 548 413 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1; #X text 14 201 Here are two different techniques , [moses] for spliting a range of numbers , and [select] for banging when a specific number is received:; #X floatatom 57 309 5 0 0 0 - - -; #X floatatom 110 309 5 0 0 0 - - -; #X obj 57 285 moses -4; #X msg 124 259 5; #X msg 57 259 -5; #X msg 24 259 -11; #X msg 91 259 1; #X text 10 106 These give true or false , a 1 for true or a 0 for false:; #X floatatom 270 309 5 0 0 0 - - -; #X msg 284 259 5; #X msg 217 259 -5; #X msg 184 259 -11; #X msg 251 259 1; #X obj 217 310 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1 -1; #X obj 217 286 select 1; #X obj 418 413 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1; #X floatatom 308 179 5 0 0 0 - - -; #X obj 308 156 &&; #X obj 308 135 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 1; #X obj 326 135 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 1; #X floatatom 368 179 5 0 0 0 - - -; #X obj 368 135 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 1; #X obj 386 135 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1; #X obj 368 156 ||; #X connect 4 0 13 0; #X connect 6 0 7 0; #X connect 7 0 5 0; #X connect 9 0 14 0; #X connect 11 0 12 0; #X connect 12 0 10 0; #X connect 13 0 3 0; #X connect 14 0 8 0; #X connect 15 0 16 0; #X connect 15 0 17 0; #X connect 15 0 18 0; #X connect 15 0 19 0; #X connect 15 0 34 0; #X connect 15 0 35 0; #X connect 15 0 37 0; #X connect 15 0 40 0; #X connect 16 0 20 0; #X connect 17 0 21 0; #X connect 18 0 22 0; #X connect 19 0 23 0; #X connect 20 0 44 0; #X connect 21 0 45 0; #X connect 22 0 46 0; #X connect 23 0 65 0; #X connect 24 0 27 0; #X connect 25 0 28 0; #X connect 26 0 30 1; #X connect 27 0 26 0; #X connect 28 0 29 0; #X connect 29 0 30 0; #X connect 30 0 31 0; #X connect 32 0 47 0; #X connect 33 0 48 0; #X connect 34 0 32 0; #X connect 35 0 33 0; #X connect 37 0 36 0; #X connect 37 1 38 0; #X connect 40 0 41 0; #X connect 40 1 39 0; #X connect 52 0 50 0; #X connect 52 1 51 0; #X connect 53 0 52 0; #X connect 54 0 52 0; #X connect 55 0 52 0; #X connect 56 0 52 0; #X connect 59 0 64 0; #X connect 60 0 64 0; #X connect 61 0 64 0; #X connect 62 0 64 0; #X connect 64 0 63 0; #X connect 64 1 58 0; #X connect 67 0 66 0; #X connect 68 0 67 0; #X connect 69 0 67 1; #X connect 71 0 73 0; #X connect 72 0 73 1; #X connect 73 0 70 0;
--- NEW FILE: 17.top_to_bottom.pd --- #N canvas 10 40 620 460 12; #X obj 10 10 cnv 15 400 40 empty empty top_to_bottom 20 12 0 24 -228992 -66577 0; #X msg 495 137 1; #X obj 495 164 + 1; #X floatatom 502 190 5 0 0 0 - - -; #X obj 495 214 + 1; #X floatatom 502 240 5 0 0 0 - - -; #X obj 495 264 + 1; #X floatatom 502 290 5 0 0 0 - - -; #X obj 495 314 + 1; #X floatatom 502 340 5 0 0 0 - - -; #X msg 106 273 1; #X obj 113 319 + 1; #X floatatom 148 272 5 0 0 0 - - -; #X obj 211 275 + 1; #X floatatom 239 329 5 0 0 0 - - -; #X obj 184 310 + 1; #X floatatom 289 281 5 0 0 0 - - -; #X obj 282 305 + 1; #X floatatom 289 331 5 0 0 0 - - -; #X text 15 175 The example below is just as functional as the example on the right. But the example on the right clearly shows the flow of the messages.; #X text 16 81 Messages flow from the top to the bottom of a patch , always flowing from the outlets on the bottom to inlets on the top. Therefore it is also a good idea to structure your patch to represent that.; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 0 4 0; #X connect 4 0 5 0; #X connect 4 0 6 0; #X connect 6 0 7 0; #X connect 6 0 8 0; #X connect 8 0 9 0; #X connect 10 0 11 0; #X connect 11 0 12 0; #X connect 11 0 13 0; #X connect 13 0 14 0; #X connect 13 0 15 0; #X connect 15 0 16 0; #X connect 15 0 17 0; #X connect 17 0 18 0;
--- 39.math_expr.pd DELETED ---
--- NEW FILE: 44.building_lists.pd --- #N canvas 10 40 620 460 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;
--- NEW FILE: 28.EXERCISE-hmmm.pd --- #N canvas 10 40 620 460 12; #N canvas 10 40 620 460 guts 0; #X msg 280 45 ; pd filename exercise-patch.pd /tmp ; #N canvas ; #X pop 1 ;; #X obj 300 328 s pd-exercise-patch.pd; #X msg 329 216 obj 50 103 osc~; #X msg 330 240 obj 50 153 dac~; #X obj 103 17 inlet; #X msg 320 155 clear; #X obj 276 7 loadbang; #X obj 259 108 delay 1000; #X obj 259 129 t b b b b; #X msg 52 155 connect 0 0 1 0; #X msg 37 216 connect 1 0 2 0; #X msg 31 266 connect 1 0 2 1; #X msg 292 27 ; pd dsp 1; #X obj 112 108 t b b; #X msg 87 52 bang; #X obj 34 134 delay 2000; #X obj 21 187 delay 2000; #X obj 10 245 delay 2000; #N canvas 10 40 620 460 connection-effect 0; #X obj 186 312 dac~; #X obj 72 233 osc~ 1000; #X obj 138 266 *~; #X obj 253 259 *~; #X obj 204 236 osc~ 800; #X obj 153 236 line~; #X obj 183 7 inlet; #X msg 184 31 bang; #X obj 187 61 t b b; #X obj 168 95 delay 10; #X msg 201 125 0 10; #X obj 276 218 line~; #X obj 276 191 pipe 30; #X msg 241 125 1 10; #X connect 1 0 2 0; #X connect 2 0 0 0; #X connect 3 0 0 1; #X connect 4 0 3 0; #X connect 5 0 2 1; #X connect 6 0 7 0; #X connect 7 0 8 0; #X connect 8 0 9 0; #X connect 8 1 13 0; #X connect 9 0 10 0; #X connect 10 0 5 0; #X connect 10 0 12 0; #X connect 11 0 3 1; #X connect 12 0 11 0; #X connect 13 0 5 0; #X connect 13 0 12 0; #X restore 22 365 pd connection-effect; #X msg 256 453 floatatom 50 50 5 0 0 0; #X msg 327 184 obj 50 50 hsl; #X obj 197 18 inlet; #X msg 205 50 bang; #X connect 2 0 1 0; #X connect 3 0 1 0; #X connect 4 0 14 0; #X connect 5 0 1 0; #X connect 6 0 0 0; #X connect 6 0 7 0; #X connect 6 0 12 0; #X connect 7 0 8 0; #X connect 8 0 3 0; #X connect 8 1 2 0; #X connect 8 2 20 0; #X connect 8 3 5 0; #X connect 9 0 1 0; #X connect 10 0 1 0; #X connect 11 0 1 0; #X connect 13 0 15 0; #X connect 13 1 8 0; #X connect 14 0 13 0; #X connect 15 0 16 0; #X connect 15 0 9 0; #X connect 15 0 18 0; #X connect 16 0 17 0; #X connect 16 0 10 0; #X connect 16 0 18 0; #X connect 17 0 11 0; #X connect 17 0 18 0; #X connect 20 0 1 0; #X connect 21 0 22 0; #X connect 22 0 8 0; #X restore 220 269 pd guts; #X msg 220 242 solve; #X text 19 64 In the exercise patch , connect the existing objects so that you can control the frequency of the oscillator and hear the resulting sound.; #X text 22 131 If you want help , click the solve message below.; #X msg 285 242 try again; #X obj 11 10 cnv 15 600 40 empty empty EXERCISE-make_your_first_patch 20 12 0 24 -262131 -66577 0; #X connect 1 0 0 0; #X connect 4 0 0 1;
--- NEW FILE: 45.using_lists.pd --- #N canvas 10 40 620 460 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;
--- NEW FILE: 41.number_limitations.pd --- #N canvas 10 40 620 460 12; #X obj -20 9 cnv 15 400 40 empty empty number_limitations 20 12 0 24 -228992 -66577 0; #X text 23 146 NaN; #X text 86 147 -inf; #X text 154 148 inf; #X text -9 253 rounding errors; #X floatatom 2 411 12 999900 1e+20 0 - - -; #X text -9 373 Pd can only display 6 significant digits:; #X floatatom 3 331 12 0 0 0 - - -; #X text 113 287 999999 + 999999 = 1 , 999 , 998; #X msg 3 278 999999; #X obj 3 305 + 999999; #X obj -9 204 pddp/pddplink http://en.wikipedia.org/wiki/Real_numbers ; #X text -13 61 Computers use floating point numbers to try to represent real numbers (a real number is any number that could be plotted on a line).; #X text 137 332 == 2 , OOO , OOO; #X text 108 409 <-- click and drag up to see; #X connect 9 0 10 0; #X connect 10 0 7 0;
--- 41.floats_and_ints.pd DELETED ---
--- 45.sorting_messages_by_type.pd DELETED ---