#N canvas 210 11 720 587 10;
#X msg 167 246 0;
#X msg 468 246 0.5;
#X msg 540 246 1;
#X obj 96 283 sig~;
#X floatatom 96 481 9 0 0;
#X floatatom 163 435 9 0 0;
#X msg 96 189 reset;
#X msg 96 223 start;
#X msg 96 206 stop;
#X msg 357 246 0.1;
#X msg 321 246 0.01;
#X msg 279 246 0.001;
#X msg 237 246 1e-04;
#X msg 194 246 1e-05;
#X msg 390 246 0.25;
#X msg 427 246 0.316;
#X msg 499 246 0.707;
#X msg 570 246 1.414;
#X msg 612 246 2;
#X msg 645 246 10;
#X text 27 352 ~signal_in~;
#X text 201 47 (periode between 2 output-events);
#X text 99 534 (c) musil@iem.kug.ac.at;
#X text 116 559 graz \, austria 2000;
#X text 141 547 IEM KUG;
#X text 32 42 dsp ON/OFF;
#X obj 14 61 dsp;
#X floatatom 14 82 3 0 0;
#X text 41 83 % cpu;
#X obj 96 395 unpack 0 0 0;
#X floatatom 129 458 9 0 0;
#X text 195 459 2.item: <float> peak_level [dB];
#X text 160 482 1.item: <float> rms_level [dB];
#X obj 14 40 toggle 0 15;
#X obj 25 388 vu 12 80;
#X floatatom 96 261 9 0 0;
#X obj 125 303 phasor~;
#X obj 125 322 cos~;
#X obj 96 339 *~;
#X floatatom 24 492 6 0 0;
#X floatatom 31 474 6 0 0;
#X text 181 151 4.arg:<float>overflow_threshold [dB] (default: -0.01 dB);
#X text 200 85 (repeat the peak on output until peakholdtime);
#X text 106 377 output: <list> of 3 items:;
#X text 229 435 3.item: <float> overflow_per_metrotime_counter [-];
#X msg 96 51 t_metro \$1;
#X msg 96 89 t_hold \$1;
#X msg 96 127 t_release \$1;
#X msg 96 166 threshold \$1;
#X floatatom 96 34 9 50 500;
#X floatatom 96 72 9 10 5000;
#X floatatom 96 110 9 50 2000;
#X text 204 120 (output_level decrements by about 8.6 dB = 63% during this;
#X text 556 120 time);
#X floatatom 96 149 9 -120 30;
#X text 201 162 (output_overflow_counter increments by 1 per metrotime \, if;
#X text 553 162 peaklevel > threshold);
#X obj 24 560 bng 0 15 200;
#X obj 31 542 bng 0 15 200;
#X obj 21 170 toggle 5 20;
#X obj 21 218 toggle 0 10;
#X obj 21 233 * 0.99;
#X obj 21 252 + 0.01;
#X obj 21 199 metro 2567;
#X obj 96 361 prvu~;
#X text 181 36 1.arg:<float>metrotime [ms] (default: 300 ms);
#X text 181 109 3.arg:<float>releasetime [ms] (default: 300 ms);
#X text 180 74 2.arg:<float>peakholdtime [ms] (default: 1000 ms);
#X obj 125 283 sig~ 10001;
#X text 7 8 prvu~;
#X text 67 8 peak- rms- vu-meter;
#X text 134 188 reset peak- and rms-level to;
#X text 307 188 -99.9 dB and overflow_counter to 0;
#X text 134 205 stop the metro-clock of prvu~;
#X text 134 223 start the metro-clock of prvu~;
#X text 75 475 dB;
#X text 68 493 dB;
#X connect 0 0 35 0;
#X connect 1 0 35 0;
#X connect 2 0 35 0;
#X connect 3 0 38 0;
#X connect 6 0 64 0;
#X connect 7 0 64 0;
#X connect 8 0 64 0;
#X connect 9 0 35 0;
#X connect 10 0 35 0;
#X connect 11 0 35 0;
#X connect 12 0 35 0;
#X connect 13 0 35 0;
#X connect 14 0 35 0;
#X connect 15 0 35 0;
#X connect 16 0 35 0;
#X connect 17 0 35 0;
#X connect 18 0 35 0;
#X connect 19 0 35 0;
#X connect 26 0 27 0;
#X connect 29 0 4 0;
#X connect 29 1 30 0;
#X connect 29 2 5 0;
#X connect 33 0 26 0;
#X connect 34 0 39 0;
#X connect 34 1 40 0;
#X connect 35 0 3 0;
#X connect 36 0 37 0;
#X connect 37 0 38 1;
#X connect 38 0 64 0;
#X connect 39 0 57 0;
#X connect 40 0 58 0;
#X connect 45 0 64 0;
#X connect 46 0 64 0;
#X connect 47 0 64 0;
#X connect 48 0 64 0;
#X connect 49 0 45 0;
#X connect 50 0 46 0;
#X connect 51 0 47 0;
#X connect 54 0 48 0;
#X connect 59 0 63 0;
#X connect 60 0 61 0;
#X connect 61 0 62 0;
#X connect 62 0 35 0;
#X connect 63 0 60 0;
#X connect 64 0 29 0;
#X connect 64 0 34 0;
#X connect 68 0 36 0;
