#N canvas 421 23 617 624 12;
#X msg 84 365 bang;
#X obj 52 395 timer;
#X obj 20 12 timer;
#X text 65 11 - measure logical time;
#X floatatom 52 421 7 0 0 0 - - - 0;
#X text 13 580 see also:;
#X obj 320 271 tgl 19 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000 0 1;
#X obj 93 592 delay;
#X obj 352 361 sel 1;
#X floatatom 352 446 5 0 0 0 - - - 0;
#X obj 320 310 t f f;
#X obj 138 592 metro;
#X obj 454 361 metro 1 90 permin;
#X obj 352 419 timer 90 permin;
#X text 407 568 updated for Pd version 0.47;
#X obj 92 568 realtime;
#X obj 160 568 cputime;
#X text 30 202 These symbols can also be preceded by "per" (as in "permin" \, "permsec" \, etc.) In this case \, 60 permin means 1/60 min (hence \, the same as 'BPM')., f 78;
#X text 38 134 - millisecond (msec for short) \; - seconds (sec) \; - minutes (min) \; - samples (samp) - depends on the sample rate the patch is running, f 67;
#X text 150 303 set tempo units;
#X msg 52 299 tempo 1 sec;
#X msg 62 324 tempo 1 msec;
#X text 379 258 Here \, the metronome outputs at intervals of one beat at 90 beats per minute as the timer also set to that tempo measures., f 29;
#X text 60 256 reset (set elapsed time to zero), f 18;
#X text 127 354 output elapsed time. You can click multiple times since it was last reset., f 25;
#X obj 183 593 text sequence;
#X text 111 412 elapsed time in the specified time units, f 20;
#X text 39 476 Note you need to reset the elapsed time to zero when you change the tempo message when the object is runnng \, otherwise you get funny results because the change takes effect immediately and gets applied to the remaining part of the elapsed time., f 75;
#N canvas 700 98 489 311 reference 0;
#X obj 18 52 cnv 5 450 5 empty empty INLET: 8 18 0 13 #202020 #000000 0;
#X obj 18 229 cnv 2 450 2 empty empty ARGUMENTS: 8 12 0 13 #202020 #000000 0;
#X text 153 92 bang - reset (set elapsed time to zero).;
#X obj 18 285 cnv 5 450 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X obj 46 17 timer;
#X text 91 16 - measure logical time;
#X text 35 116 tempo <float \, symbol> -;
#X text 204 116 set tempo value (float) and time unit symbol., f 24;
#X text 130 239 1) float - tempo value (default 1)., f 42;
#X text 123 259 2) symbol - time unit (default 'msec')., f 43;
#X obj 18 192 cnv 2 450 2 empty empty OUTLET: 8 12 0 13 #202020 #000000 0;
#X text 156 163 bang - output elapsed time., f 30;
#X obj 18 157 cnv 1 450 1 empty empty 2nd: 8 12 0 13 #7c7c7c #000000 0;
#X obj 18 84 cnv 1 450 1 empty empty 1st: 8 12 0 13 #7c7c7c #000000 0;
#X text 133 201 1) float - elapsed time in msec.;
#X restore 504 12 pd reference;
#X text 436 11 click =>;
#X obj 6 44 cnv 1 600 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X obj 6 553 cnv 1 600 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X text 13 52 The [timer] object measures elapsed logical time. Logical time moves forward as if all computation were instantaneous and as if all [delay] and [metro] objects were exact. By default \, the time unit is 1 millisecond \, but you can change this with the 'tempo' message (as in [delay] \, [metro] and [text sequence]) \, which takes a different tempo number and a time unit symbol. Possible symbols are:, f 82;
#X obj 34 263 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X obj 352 390 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X obj 454 390 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X connect 0 0 1 1;
#X connect 1 0 4 0;
#X connect 6 0 10 0;
#X connect 8 0 34 0;
#X connect 10 0 12 0;
#X connect 10 1 8 0;
#X connect 12 0 35 0;
#X connect 13 0 9 0;
#X connect 20 0 1 0;
#X connect 21 0 1 0;
#X connect 33 0 1 0;
#X connect 34 0 13 0;
#X connect 35 0 13 1;
