Update of /cvsroot/pure-data/doc/tutorials/intro
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31770
Added Files:
04.objects.pd 05.connections.pd 07.bang.pd
08.hot_and_cold_inlets.pd 10.storage_objects.pd 11.atoms.pd
12.atomic_messages.pd 14.subpatches.pd
15.inlets_and_outlets.pd 21.send_messages_to_pd.pd
22.pure_data_files.pd counters.pd guis.pd math.pd
ordering_messages.pd selectors.pd send_and_receive.pd
sorting_messages_by_selectors.pd sorting_messages_by_type.pd
symbol_conversion.pd
Log Message:
added lots of patches which are templates, semi-complete, or out of order
--- NEW FILE: 11.atoms.pd ---
#N canvas 546 135 614 464 12;
#X obj 10 12 cnv 15 400 40 empty empty atoms 20 12 0 24 -228992 -66577
0;
#X text 24 87 The basic data types of Pd are called "atoms". There
are three atom types: "float" \, "symbol" \, and "pointer".;
#X text 10 282 An atom is a piece of data that cannot be broken down
into smaller parts.;
#X text 21 160 A numeric atom is anything that can be interpreted as
a number.;
#X text 18 225 A symbolic atom is...;
--- NEW FILE: 14.subpatches.pd ---
#N canvas 0 22 454 304 12;
--- NEW FILE: selectors.pd ---
#N canvas 231 101 638 461 12;
#X obj 8 -33 cnv 15 400 40 empty empty selectors 20 12 0 24 -228992
-66577 0;
#N canvas 328 337 454 304 object 0;
#X obj 79 36 inlet;
#X obj 86 270 outlet;
#X obj 308 267 outlet;
#X obj 71 131 route output-left output-right;
#X connect 0 0 3 0;
#X connect 3 0 1 0;
#X connect 3 1 2 0;
#X restore 157 211 pd object;
#X floatatom 157 264 5 0 0 0 - - -;
#X floatatom 242 264 5 0 0 0 - - -;
#X msg 189 165 output-right 309;
#X msg 156 115 output-left 8675;
#X text 9 24 Every message has a selector. The selector is the first
element in the message. It tells the object which receives that message
what to do with it. A selector is basically like a command or a function.
;
#X text 23 304 Here's the technical definition:;
#X text 23 335 The selector is a symbolic atom \, which is a non-numeric
string with no white space \, semicolons \, or commas. In the case
of messages whose first element is a numeric atom \, the selector is
implied.;
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
--- NEW FILE: 08.hot_and_cold_inlets.pd ---
#N canvas 205 66 679 541 12;
#X obj 19 243 +;
#X floatatom 19 272 5 0 0 0 - - -;
#X msg 19 179 1;
#X msg 36 215 5;
#X text 11 56 For most objects in Pd \, the leftmost inlet is the "hot"
inlet. This means that it will output something whenever it receives
data on the "hot" inlet.;
#X text 12 116 All other inlets are generally "cold" inlets \, which
merely store the data they receive until input on the "hot" inlet causes
the object to do its thing.;
#X text 85 216 2) click this and there will be no new output;
#X obj 181 412 +;
#X floatatom 181 441 5 0 0 0 - - -;
#X msg 84 337 1;
#X text 15 305 Try a number of different combinations to see for yourself:
;
#X text 215 405 <-- "cold" inlet;
#X text 29 405 "hot" inlet -->;
#X msg 124 337 2;
#X msg 164 337 3;
#X msg 234 337 4;
#X msg 274 337 5;
#X msg 314 337 6;
#X text 85 248 3) now click the [1( message box \, and you get a new
output;
#X text 17 462 Notice that the number is stored in the "cold" inlet
until you change it. For example \, if you click [4( \, then click
[1( \, [2( \, and [3( \, you will see that 1 \, 2 \, and 3 are all
added to 4;
#X text 85 184 1) click this first \, and [+ ] immediately outputs
a 1;
#X obj 6 8 cnv 15 400 40 empty empty hot_and_cold_inlets 20 12 0 24
-228992 -66577 0;
#X connect 0 0 1 0;
#X connect 2 0 0 0;
#X connect 3 0 0 1;
#X connect 7 0 8 0;
#X connect 9 0 7 0;
#X connect 13 0 7 0;
#X connect 14 0 7 0;
#X connect 15 0 7 1;
#X connect 16 0 7 1;
#X connect 17 0 7 1;
--- NEW FILE: 21.send_messages_to_pd.pd ---
#N canvas 476 37 651 588 12;
#X msg 134 485 menuclose;
#X obj 46 550 s pd-mon-nouveau-patch.pd;
#X obj 22 216 cnv 15 5 5 empty empty 1 5 0 0 20 -262144 -258699 0;
#X obj 23 290 cnv 15 5 5 empty empty 2 5 0 0 20 -262144 -258699 0;
#X obj 20 342 cnv 15 5 5 empty empty 3 5 0 0 20 -262144 -258699 0;
#X msg 60 185 \; pd filename mon-nouveau-patch.pd /tmp \; #N canvas
\; #X pop 1 \;;
#X text 13 149 Click these messages starting from the top:;
#X msg 76 331 symbolatom 20 100 0 0 0 0;
#X msg 92 379 connect 0 0 1 0;
#X msg 60 279 msg 20 27 symbol Hello_World!;
#X text 131 426 click on [symbol Hello_World!( in the new window;
#X text 243 484 now close the new window;
#X obj 20 389 cnv 15 5 5 empty empty 4 5 0 0 20 -262144 -258699 0;
#X obj 19 440 cnv 15 5 5 empty empty 5 5 0 0 20 -262144 -258699 0;
#X obj 18 495 cnv 15 5 5 empty empty 6 5 0 0 20 -262144 -258699 0;
#X obj 8 10 cnv 15 400 40 empty empty send_messages_to_pd 20 12 0 24
-228992 -66577 0;
#X text 11 75 Keeping true to the name "Pure Data" \, you can send
messages to Pd itself. All messages are in the same format \, whether
its in your patch \, or it's Pd's GUI talking to the Pd core.;
#X connect 0 0 1 0;
#X connect 7 0 1 0;
#X connect 8 0 1 0;
#X connect 9 0 1 0;
--- NEW FILE: 07.bang.pd ---
#N canvas 208 184 605 391 12;
#X text 13 79 In Pd \, "bang" means "do something". What that "something"
is depends on the object receiving the bang.;
#X obj 18 191 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 18 220 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X msg 18 269 bang;
#X obj 18 294 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X text 40 189 <--bang button;
#X text 62 270 <--you can also send "bang" using a message box;
#X text 14 137 Here \, this toggle changes state when it receives a
bang:;
#X obj 8 10 cnv 15 400 40 empty empty bang 20 12 0 24 -228992 -66577
0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
--- NEW FILE: 15.inlets_and_outlets.pd ---
#N canvas 520 22 615 396 12;
#N canvas 0 22 470 320 object 0;
#X obj 175 99 inlet;
#X obj 174 206 outlet;
#X text 14 39 this object does nothing but pass data thru;
#X connect 0 0 1 0;
#X restore 366 208 pd object;
#N canvas 0 22 618 378 another 0;
#X obj 17 94 inlet;
#X obj 431 320 outlet;
#X obj 16 324 print;
#X text 9 28 this object says hello in the Pd window \, then passes
the data thru;
#X obj 16 182 trigger bang anything;
#X msg 16 292 hi from inside [pd another object]!;
#X connect 0 0 4 0;
#X connect 4 0 5 0;
#X connect 4 1 1 0;
#X connect 5 0 2 0;
#X restore 365 254 pd another object;
#X obj 12 13 cnv 15 400 40 empty empty inlets_and_outlets 20 12 0 24
-228992 -66577 0;
#X text 14 76 When making your own objects \, you can make your own
inlets and outlets \, whether in a subpatch or an abstraction.;
#X msg 333 162 bang;
#X obj 327 297 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 30 154 cnv 15 220 180 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 43 177 inlet;
#X obj 43 283 outlet;
#X text 98 177 take in data;
#X text 60 227 do some stuff here;
#X text 113 282 output data;
#X msg 391 161 what's in here?;
#X obj 373 301 print;
#X connect 0 0 1 0;
#X connect 1 0 5 0;
#X connect 1 0 13 0;
#X connect 4 0 0 0;
#X connect 7 0 8 0;
#X connect 12 0 0 0;
--- NEW FILE: ordering_messages.pd ---
#N canvas 570 267 619 435 12;
#X obj -60 8 cnv 15 400 40 empty empty ordering_messages 20 12 0 24
-228992 -66577 0;
#X obj 214 364 t f b s l p a;
#X text 64 362 abbreviations:;
#X obj -26 396 trigger float bang symbol list pointer anything;
#X obj 239 89 trigger;
#X msg 471 223 now;
#X msg 392 223 this;
#X msg 313 223 makes;
#X msg 234 223 sense;
#X msg 156 223 !;
#X msg 232 326;
#X obj 233 265 symbol;
#X msg 233 289 add2 \$1;
#X msg 196 133 bang;
#X text -56 54 The [trigger] object allows you to specify the order
of execution. If you need to make sure that one thing executes before
another \, use:;
#X msg 3 155 set;
#X text -62 155 reset:;
#X obj 196 160 trigger bang bang bang bang bang;
#X msg 88 154 bang;
#X connect 5 0 11 0;
#X connect 6 0 11 0;
#X connect 7 0 11 0;
#X connect 8 0 11 0;
#X connect 9 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 10 0;
#X connect 13 0 17 0;
#X connect 15 0 10 0;
#X connect 17 0 9 0;
#X connect 17 1 8 0;
#X connect 17 2 7 0;
#X connect 17 3 6 0;
#X connect 17 4 5 0;
#X connect 18 0 8 0;
#X connect 18 0 9 0;
#X connect 18 0 6 0;
#X connect 18 0 7 0;
#X connect 18 0 5 0;
--- NEW FILE: 05.connections.pd ---
#N canvas 100 133 652 445 12;
#X text 14 105 Pd patches are always running and changes take effect
immediately.;
#X floatatom 25 277 5 0 0 0 - - -;
#X floatatom 25 341 5 0 0 0 - - -;
#X obj 24 165 tgl 30 0 empty empty start 2 15 1 12 -24198 -1 -1 0 1
;
#X obj 24 209 metro 100;
#X obj 24 240 random 100;
#X text 70 169 <-- click here to start;
#X text 66 299 connect by clicking on the outlet of the top number
box \, then drag and drop on the inlet of the bottom number box;
#X text 30 299 ^--;
#X text 39 375 Disconnect the cable by clicking on it to highlight
it \, then press the backspace key on your keyboard.;
#X obj 8 10 cnv 15 400 40 empty empty connections 20 12 0 24 -228992
-66577 0;
#X text 15 66 Connections are always made from the inlet to the outlet
since that always the direction that the data flows.;
#X text 195 226 next \, make sure you are in edit mode;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 1 0;
--- NEW FILE: 22.pure_data_files.pd ---
#N canvas 615 56 576 539 10;
#X obj 191 249 textfile;
#X obj 111 279 print all;
#X msg 100 223 bang;
#X msg 191 213 rewind;
#X obj 131 347 route canvas;
#X obj 112 474 print width;
#X obj 51 425 print Xpos;
#X obj 81 450 print Ypos;
#X obj 143 499 print heigth;
#X obj 174 424 print fontsize;
#X obj 51 394 unpack f f f f f;
#X obj 295 427 s pd-clone;
#X obj 191 274 route #N #X;
#X obj 234 106 tgl 20 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1
;
#X msg 294 338 vis 1 \, clear;
#X obj 142 174 + 1;
#X obj 100 174 float;
#X obj 272 152 select 1;
#X obj 98 150 metro 300;
#X text 35 54 Even .pd files use the same message format.;
#X text 34 75 Here is a patch that reads the file of this patch and
sends it to the "clone" subpatch \, making a clone:;
#X obj 8 10 cnv 15 400 40 empty empty pure_data_files 20 12 0 24 -228992
-66577 0;
#X obj 100 198 moses 52;
#X msg 317 214 read 22.pure_data_files.pd;
#N canvas 0 22 548 599 clone 0;
#X restore 428 494 pd clone;
#X connect 0 0 1 0;
#X connect 0 0 12 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 10 0;
#X connect 10 0 6 0;
#X connect 10 1 7 0;
#X connect 10 2 5 0;
#X connect 10 3 8 0;
#X connect 10 4 9 0;
#X connect 12 0 4 0;
#X connect 12 1 11 0;
#X connect 13 0 17 0;
#X connect 13 0 18 0;
#X connect 14 0 11 0;
#X connect 15 0 16 1;
#X connect 16 0 15 0;
#X connect 16 0 22 0;
#X connect 17 0 23 0;
#X connect 17 0 3 0;
#X connect 17 0 14 0;
#X connect 18 0 16 0;
#X connect 22 0 2 0;
#X connect 23 0 0 0;
--- NEW FILE: send_and_receive.pd ---
#N canvas 433 8 555 660 10;
#X obj 22 344 cnv 15 500 20 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 26 518 cnv 15 500 20 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 24 723 cnv 15 500 20 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 22 12 cnv 15 500 100 empty empty MESSAGES:send_variables_II
20 12 0 14 -233017 -66577 0;
#X obj 39 170 hsl 50 15 0 127 0 0 empty empty empty -2 -6 0 8 -261689
-258699 -1 0 0;
#X floatatom 37 369 5 0 0 0 - - -;
#X floatatom 95 370 5 0 0 0 - - -;
#N canvas 0 0 392 106 sous-patchs1 0;
#X floatatom 1 62 5 0 0 0 - - -;
#X obj 1 39 r A;
#X text -3 5 Ce sous-patch recevra TOUS les "send A";
#X connect 1 0 0 0;
#X restore 38 437 pd sous-patchs1;
#N canvas 4 159 254 107 sous-patchs2 0;
#X floatatom 18 59 5 0 0 0 - - -;
#N canvas 5 328 278 106 sous-patchs3 0;
#X floatatom 12 70 5 0 0 0 - - -;
#X obj 12 44 r A;
#X text 9 4 bien que loin du patch-MERE;
#X text 8 20 on recoit les "send A";
#X connect 1 0 0 0;
#X restore 78 47 pd sous-patchs3;
#X obj 18 24 r B;
#X connect 2 0 0 0;
#X restore 38 463 pd sous-patchs2;
#X text 32 133 On peut avoir autant de send/receive du meme nom;
#X obj 36 191 send JeanPaulII;
#X obj 166 169 hsl 50 15 0 127 0 0 empty empty empty -2 -6 0 8 -261689
-258699 -1 0 0;
#X obj 163 190 send JeanPaulII;
#X obj 304 168 hsl 50 15 0 127 0 0 empty empty empty -2 -6 0 8 -261689
-258699 -1 0 0;
#X obj 301 189 send JeanPaulII;
#X obj 40 253 hsl 50 15 0 127 0 0 empty empty empty -2 -6 0 8 -261689
-258699 -1 0 0;
#X obj 37 229 receive JeanPaulII;
#X obj 193 253 hsl 50 15 0 127 0 0 empty empty empty -2 -6 0 8 -261689
-258699 -1 0 0;
#X obj 190 229 receive Poutine;
#X text 251 249 <- on ne recoit pas;
#X text 34 345 GLOBAL - envoie et recoie un message dans TOUS LES PATCHS
;
#X obj 37 393 s A;
#X obj 95 393 s B;
#X floatatom 37 642 5 0 0 0 - - -;
#X obj 221 604 f \$0;
#X obj 221 584 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X floatatom 221 631 5 0 0 0 - - -;
#X floatatom 38 585 5 0 0 0 - - -;
#X floatatom 128 611 5 0 0 0 - - -;
#X obj 38 609 s \$0-foo;
#X obj 128 585 r \$0-foo;
#X obj 37 666 s 1012-foo;
#N canvas 318 78 289 202 sous-patch4 0;
#X obj 27 33 f \$0;
#X obj 27 13 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X floatatom 27 60 5 0 0 0 - - -;
#X floatatom 117 47 5 0 0 0 - - -;
#X obj 117 21 r \$0-foo;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 4 0 3 0;
#X restore 153 666 pd sous-patch4;
#X text 34 538 \$0 : variable au hasard designee par pd au demarrage
\, qui certifie que la variable est unique dans tous les patchs;
#X text 37 516 LOCAL - variable unique/chaque demarrage;
#X text 34 809 Nous pouvons utiliser les arguments de l'abstraction
pour envoyer les valeures a ces fils.;
#X text 33 754 Dans PD \, chaque abstractions et sous-patchs ont des
parents. Le parent est le patch principal dans lequel est creer l'instance
de l'abstraction ou du sous-patch.;
#X floatatom 124 865 5 0 0 0 - - -;
#X floatatom 198 864 5 0 0 0 - - -;
#X floatatom 270 864 5 0 0 0 - - -;
#X obj 198 888 s 2-fils;
#X obj 270 889 s 3-petit-fils;
#X floatatom 132 980 5 0 0 0 - - -;
#X obj 132 1005 s 1-2-fils;
#X text 33 305 La portee d'un message peut etre GLOBAL/LOCAL/UNIQUE
:;
#X text 34 726 UNIQUE - heriter la variable des parents/ message unique
;
#X text 41 44 Utilisation des objets send et receive permet d'envoyer
des messages sans fils. Un peu comme une RADIO \, il faut que ces deux
objets ait le meme nom pour etre connecte.;
#X obj 45 864 mere 1;
#X obj 124 889 s 1-mere;
#X text 37 946 difficulte : 2 variables composent le nom du send/receive
;
#X obj 149 1338 dist;
#X obj 194 1338 remote;
#X obj 255 1338 matrix;
#X obj 21 1304 cnv 15 500 20 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 34 1306 ROUTING DES MESSAGES;
#X obj 30 1338 table routing;
#X obj 317 1338 OSCroute;
#X text 30 1037 Les signes dollar $ se placent toujours au debut du
symbol. Pour avoir plusieurs dollars \, on peut utiliser les abstractions
\, en les imbriquant les unes dans les autres avec \$1-maVariable.
une autre methode avec makefilename (voir 11-page.pd);
#X text 28 1366 voir 21-exercices.pd;
#X obj 29 1141 cnv 15 500 20 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 40 1142 RESEAU;
#X obj 44 1182 netreceive;
#X obj 128 1182 netsend;
#X obj 44 1219 OSCroute;
#X connect 4 0 10 0;
#X connect 5 0 21 0;
#X connect 6 0 22 0;
#X connect 11 0 12 0;
#X connect 13 0 14 0;
#X connect 16 0 15 0;
#X connect 18 0 17 0;
#X connect 23 0 31 0;
#X connect 24 0 26 0;
#X connect 25 0 24 0;
#X connect 27 0 29 0;
#X connect 30 0 28 0;
#X connect 37 0 48 0;
#X connect 38 0 40 0;
#X connect 39 0 41 0;
#X connect 42 0 43 0;
--- NEW FILE: 04.objects.pd ---
#N canvas 359 93 607 497 12;
#X obj 28 151 float;
#X text 10 61 The fundamental building block of a Pd program is the
object. Each object is itself like a tiny program that does a very
specific thing.;
#X text 11 124 These are all objects which store data:;
#X obj 96 151 symbol;
#X obj 174 151 list;
#X text 13 188 With most objects \, you can read the name of the object
in the object box:;
#X obj 16 230 moses;
#X obj 92 230 select;
#X obj 176 230 route;
#X obj 251 230 trigger;
#X text 11 264 GUI objects convert themselves into a GUI element \,
usually some kind of control. In the process \, they often hide the
text name of the object:;
#X obj 27 358 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 15 329 [bng];
#X obj 108 355 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 10000 1;
#X text 85 329 [vslider];
#X text 227 331 [hslider];
#X obj 197 353 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
-1 -1 0 1;
#X obj 393 351 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X text 382 326 [tgl];
#X obj 8 10 cnv 15 400 40 empty empty objects 20 12 0 24 -228992 -66577
0;
--- NEW FILE: math.pd ---
#N canvas 436 10 551 278 10;
#X obj 17 11 cnv 15 500 100 empty empty OPERATIONS: 20 12 0 14 -233017
-66577 0;
#N canvas 58 106 794 296 operations-logiques-relationnelles 0;
#X obj 41 146 &;
#X obj 91 146 |;
#X obj 143 146 &&;
#X obj 194 146 ||;
#X obj 415 146 >;
#X obj 464 146 >=;
#X obj 517 146 ==;
#X obj 618 146 <=;
#X obj 665 146 <;
#X obj 569 146 !=;
#X obj 233 146 <<;
#X obj 284 146 >>;
#X floatatom 41 92 5 0 0 0 - - -;
#X floatatom 303 93 5 0 0 0 - - -;
#X floatatom 41 183 2 0 0 0 - - -;
#X floatatom 91 183 2 0 0 0 - - -;
#X floatatom 143 183 2 0 0 0 - - -;
#X floatatom 194 183 2 0 0 0 - - -;
#X floatatom 233 183 2 0 0 0 - - -;
#X floatatom 284 183 2 0 0 0 - - -;
#X floatatom 415 183 2 0 0 0 - - -;
#X floatatom 464 183 2 0 0 0 - - -;
#X floatatom 517 183 2 0 0 0 - - -;
#X floatatom 569 183 2 0 0 0 - - -;
#X floatatom 618 183 2 0 0 0 - - -;
#X floatatom 665 183 2 0 0 0 - - -;
#X floatatom 415 93 5 0 0 0 - - -;
#X floatatom 684 93 5 0 0 0 - - -;
#X text 38 33 Operateurs Logiques;
#X text 39 45 -------------------;
#X text 412 34 Operateurs Relationnelles;
#X text 413 45 --------------------------;
#X text 167 238 voir 17-exercices.pd : detecteur d'enveloppe;
#X text 167 256 voir 19-exercices.pd : sequenceurs;
#X connect 0 0 14 0;
#X connect 1 0 15 0;
#X connect 2 0 16 0;
#X connect 3 0 17 0;
#X connect 4 0 20 0;
#X connect 5 0 21 0;
#X connect 6 0 22 0;
#X connect 7 0 24 0;
#X connect 8 0 25 0;
#X connect 9 0 23 0;
#X connect 10 0 18 0;
#X connect 11 0 19 0;
#X connect 12 0 0 0;
#X connect 12 0 1 0;
#X connect 12 0 2 0;
#X connect 12 0 3 0;
#X connect 12 0 10 0;
#X connect 12 0 11 0;
#X connect 13 0 11 1;
#X connect 13 0 10 1;
#X connect 13 0 3 1;
#X connect 13 0 2 1;
#X connect 13 0 1 1;
#X connect 13 0 0 1;
#X connect 26 0 4 0;
#X connect 26 0 5 0;
#X connect 26 0 6 0;
#X connect 26 0 9 0;
#X connect 26 0 7 0;
#X connect 26 0 8 0;
#X connect 27 0 4 1;
#X connect 27 0 5 1;
#X connect 27 0 6 1;
#X connect 27 0 9 1;
#X connect 27 0 7 1;
#X connect 27 0 8 1;
#X restore 18 129 pd operations-logiques-relationnelles;
#N canvas 0 0 795 354 operations-mathematiques 0;
#X floatatom 31 72 5 0 0 0 - - -;
#X obj 160 128 *;
#X floatatom 238 72 5 0 0 0 - - -;
#X floatatom 160 197 5 0 0 0 - - -;
#X obj 31 128 +;
#X obj 96 128 -;
#X obj 219 128 /;
#X floatatom 31 197 5 0 0 0 - - -;
#X floatatom 96 197 5 0 0 0 - - -;
#X floatatom 219 197 5 0 0 0 - - -;
#X obj 375 134 pow 2;
#X obj 441 133 pow -1;
#X floatatom 375 80 5 0 0 0 - - -;
#X floatatom 375 206 5 0 0 0 - - -;
#X floatatom 441 206 5 0 0 0 - - -;
#X obj 626 133 % 5;
#X floatatom 611 81 5 0 0 0 - - -;
#X floatatom 664 81 5 0 0 0 - - -;
#X floatatom 626 206 5 0 0 0 - - -;
#X text 628 242 Modulo;
#X text 31 24 Operations Mathematiques;
#X text 30 34 ------------------------;
#X text 29 243 Operations arithmetiques standards;
#X obj 691 132 mod 5;
#X text 667 132 =;
#X text 364 244 operations puissances;
#X text 435 299 voir 18-exercices.pd : beat tempo;
#X connect 0 0 1 0;
#X connect 0 0 5 0;
#X connect 0 0 6 0;
#X connect 0 0 4 0;
#X connect 1 0 3 0;
#X connect 2 0 1 1;
#X connect 2 0 4 1;
#X connect 2 0 5 1;
#X connect 2 0 6 1;
#X connect 4 0 7 0;
#X connect 5 0 8 0;
#X connect 6 0 9 0;
#X connect 10 0 13 0;
#X connect 11 0 14 0;
#X connect 12 0 10 0;
#X connect 12 0 11 0;
#X connect 15 0 18 0;
#X connect 16 0 15 0;
#X connect 17 0 15 1;
#X restore 18 167 pd operations-mathematiques;
#N canvas 29 79 932 301 operations-conditionnelles 0;
#X floatatom 445 74 5 0 0 0 - - -;
#X floatatom 504 74 5 0 0 0 - - -;
#X floatatom 445 160 5 0 0 0 - - -;
#X floatatom 504 160 5 0 0 0 - - -;
#X obj 445 115 moses 10;
#X obj 326 112 spigot;
#X floatatom 22 96 5 0 0 0 - - -;
#X obj 22 186 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 22 137 select 2 3 4;
#X obj 52 186 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 82 186 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X floatatom 113 186 5 0 0 0 - - -;
#X obj 369 89 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X floatatom 326 70 5 0 0 0 - - -;
#X floatatom 326 156 5 0 0 0 - - -;
#X obj 621 183 print r1;
#X obj 690 183 print r2;
#X obj 759 183 print r3;
#X obj 828 183 print r4;
#X msg 621 69 1 2 3;
#X msg 678 70 2 3 4;
#X obj 621 130 route 1 2 symbol;
#X msg 731 70 symbol bar;
#X msg 732 97 who am I?;
#X text 18 20 Operations Conditionnelles;
#X text 18 32 --------------------------;
#X text 18 61 Selectionner certaines entrees;
#X text 325 36 Porte;
#X text 438 36 Separer les entrees;
#X text 619 38 Routage des entrees;
#X obj 258 233 *;
#X obj 277 208 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 366 209 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 347 233 *~;
#X text 257 181 autres Portes :;
#X obj 449 203 cnv 15 74 20 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 624 223 cnv 15 107 20 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 625 243 cnv 15 113 20 empty empty empty 20 12 0 14 -233017 -66577
0;
#N canvas 243 0 636 690 random 0;
#X msg 103 95 bang;
#X text 44 19 You can generate weighted random numbers from uniformly
distributed ones. If you just want two possible outcomes with a varying
probability for each one \, you can do as shown:;
#X obj 103 121 random 100;
#X obj 102 174 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 169 174 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X floatatom 205 148 3 0 100 0 - - -;
#X text 250 148 <-- change probablilty;
#X obj 103 149 moses 80;
#X text 152 93 <-- click to test;
#X text 61 219 This outputs a number at left 80% of the time \, otherwise
at right \, unless you override the "80" using the number box. You
may extend this to more than two possible outcomes \, for instance
like this:;
#X msg 106 305 bang;
#X obj 106 331 random 100;
#X obj 105 384 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 195 387 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 155 303 <-- click to test;
#X obj 106 359 moses 10;
#X obj 196 360 moses 30;
#X obj 263 387 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 103 409 10%;
#X text 193 410 20%;
#X text 265 409 70%;
#X obj 103 736 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X obj 100 821 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X obj 181 820 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X obj 218 822 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X msg 100 843 1;
#X msg 181 845 2;
#X msg 218 846 3;
#X obj 100 882 s state;
#X obj 85 658 bng 20 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X obj 121 641 r state;
#X obj 102 710 sel 1 2 3;
#X obj 274 738 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X obj 271 823 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X obj 353 825 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X obj 392 828 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X msg 271 846 1;
#X msg 348 851 2;
#X msg 392 852 3;
#X obj 271 882 s state;
#X obj 438 739 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X obj 438 824 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X obj 518 823 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X obj 557 826 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X msg 438 847 1;
#X msg 518 848 2;
#X msg 557 849 3;
#X obj 438 882 s state;
#X msg 255 671 \; state 1;
#X obj 102 684 f 1;
#X obj 103 764 random 100;
#X obj 102 793 moses 30;
#X obj 181 794 moses 60;
#X obj 274 765 random 100;
#X obj 274 795 moses 10;
#X obj 353 796 moses 60;
#X obj 438 766 random 100;
#X obj 438 795 moses 70;
#X obj 518 795 moses 80;
#X floatatom 133 666 3 0 0 0 - - -;
#X text 255 651 reset;
#X text 68 637 STEP;
#X text 53 505 Here is how to construct a simple \, three-valued Markov
chain using "random." Each time you click on "step" the previous output
("state") determines which of three random networks to invoke \, each
having a different probability distribution for the next value of "state."
For instance if the state was 3 \, the next state will be 1 70% of
the time \, state 2 10% \, and state 3 20%.;
#X connect 0 0 2 0;
#X connect 2 0 7 0;
#X connect 5 0 7 1;
#X connect 7 0 3 0;
#X connect 7 1 4 0;
#X connect 10 0 11 0;
#X connect 11 0 15 0;
#X connect 15 0 12 0;
#X connect 15 1 16 0;
#X connect 16 0 13 0;
#X connect 16 1 17 0;
#X connect 21 0 50 0;
#X connect 22 0 25 0;
#X connect 23 0 26 0;
#X connect 24 0 27 0;
#X connect 25 0 28 0;
#X connect 26 0 28 0;
#X connect 27 0 28 0;
#X connect 29 0 49 0;
#X connect 30 0 49 1;
#X connect 30 0 59 0;
#X connect 31 0 21 0;
#X connect 31 1 32 0;
#X connect 31 2 40 0;
#X connect 32 0 53 0;
#X connect 33 0 36 0;
#X connect 34 0 37 0;
#X connect 35 0 38 0;
#X connect 36 0 39 0;
#X connect 37 0 39 0;
#X connect 38 0 39 0;
#X connect 40 0 56 0;
#X connect 41 0 44 0;
#X connect 42 0 45 0;
#X connect 43 0 46 0;
#X connect 44 0 47 0;
#X connect 45 0 47 0;
#X connect 46 0 47 0;
#X connect 49 0 31 0;
#X connect 50 0 51 0;
#X connect 51 0 22 0;
#X connect 51 1 52 0;
#X connect 52 0 23 0;
#X connect 52 1 24 0;
#X connect 53 0 54 0;
#X connect 54 0 33 0;
#X connect 54 1 55 0;
#X connect 55 0 34 0;
#X connect 55 1 35 0;
#X connect 56 0 57 0;
#X connect 57 0 41 0;
#X connect 57 1 58 0;
#X connect 58 0 42 0;
#X connect 58 1 43 0;
#X restore 448 203 pd random;
#N canvas 0 0 357 255 route_lists 0;
#X floatatom 228 32 5 0 0 0 - - -;
#X obj 228 70 t b f;
#X obj 228 120 pack s f;
#X msg 81 30 droite;
#X msg 17 30 gauche;
#N canvas 510 50 299 253 test 0;
#X obj 112 34 inlet;
#X obj 185 175 outlet;
#X obj 112 74 route list;
#X obj 112 176 outlet;
#X obj 112 116 route gauche droite;
#X obj 79 166 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 216 152 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X connect 0 0 2 0;
#X connect 2 0 4 0;
#X connect 2 1 4 0;
#X connect 4 0 3 0;
#X connect 4 0 5 0;
#X connect 4 1 1 0;
#X connect 4 1 6 0;
#X restore 228 189 pd test;
#X floatatom 279 217 5 0 0 0 - - -;
#X floatatom 228 217 5 0 0 0 - - -;
#X msg 40 151 droite 10 \, gauche 40;
#X symbolatom 139 32 10 0 0 0 - - -;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 2 1;
#X connect 2 0 5 0;
#X connect 3 0 2 0;
#X connect 4 0 2 0;
#X connect 5 0 7 0;
#X connect 5 1 6 0;
#X connect 8 0 5 0;
#X connect 9 0 2 0;
#X restore 625 243 pd route_lists;
#N canvas 385 246 472 322 lists_pack 0;
#X obj 68 114 pack 0 5 s;
#X obj 68 160 print;
#X obj 189 168 unpack 0 0 s;
#X floatatom 189 204 5 0 0 0 - - -;
#X floatatom 234 204 5 0 0 0 - - -;
#X msg 280 236 Hello;
#X msg 280 204 set \$1;
#X obj 37 79 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X msg 143 79 symbol Hello;
#X floatatom 105 79 3 0 0 0 - - -;
#X floatatom 68 79 3 0 0 0 - - -;
#X text 35 24 Making lists with pack;
#X connect 0 0 1 0;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 4 0;
#X connect 2 2 6 0;
#X connect 6 0 5 0;
#X connect 7 0 0 0;
#X connect 8 0 0 2;
#X connect 9 0 0 1;
#X connect 10 0 0 0;
#X restore 625 223 pd lists_pack;
#X connect 0 0 4 0;
#X connect 1 0 4 1;
#X connect 4 0 2 0;
#X connect 4 1 3 0;
#X connect 5 0 14 0;
#X connect 6 0 8 0;
#X connect 8 0 7 0;
#X connect 8 1 9 0;
#X connect 8 2 10 0;
#X connect 8 3 11 0;
#X connect 12 0 5 1;
#X connect 13 0 5 0;
#X connect 19 0 21 0;
#X connect 20 0 21 0;
#X connect 21 0 15 0;
#X connect 21 1 16 0;
#X connect 21 2 17 0;
#X connect 21 3 18 0;
#X connect 22 0 21 0;
#X connect 23 0 21 0;
#X connect 31 0 30 1;
#X connect 32 0 33 1;
#X restore 18 205 pd operations-conditionnelles;
#X text 322 129 > < != >= . . .;
#X text 36 34 Pour aller plus loin dans les possibilites relationnelles
:;
#X text 249 165 - + = / *;
#X text 270 204 selection \, routage \, porte \, ...;
#N canvas 0 0 556 312 changementEchelles 0;
#X text 11 3 But : passer un nombre qui va de 0 a 127 en un nombre
entre 40 et 3000;
#X obj 171 43 range 0 127 40 3000;
#X text 13 43 Un objet fait ca :;
#X text 9 92 Mais on peut faire tout aussi bien en utilisant les objets
[expr] qui servent tres bien pour tout calcul.;
#X floatatom 130 173 5 0 0 0 - - -;
#X floatatom 130 260 5 0 0 0 - - -;
#X text 452 124 0 : x1;
#X text 436 139 127 : x2;
#X text 444 153 40 : x3;
#X text 428 168 3000 : x4;
#X obj 130 202 expr ( (($f1-O)/(127-0))*(3000-40) ) + (40-0);
#X msg 60 136 0;
#X msg 94 137 60;
#X msg 126 138 127;
#X connect 4 0 10 0;
#X connect 10 0 5 0;
#X connect 11 0 4 0;
#X connect 12 0 4 0;
#X connect 13 0 4 0;
#X restore 17 242 pd changementEchelles;
#X text 204 243 objet [expr];
--- NEW FILE: sorting_messages_by_selectors.pd ---
#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;
--- NEW FILE: sorting_messages_by_type.pd ---
#N canvas 565 106 627 443 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 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
-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
-1 -1;
#X obj 237 359 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
-1 -1;
#X obj 375 359 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
-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 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;
--- NEW FILE: symbol_conversion.pd ---
#N canvas 68 53 638 461 12;
#X obj 10 -38 cnv 15 400 40 empty empty symbol_conversion 20 12 0 24
-228992 -66577 0;
#X symbolatom 73 319 10 0 0 0 - - -;
#X text 12 27 A symbolic atom is not the same thing as a symbol message.
This is a key distinction which becomes especially relevant when processing
more complicated messages.;
#X msg 32 169 nope;
#X obj 90 272 symbol;
#X msg 90 226 yes;
#X text 90 169 <-- click and look at Pd window;
#X text 11 95 In addition to being a storage object \, [symbol] also
serves as a conversion object. Many objects only receive symbolic data
in the form of a symbol message.;
#X text 186 319 <-- expects a symbol message;
#X text 159 274 <-- converts symbolic input to symbol message;
#X text 139 225 <-- click to see this one get converted;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
#X connect 5 0 4 0;
--- NEW FILE: 12.atomic_messages.pd ---
#N canvas 384 167 602 456 12;
#X obj 10 12 cnv 15 400 40 empty empty atomic_messages 20 12 0 24 -228992
-66577 0;
#X msg 27 81 bang;
#X msg 27 197 symbol atom;
#X msg 29 300 float 1.234;
--- NEW FILE: counters.pd ---
#N canvas 0 22 458 308 10;
#X obj 317 70 cnv 15 100 60 empty empty empty 20 12 0 14 -261681 -66577
0;
#X obj 338 90 f;
#X obj 373 90 + 1;
#X text 319 51 infinite loop!;
#X obj 106 199 float;
#X floatatom 74 227 5 0 0 0 - - -;
#X msg 74 121 1;
#X obj 73 199 +;
#X msg 109 173 0;
#X msg 86 144 -1;
#X text 110 122 increment;
#X text 115 145 decrement;
#X text 137 171 reset;
#X floatatom 254 267 5 0 0 0 - - -;
#X msg 296 213 0;
#X text 290 162 increment;
#X text 328 213 reset;
#X obj 253 239 float;
#X obj 296 239 + 1;
#X msg 254 161 bang;
#X connect 1 0 2 0;
#X connect 2 0 1 0;
#X connect 4 0 7 1;
#X connect 6 0 7 0;
#X connect 7 0 4 0;
#X connect 7 0 5 0;
#X connect 8 0 4 0;
#X connect 9 0 7 0;
#X connect 14 0 18 0;
#X connect 17 0 13 0;
#X connect 17 0 18 0;
#X connect 18 0 17 1;
#X connect 19 0 17 0;
--- NEW FILE: 10.storage_objects.pd ---
#N canvas 559 137 638 539 12;
#X obj 122 89 symbol;
#X obj 63 89 bang;
#X obj 303 89 f;
#X obj 208 89 float;
#X text 268 89 aka;
#X text 36 384 If a storage object receives a value on the left inlet
\, then it outputs that value immediately in addition to storing it.
;
#X text 35 254 If a storage object receives a value on the right inlet
\, then it stores that value.;
#X text 28 123 If you bang the left inlet of a storage object \, it
outputs its stored value.;
#X obj 170 334 float;
#X msg 195 302 123;
#X obj 124 478 float;
#X msg 170 452 123;
#X msg 124 453 432;
#X msg 237 301 321;
#X floatatom 170 358 5 0 0 0 - - -;
#X floatatom 185 228 5 0 0 0 - - -;
#X floatatom 124 507 5 0 0 0 - - -;
#X obj 12 13 cnv 15 400 40 empty empty storage_objects 20 12 0 24 -228992
-66577 0;
#X obj 185 199 float 5.5;
#X text 98 58 A storage object stores data.;
#X obj 362 89 list;
#X obj 299 198 symbol yoyo;
#X symbolatom 299 227 10 0 0 0 - - -;
#X msg 185 171 bang;
#X msg 299 170 bang;
#X msg 132 303 bang;
#X obj 320 329 symbol yoyo;
#X symbolatom 320 358 10 0 0 0 - - -;
#X msg 320 301 bang;
#X msg 70 453 bang;
#X msg 379 300 symbol one;
#X msg 492 300 symbol two;
#X obj 427 89 any;
#X obj 477 89 pointer;
#X connect 8 0 14 0;
#X connect 9 0 8 1;
#X connect 10 0 16 0;
#X connect 11 0 10 1;
#X connect 12 0 10 0;
#X connect 13 0 8 1;
#X connect 18 0 15 0;
#X connect 21 0 22 0;
#X connect 23 0 18 0;
#X connect 24 0 21 0;
#X connect 25 0 8 0;
#X connect 26 0 27 0;
#X connect 28 0 26 0;
#X connect 29 0 10 0;
#X connect 30 0 26 1;
#X connect 31 0 26 1;
--- NEW FILE: guis.pd ---
#N canvas 153 19 568 572 10;
#X obj -4 -4 cnv 15 600 700 empty empty gui-INTRO 237 20 2 14 -261819
-143491 0;
#X text 101 4 bng;
#X obj 456 313 vsl 15 128 0 127 0 0 empty empty default_15x128 8 -8
0 8 -262144 -1 -1 0 1;
#X obj 354 42 tgl 100 1 empty empty 100_pix 8 -8 0 8 -250685 -24198
-42246 1 1;
#X obj 57 251 hsl 128 15 0 127 0 0 empty empty default_128x15 8 -8
0 8 -262144 -1 -1 0 1;
#X obj 78 226 hsl 20 8 0 19 0 0 empty empty min_20x8 8 -8 0 8 -262144
-1 -1 0 1;
#X obj 478 326 vsl 8 20 0 19 0 0 empty empty min_8x20 8 -8 0 8 -262144
-1 -1 0 1;
#X obj 458 48 tgl 8 0 empty empty min_8 8 -8 0 8 -262144 -1 -1 0 1
;
#X obj 458 71 tgl 15 0 empty empty default_15 8 -8 0 8 -262144 -1 -1
0 1;
#X obj 459 109 tgl 30 0 empty empty 30_pix 8 -8 0 8 -262144 -1 -1 0
1;
#X obj 101 88 bng 30 250 50 0 empty empty 30_pix 8 -8 0 8 -262144 -1
-1;
#X obj 412 304 vsl 30 250 0 249 0 1 empty empty 30x250 8 -8 0 8 -184301
-42886 -42246 21800 1;
#X obj 7 271 hsl 251 30 0 250 0 1 empty empty 251x30 8 -8 0 8 -147456
-1109 -66577 12500 1;
#X text 180 518 (c) musil(a)iem.kug.ac.at;
#X text 222 531 IEM KUG;
#X text 197 543 graz \, austria 2001;
#X obj 40 343 vu 25 200 empty empty 8 -8 0 8 -1 -99865 1 0;
#X obj 13 24 bng 75 5000 25 1 empty empty 75pix+init 8 -8 0 8 -262131
-261458 -123526;
#X obj 100 376 vu 15 120 empty empty 8 -8 0 8 -66577 -1 1 0;
#X obj 186 375 vu 10 80 empty empty 8 -8 0 8 -66577 -1 1 0;
#X text 99 313 vu;
#N canvas 438 180 374 414 animate_vu 0;
#X obj 40 211 t f f;
#X obj 65 233 + 6;
#X obj 40 257 pack 0 0;
#X obj 78 94 tgl 15 0 empty empty empty 8 -8 0 10 -262144 -1 -1 0 1
;
#X obj 78 115 sel 0 1;
#X obj 78 74 metro 4000;
#X msg 100 137 30 3000;
#X msg 78 167 -130 3000;
#X obj 40 189 line -130 50;
#X obj 78 51 inlet;
#X obj 40 316 outlet;
#X obj 87 316 outlet;
#X obj 134 316 outlet;
#X connect 0 0 2 0;
#X connect 0 1 1 0;
#X connect 1 0 2 1;
#X connect 2 0 10 0;
#X connect 2 0 11 0;
#X connect 2 0 12 0;
#X connect 3 0 4 0;
#X connect 4 0 7 0;
#X connect 4 1 6 0;
#X connect 5 0 3 0;
#X connect 6 0 8 0;
#X connect 7 0 8 0;
#X connect 8 0 0 0;
#X connect 9 0 5 0;
#X restore 99 349 pd animate_vu;
#X obj 99 331 tgl 15 1 empty empty empty 8 -8 0 10 -262144 -1 -1 1
1;
#X text 360 8 toggle = tgl;
#X text 68 198 hslider = hsl;
#X text 430 271 vslider = vsl;
#X obj 13 160 print initial_bang;
#X obj 21 118 bng 15 250 50 0 empty empty default_15 8 -8 0 8 -262144
-1 -1;
#X obj 104 48 bng 8 250 50 0 empty empty min_8 8 -8 0 10 -262144 -1
-1;
#X obj 21 137 print no_initial_bang;
#X obj 283 324 cnv 15 100 30 empty empty empty 20 12 2 20 -225271 -66577
0;
#X obj 283 355 cnv 15 100 30 empty empty empty 20 12 2 20 -225280 -66577
0;
#X obj 283 386 cnv 15 100 30 empty empty empty 20 12 2 20 -261681 -66577
0;
#X obj 283 417 cnv 15 100 30 empty empty empty 20 12 2 20 -257472 -66577
0;
#X obj 172 375 vu 10 80 empty empty 8 -8 0 8 -66577 -1 0 0;
#X obj 310 203 hradio 15 1 1 8 empty empty default_8*15 8 -8 0 8 -262144
-1 -1 2;
#X obj 254 223 hradio 25 1 1 12 empty empty 12*25 8 -8 0 8 -1433 -225280
-355 1;
#N canvas 179 78 690 573 nervous 0;
#X obj 10 23 tgl 55 1 empty start_nervously1 start_it 8 -8 0 10 -260818
-1 -250685 0 1;
#X obj 131 141 bng 51 1200 50 0 empty nerv_bng bang 8 -8 0 10 -253378
-137031 -222091;
#X obj 120 418 hsl 22 12 0 127 0 0 empty nerv_hsl h-slider 8 -8 0 10
-71033 -66198 -128091 0 1;
#X obj 448 140 tgl 11 1 empty nerv_tgl toggle 8 -8 0 10 -141355 -82199
-51488 0 1;
#X obj 447 383 vsl 15 111 0 127 0 0 empty nerv_vsl v-slider 8 -8 0
10 -150187 -73940 -248863 0 1;
#N canvas 135 99 382 469 control 0;
#X obj 19 21 inlet;
#X obj 19 50 t b f;
#X obj 19 153 del 900;
#X obj 19 212 del 900;
#X obj 19 93 del 100;
#X obj 19 283 del 900;
#X obj 33 125 f;
#X obj 33 180 f;
#X obj 33 245 f;
#X obj 33 309 f;
#N canvas 280 166 794 432 bng 0;
#X obj 114 260 - 0;
#X obj 148 258 f;
#X obj 147 222 t f b;
#X obj 79 122 random 56789;
#X obj 150 165 random 9876;
#X obj 47 236 - 0;
#X obj 81 234 f;
#X obj 80 198 t f b;
#X obj 150 192 % 50;
#X obj 79 145 % 50;
#X obj 64 289 pack 0 0;
#X obj 85 53 t b b b;
#X obj 234 368 pack 0 0 0;
#X obj 250 29 metro 2000;
#X obj 445 122 random 555666;
#X obj 445 168 + 8;
#X obj 445 145 % 120;
#X obj 84 32 metro 100;
#X obj 234 261 random 1.67772e+007;
#X obj 266 283 random 1.67772e+007;
#X obj 299 315 random 1.67772e+007;
#X obj 84 11 inlet;
#X msg 64 312 \; nerv_bng delta \$1 \$2;
#X msg 234 390 \; nerv_bng color \$1 \$2 \$3;
#X msg 445 192 \; nerv_bng size \$1;
#X msg 250 51 \; nerv_bng bang;
#X obj 234 340 * -1;
#X obj 266 316 * -1;
#X obj 299 342 * -1;
#X connect 0 0 10 1;
#X connect 1 0 0 1;
#X connect 2 0 1 1;
#X connect 2 0 0 0;
#X connect 2 1 1 0;
#X connect 3 0 9 0;
#X connect 4 0 8 0;
#X connect 5 0 10 0;
#X connect 6 0 5 1;
#X connect 7 0 6 1;
#X connect 7 0 5 0;
#X connect 7 1 6 0;
#X connect 8 0 2 0;
#X connect 9 0 7 0;
#X connect 10 0 22 0;
#X connect 11 0 3 0;
#X connect 11 0 14 0;
#X connect 11 0 18 0;
#X connect 11 1 4 0;
#X connect 11 1 19 0;
#X connect 11 2 20 0;
#X connect 12 0 23 0;
#X connect 13 0 25 0;
#X connect 14 0 16 0;
#X connect 15 0 24 0;
#X connect 16 0 15 0;
#X connect 17 0 11 0;
#X connect 18 0 26 0;
#X connect 19 0 27 0;
#X connect 20 0 28 0;
#X connect 21 0 17 0;
#X connect 21 0 13 0;
#X connect 26 0 12 0;
#X connect 27 0 12 1;
#X connect 28 0 12 2;
#X restore 114 143 pd bng;
#N canvas 139 89 794 432 tgl 0;
#X obj 114 260 - 0;
#X obj 148 258 f;
#X obj 147 222 t f b;
#X obj 79 122 random 56789;
#X obj 150 165 random 9876;
#X obj 47 236 - 0;
#X obj 81 234 f;
#X obj 80 198 t f b;
#X obj 150 192 % 50;
#X obj 79 145 % 50;
#X obj 64 289 pack 0 0;
#X obj 85 53 t b b b;
#X obj 445 122 random 555666;
#X obj 445 168 + 8;
#X obj 445 144 % 120;
#X obj 85 31 metro 100;
#X obj 264 28 metro 1000;
#X obj 85 10 inlet;
#X msg 64 312 \; nerv_tgl delta \$1 \$2;
#X msg 226 322 \; nerv_tgl color \$1 \$2 \$3;
#X msg 445 192 \; nerv_tgl size \$1;
#X msg 264 51 \; nerv_tgl bang;
#X obj 226 298 pack 0 0 0;
#X obj 226 191 random 1.67772e+007;
#X obj 258 213 random 1.67772e+007;
#X obj 291 245 random 1.67772e+007;
#X obj 226 270 * -1;
#X obj 258 246 * -1;
#X obj 291 272 * -1;
#X connect 0 0 10 1;
#X connect 1 0 0 1;
#X connect 2 0 1 1;
#X connect 2 0 0 0;
#X connect 2 1 1 0;
#X connect 3 0 9 0;
#X connect 4 0 8 0;
#X connect 5 0 10 0;
#X connect 6 0 5 1;
#X connect 7 0 6 1;
#X connect 7 0 5 0;
#X connect 7 1 6 0;
#X connect 8 0 2 0;
#X connect 9 0 7 0;
#X connect 10 0 18 0;
#X connect 11 0 3 0;
#X connect 11 0 12 0;
#X connect 11 0 23 0;
#X connect 11 1 4 0;
#X connect 11 1 24 0;
#X connect 11 2 25 0;
#X connect 12 0 14 0;
#X connect 13 0 20 0;
#X connect 14 0 13 0;
#X connect 15 0 11 0;
#X connect 16 0 21 0;
#X connect 17 0 15 0;
#X connect 17 0 16 0;
#X connect 22 0 19 0;
#X connect 23 0 26 0;
#X connect 24 0 27 0;
#X connect 25 0 28 0;
#X connect 26 0 22 0;
#X connect 27 0 22 1;
#X connect 28 0 22 2;
#X restore 114 198 pd tgl;
#N canvas 322 99 794 432 hsl 0;
#X obj 114 260 - 0;
#X obj 148 258 f;
#X obj 147 222 t f b;
#X obj 79 122 random 56789;
#X obj 150 165 random 9876;
#X obj 47 236 - 0;
#X obj 81 234 f;
#X obj 80 198 t f b;
#X obj 150 192 % 50;
#X obj 79 145 % 50;
#X obj 64 289 pack 0 0;
#X obj 85 53 t b b b;
#X obj 445 122 random 555666;
#X obj 560 188 + 8;
#X obj 560 128 random 773322;
#X obj 445 208 pack 0 0;
#X obj 84 32 metro 100;
#X obj 561 155 % 30;
#X obj 445 183 + 20;
#X obj 446 149 % 110;
#X obj 254 305 metro 1000;
#X obj 254 327 random 846352;
#X obj 254 350 % 130;
#X obj 84 11 inlet;
#X msg 64 321 \; nerv_hsl delta \$1 \$2;
#X msg 254 373 \; nerv_hsl set \$1;
#X msg 445 231 \; nerv_hsl size \$1 \$2;
#X obj 245 202 pack 0 0 0;
#X obj 245 95 random 1.67772e+007;
#X obj 277 117 random 1.67772e+007;
#X obj 310 149 random 1.67772e+007;
#X obj 245 174 * -1;
#X obj 277 150 * -1;
#X obj 310 176 * -1;
#X msg 245 229 \; nerv_hsl color \$1 \$2 \$3;
#X connect 0 0 10 1;
#X connect 1 0 0 1;
#X connect 2 0 1 1;
#X connect 2 0 0 0;
#X connect 2 1 1 0;
#X connect 3 0 9 0;
#X connect 4 0 8 0;
#X connect 5 0 10 0;
#X connect 6 0 5 1;
#X connect 7 0 6 1;
#X connect 7 0 5 0;
#X connect 7 1 6 0;
#X connect 8 0 2 0;
#X connect 9 0 7 0;
#X connect 10 0 24 0;
#X connect 11 0 3 0;
#X connect 11 0 12 0;
#X connect 11 0 28 0;
#X connect 11 1 4 0;
#X connect 11 1 14 0;
#X connect 11 1 29 0;
#X connect 11 2 30 0;
#X connect 12 0 19 0;
#X connect 13 0 15 1;
#X connect 14 0 17 0;
#X connect 15 0 26 0;
#X connect 16 0 11 0;
#X connect 17 0 13 0;
#X connect 18 0 15 0;
#X connect 18 0 22 1;
#X connect 19 0 18 0;
#X connect 20 0 21 0;
#X connect 21 0 22 0;
#X connect 22 0 25 0;
#X connect 23 0 16 0;
#X connect 23 0 20 0;
#X connect 27 0 34 0;
#X connect 28 0 31 0;
#X connect 29 0 32 0;
#X connect 30 0 33 0;
#X connect 31 0 27 0;
#X connect 32 0 27 1;
#X connect 33 0 27 2;
#X restore 112 263 pd hsl;
#N canvas 148 132 794 432 vsl 0;
#X obj 114 260 - 0;
#X obj 148 258 f;
#X obj 147 222 t f b;
#X obj 79 122 random 56789;
#X obj 150 165 random 9876;
#X obj 47 236 - 0;
#X obj 81 234 f;
#X obj 80 198 t f b;
#X obj 150 192 % 50;
#X obj 79 145 % 50;
#X obj 64 289 pack 0 0;
#X obj 85 53 t b b b;
#X obj 445 122 random 555666;
#X obj 560 128 random 773322;
#X obj 445 208 pack 0 0;
#X obj 84 32 metro 100;
#X obj 241 299 metro 1000;
#X obj 240 325 random 846352;
#X obj 241 352 % 130;
#X obj 561 155 % 110;
#X obj 560 188 + 20;
#X obj 446 149 % 30;
#X obj 445 183 + 3;
#X obj 84 11 inlet;
#X msg 239 227 \; nerv_vsl color \$1 \$2 \$3;
#X msg 445 231 \; nerv_vsl size \$1 \$2;
#X msg 64 310 \; nerv_vsl delta \$1 \$2;
#X msg 241 376 \; nerv_vsl set \$1;
#X obj 239 203 pack 0 0 0;
#X obj 239 96 random 1.67772e+007;
#X obj 271 118 random 1.67772e+007;
#X obj 304 150 random 1.67772e+007;
#X obj 239 175 * -1;
#X obj 271 151 * -1;
#X obj 304 177 * -1;
#X connect 0 0 10 1;
#X connect 1 0 0 1;
#X connect 2 0 1 1;
#X connect 2 0 0 0;
#X connect 2 1 1 0;
#X connect 3 0 9 0;
#X connect 4 0 8 0;
#X connect 5 0 10 0;
#X connect 6 0 5 1;
#X connect 7 0 6 1;
#X connect 7 0 5 0;
#X connect 7 1 6 0;
#X connect 8 0 2 0;
#X connect 9 0 7 0;
#X connect 10 0 26 0;
#X connect 11 0 3 0;
#X connect 11 0 12 0;
#X connect 11 0 29 0;
#X connect 11 1 4 0;
#X connect 11 1 13 0;
#X connect 11 1 30 0;
#X connect 11 2 31 0;
#X connect 12 0 21 0;
#X connect 13 0 19 0;
#X connect 14 0 25 0;
#X connect 15 0 11 0;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 27 0;
#X connect 19 0 20 0;
#X connect 20 0 14 1;
#X connect 20 0 18 1;
#X connect 21 0 22 0;
#X connect 22 0 14 0;
#X connect 23 0 15 0;
#X connect 23 0 16 0;
#X connect 28 0 24 0;
#X connect 29 0 32 0;
#X connect 30 0 33 0;
#X connect 31 0 34 0;
#X connect 32 0 28 0;
#X connect 33 0 28 1;
#X connect 34 0 28 2;
#X restore 113 327 pd vsl;
#X connect 0 0 1 0;
#X connect 1 0 4 0;
#X connect 1 1 6 1;
#X connect 1 1 7 1;
#X connect 1 1 8 1;
#X connect 1 1 9 1;
#X connect 2 0 3 0;
#X connect 2 0 7 0;
#X connect 3 0 5 0;
#X connect 3 0 8 0;
#X connect 4 0 2 0;
#X connect 4 0 6 0;
#X connect 5 0 9 0;
#X connect 6 0 10 0;
#X connect 7 0 11 0;
#X connect 8 0 12 0;
#X connect 9 0 13 0;
#X restore 10 85 pd control;
#X connect 0 0 5 0;
#X restore 295 424 pd nervous;
#X floatatom 239 84 4 0 0 0 - - -;
#N canvas 226 38 811 519 properties 0;
#X obj 2 1 cnv 8 870 590 empty empty about_gui_properties 290 20 2
18 -225280 -1109 0;
#X text 12 62 "selectable dimensions(pix): size:" = square-size of
the;
#X text 10 35 "dimensions(pix): size:" = square-size of the gui-objects
;
#X text 10 48 "dimensions(pix)(pix): width: height:" = width & height
;
#X text 11 177 "visible_rectangle(pix)(pix): width: height:" = width
&;
#X text 11 104 "flash-time(ms)(ms): intrrpt:" = flash-interrupt-time
;
#X text 411 62 selectable top-left corner of my_canvas in pixels.;
#X text 415 35 in pixels.;
#X text 11 76 "flash-time(ms)(ms): hold:" = flash-hold-time in msec
=;
#X text 405 76 duration of activity \, if a bang-object was activated
;
#X text 400 48 of the rectangular gui-object in pixels.;
#X text 402 177 height of a visible \, deactivated rectangle in pixels.
;
#X text 14 224 "new&old" or "new-only" = the radiobutton-object changes
its;
#X text 441 224 state in 2 ways:;
#X text 198 237 "new&old"-mode: output sends previous state off \,
current;
#X text 596 237 state on \;;
#X text 197 250 "new-only"-mode: output sends only current state on.
;
#X text 14 280 "steady on click" or "jump on click" = the 2 slider-objects
;
#X text 481 322 immediately to new mouse-position \,;
#X text 12 413 "label: font: fontsize:" = font-properties of label.
;
#X text 15 429 "colors:" = a click on radiobuttons "background:" \,
;
#X text 370 429 "front-color:" or "label-color:" activates the color-fields
;
#X text 174 193 if "init"-mode is selected \, the object displays and
puts;
#X text 15 266 "number:" = number of buttons of a radiobutton.;
#X text 205 89 by any message-event or by a mouse-click.;
#X text 388 104 in msec = duration of inactivity \, if an already;
#X text 205 117 activated bang is activated once more.;
#X text 11 132 "output-range: left: right:" = hslider-bounds;
#X text 332 132 for input- as well as output-values.;
#X text 332 146 for input- as well as output-values.;
#X text 11 146 "output-range: bottom: top:" = vslider-bounds;
#X text 12 193 "init" or "no init" =;
#X text 571 193 out its previously saved value.;
#X text 174 208 if "no init"-mode is selected \, nothing will happen.
;
#X text 433 280 react to mouse-click in 2 ways:;
#X text 201 294 "steady on click"-mode: slider-knob stays in position
\,;
#X text 225 307 mouse and knob will move parallel \;;
#X text 200 322 "jump on click"-mode: slider-knob jumps;
#X text 224 338 positions of mouse and knob will be identical \;;
#X text 402 353 receive-object with the same send-symbol-name.;
#X text 11 368 "receive-symbol:" = a send-object with the same;
#X text 11 353 "send-symbol:" = an output-message can be received by
a;
#X text 347 368 symbol-name can send an input-message to the gui-object.
;
#X text 13 383 "label: name:" = visible name of a gui-object \;;
#X text 343 383 it will be moved together with the gui-object.;
#X text 12 397 "label: x_off: y_off:" = coordinates of the label in
;
#X text 382 397 relation to top-left corner of gui-object.;
#X text 207 444 on the right side which display the current color of
the;
#X text 605 444 item \;;
#X text 11 161 "non-zero-value: value:" = toggle has 2;
#X text 292 161 value-states: zero and this value.;
#X text 208 460 to select a different color \, click on one of the
30 small;
#X text 614 459 preset-color-buttons \;;
#X text 208 475 each color (background \, front \, label) can be tuned
by its;
#X text 235 490 RGB-values (0 .. 252 \, step 4) and a click on the
set-button.;
#X restore 287 361 pd properties;
#N canvas 146 190 460 120 move 0;
#X obj 0 0 cnv 8 460 120 empty empty how_to_move_gui_objects 100 18
2 20 -225271 -42246 0;
#X text 11 43 Select a gui-object \, then navigate the object by using
the 4 direction-keys: UP \, DOWN \, LEFT or RIGHT.;
#X text 12 70 If you press the SHIFT-Key too \, the object will move
10 times faster.;
#X restore 308 331 pd move;
#N canvas 151 38 522 451 dollar 0;
#X obj 0 0 cnv 8 560 160 empty empty the_dollar_thing 100 18 2 20 -261681
-123526 0;
#X text 10 39 if you want to send to \, or to receive from gui-objects
;
#X text 394 39 in abstractions \,;
#X text 36 52 you have to write into the property-entry:;
#X text 44 67 #1-label (instead of \$1-label).;
#X text 25 103 type #0-uniquelabel (instead of \$0-uniquelabel).;
#X text 9 88 if you want a unique send-receive-symbolname:;
#X restore 299 391 pd dollar;
#X obj 283 448 cnv 15 100 30 empty empty empty 20 12 2 20 -228992 -66577
0;
#N canvas 177 21 730 638 messages 0;
#X obj 1 1 cnv 8 870 640 empty empty about_gui_messages 200 20 2 18
-228992 -355 0;
#X text 366 99 in pixels.;
#X text 9 84 "size 15 128" = change width & height;
#X text 9 159 "flashtime 50 600" = change flash-interrupt- and flash-hold
;
#X text 424 160 -time of bng-object.;
#X text 9 174 "pos 150 170" = change the x-y-position of the top-left
;
#X text 400 173 corner of a gui-object in pixels \;;
#X text 139 188 "pos 0 0" is the top-left corner of your window \;
;
#X text 143 204 the positive directions of x- and y-axes are right
and down.;
#X text 12 415 "receive togui" = change receive-name of object.;
#X text 12 431 "label its_me" = change label-text of object.;
#X text 12 446 "label_pos 20 8" = change offset-coordinates of label-text.
;
#X text 12 461 "label_font 0 10" = change font and fontsize of label-text.
;
#X text 12 340 "steady 1" change slider-knob-behaviour on mouse-click.
;
#X text 13 522 "lin" = change scale-mode of slider to linear.;
#X text 14 537 "log" = change scale-mode of slider to logarithmical.
;
#X text 333 355 to output only the new state.;
#X text 273 84 of sliders and vu in pixels.;
#X text 12 477 "init 1" = change initial loadbang-mode of gui-objects
;
#X text 12 400 "send fromgui" = change send-name of gui-objects \,
;
#X text 12 325 "number 10" = change number of buttons of radio-button.
;
#X text 9 128 "range 0.1 10.0" = change slider-boundaries for;
#X text 344 128 input- as well as output-values.;
#X text 13 492 "set 64" = change only the inner state and display of
gui-;
#X text 11 33 all gui-objects (bng \, hsl \, vsl \, tgl \, rdb \, cnv
and vu);
#X text 9 113 "vis_size 800 600" = change width & height;
#X text 309 113 of visual rectangle of my_canvas in pixels.;
#X text 359 400 except vu and my_canvas.;
#X text 395 477 except vu and cnv.;
#X text 421 492 objects \, except bng and cnv \;;
#X text 85 47 understand input-messages which change their properties.
;
#X text 11 222 "delta 15 17" = move the gui-object in relation to its
;
#X text 397 222 current position (in pixels).;
#X text 333 371 to first release the previous button \,;
#X text 144 385 then output the state of the new button.;
#X text 12 371 "double_change" change radio-button-behaviour;
#X text 12 355 "single_change" change radio-button-behaviour;
#X text 147 507 no output will result.;
#X text 9 99 "size 15" = change square-size of rdb \, bng and tgl;
#X text 9 143 "nonzero 127.0" = change the nonzero-value of toggle.
;
#X text 15 552 "get_pos" = if my_canvas has a receive-name and a send-name
;
#X text 434 552 and you send the;
#X text 272 237 front- and label-color of object with one of 30 presets.
;
#X text 277 252 label-color of vu and my_canvas with one of 30 presets.
;
#X text 504 282 (0 .. 255);
#X text 558 568 coordinates.;
#X text 149 568 message "get_pos" to it \, you receive the current
x- and y-;
#X text 85 59 except cnv has no inlet \, so you have to send messages
;
#X text 85 71 to its receive-label (edit properties).;
#X text 11 237 "color 0 22 22" = change background- \,;
#X text 11 252 "color 0 22" = change background- and;
#X text 13 268 "color -1.67772e+007 (-1) -1" = change background- \,
;
#X text 364 267 (front-) and label-color of object with RGB-values.
;
#X text 149 283 the RGB-value will be calculated: -65536*RED-value
;
#X text 592 309 - 1;
#X text 422 309 - BLUE-value (0 .. 255);
#X text 394 296 - 256*GREEN-value (0 .. 255);
#X restore 294 453 pd messages;
#X obj 225 259 cnv 1 350 1 empty empty empty 20 12 2 20 -258699 -66577
0;
#X obj 4 308 cnv 1 268 1 empty empty empty 20 12 2 20 -258699 -66577
0;
#X obj 4 186 cnv 1 220 1 empty empty empty 20 12 2 20 -258699 -66577
0;
#X obj 225 151 cnv 1 350 1 empty empty empty 20 12 2 20 -258699 -66577
0;
#X obj 271 261 cnv 1 1 48 empty empty empty 20 12 2 20 -258699 -66577
0;
#X obj 232 308 cnv 1 1 200 empty empty empty 20 12 2 20 -258699 -66577
0;
#X obj 339 3 cnv 1 1 149 empty empty empty 20 12 2 20 -258699 -66577
0;
#X obj 398 260 cnv 1 1 310 empty empty empty 20 12 2 20 -258699 -66577
0;
#X obj 225 3 cnv 1 1 255 empty empty empty 20 12 2 20 -258699 -66577
0;
#X floatatom 276 84 4 0 0 0 - - -;
#X obj 239 43 tgl 15 0 empty dsp_tgl empty 20 8 0 10 -370 -262144 -1
0 1;
#N canvas 145 31 380 506 dsp 0;
#X msg 31 88 \; pd dsp \$1;
#X obj 20 199 cputime;
#X obj 20 178 t b b;
#X text 15 11 dsp;
#X text 48 439 (c) musil(a)iem.kug.ac.at;
#X text 90 452 IEM KUG;
#X text 59 65 1/0 = ON/OFF;
#X text 97 313 CPU-load;
#X obj 62 126 loadbang;
#X obj 20 126 sel 1;
#X text 65 464 graz \, austria 2001;
#X text 64 12 turn dsp-kernel on & off \,;
#X obj 20 240 t f f;
#X text 65 408 average;
#X text 177 405 peak;
#X obj 211 154 f;
#X obj 146 179 > -1;
#X obj 169 155 f -1;
#X obj 179 91 t f b f;
#X obj 146 204 sel 1;
#X obj 192 132 f -1;
#X obj 20 154 metro 500;
#X obj 20 220 * 0.2;
#X text 74 37 -dsp-load in %;
#X text 65 24 measure average- and peak-;
#X obj 20 315 * 100;
#X obj 20 360 int;
#X obj 20 338 + 0.499;
#X obj 20 383 * 0.01;
#X obj 246 207 r pd;
#X obj 246 231 route dsp;
#X text 245 318 to toggle input;
#X msg 246 283 \; dsp_tgl set \$1;
#X obj 247 341 r dsp_tgl;
#X obj 246 257 route float;
#X obj 146 227 del 3990;
#N canvas 305 120 336 257 once 0;
#X text 7 204 (c) musil(a)iem.kug.ac.at;
#X text 49 214 IEM KUG;
#X text 24 223 graz \, austria 2001;
#X text 8 6 once;
#X obj 19 150 bang;
#X obj 56 65 f 0;
#X text 59 7 only the first message passes through;
#X obj 19 127 t b a;
#X obj 19 100 spigot;
#X obj 119 63 f 1;
#X obj 119 41 loadbang;
#X obj 19 40 inlet;
#X obj 49 183 outlet;
#X connect 4 0 5 0;
#X connect 5 0 8 1;
#X connect 7 0 4 0;
#X connect 7 1 12 0;
#X connect 8 0 7 0;
#X connect 9 0 8 1;
#X connect 10 0 9 0;
#X connect 11 0 8 0;
#X restore 111 264 pd once;
#N canvas 297 130 530 376 1p1z 0;
#X text 7 315 (c) musil(a)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;