#N canvas 421 23 632 630 12;
#X msg 95 367 bang;
#X obj 63 397 timer;
#X obj 71 14 timer;
#X text 116 13 - measure logical time;
#X floatatom 63 423 7 0 0 0 - - - 0;
#X text 33 585 see also:;
#X obj 331 273 tgl 19 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000 0 1;
#X obj 113 597 delay;
#X obj 363 363 sel 1;
#X floatatom 363 448 5 0 0 0 - - - 0;
#X obj 331 312 t f f;
#X obj 158 597 metro;
#X obj 465 363 metro 1 90 permin;
#X obj 363 421 timer 90 permin;
#X text 365 586 updated for Pd version 0.47;
#X obj 112 573 realtime;
#X obj 180 573 cputime;
#X text 41 204 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 49 136 - millisecond (msec for short) \; - seconds (sec) \; - minutes (min) \; - samples (samp) - depends on the sample rate the patch is running, f 67;
#X text 161 305 set tempo units;
#X msg 63 301 tempo 1 sec;
#X msg 73 326 tempo 1 msec;
#X text 390 260 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 71 258 reset (set elapsed time to zero), f 18;
#X text 138 356 output elapsed time. You can click multiple times since it was last reset., f 25;
#X obj 203 598 text sequence;
#X text 122 414 elapsed time in the specified time units, f 20;
#X text 50 478 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 465 14 pd reference;
#X text 397 13 click =>;
#X obj 17 46 cnv 1 600 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X obj 17 555 cnv 1 600 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X text 24 54 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 45 265 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X obj 363 392 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X obj 465 392 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;
