#N canvas 434 68 560 578 10;
#X obj 2 328 cnv 3 550 3 empty empty inlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 2 427 cnv 3 550 3 empty empty outlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 2 512 cnv 3 550 3 empty empty arguments 8 12 0 13 #dcdcdc #000000 0;
#X obj 86 338 cnv 17 3 57 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 86 402 cnv 17 3 17 empty empty 1 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 86 436 cnv 17 3 17 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 86 458 cnv 17 3 17 empty empty 1 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 86 480 cnv 17 3 17 empty empty 2 5 9 0 16 #dcdcdc #9c9c9c 0;
#X floatatom 270 202 5 0 0 0 - - - 0;
#X obj 229 279 tgl 18 0 empty empty empty 0 -6 0 8 #d0d0d0 #000000 #000000 0 1;
#X obj 2 545 cnv 15 552 21 empty empty empty 20 12 0 14 #e0e0e0 #202020 0;
#X obj 270 258 tgl 18 0 empty empty empty 0 -6 0 8 #d0d0d0 #000000 #000000 0 1;
#X obj 189 286 bng 15 250 50 0 empty empty empty 17 7 0 10 #d0d0d0 #404040 #000000;
#X text 158 338 -;
#X text 125 338 bang;
#X text 158 359 -;
#X text 118 359 float;
#X text 158 380 -;
#X text 124 380 list;
#X text 158 403 -;
#X text 118 403 float;
#X text 158 436 -;
#X text 118 436 float;
#X text 158 458 -;
#X text 118 458 float;
#X text 158 481 -;
#X text 118 481 float;
#X text 158 521 -;
#X text 100 521 1) float;
#X obj 270 281 bng 15 250 50 0 empty empty empty 17 7 0 10 #dcdcdc #000000 #000000;
#X obj 189 260 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0 256;
#X obj 192 175 hsl 128 15 -99 99 0 0 empty empty empty -2 -8 0 10 #dcdcdc #000000 #000000 0 0;
#X obj 189 198 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #dcdcdc #000000 #000000 0 256;
#X obj 229 302 bng 15 250 50 0 empty empty empty 17 7 0 10 #dcdcdc #000000 #000000;
#X obj 162 203 bng 17 250 50 0 empty empty empty 17 7 0 10 #dcdcdc #000000 #000000;
#X text 60 90 [peak] compares the input to a 'peak' (maximum) value. If it's greater \, the input becomes the new peak and is sent out. The middle outlet sends 1 when a new peak is set and 0 otherwise. The right outlet sends 1 when the input is not greater than the peak and 0 otherwise., f 72;
#X text 308 199 <= sets new peak (maximum);
#X text 251 303 new peak;
#X text 289 279 not a new peak;
#X text 173 338 sends current 'peak' value to the left outlet, f 60;
#X text 173 403 set new 'peak' value, f 60;
#X text 173 436 the current 'peak' (minimum) value, f 60;
#X text 172 521 initial 'peak' value (default 0), f 36;
#X obj 189 234 cyclone/peak 4;
#X text 173 380 2nd number sets new 'peak' \, then 1st element is input;
#N canvas 323 43 601 417 list_input 0;
#X obj 130 294 tgl 18 0 empty empty empty 0 -6 0 8 #d0d0d0 #000000 #000000 0 1;
#X obj 181 294 tgl 18 0 empty empty empty 0 -6 0 8 #d0d0d0 #000000 #000000 0 1;
#X obj 79 297 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0 256;
#X msg 118 206 30 20;
#X msg 96 141 60 70;
#X text 78 315 peak;
#X text 123 324 peak;
#X text 126 314 new;
#X text 175 324 peak;
#X text 172 314 not a;
#X text 75 327 value;
#X obj 96 260 cyclone/peak;
#X text 94 45 [peak] can take a list of two values as an input. In this case \, the 2nd value is set as a new peak value and output. Then \, the first value is input. Check the examples below:;
#X text 168 192 20 is set as a new peak and is output \, then 30 is sent to the object and comes out because it's greater than the current peak and becomes the new peak value.;
#X text 141 131 70 is set as a new peak and is output \, then 60 is sent to the object but doesn't come out as it is smaller than the current peak.;
#X connect 3 0 11 0;
#X connect 4 0 11 0;
#X connect 11 0 2 0;
#X connect 11 1 0 0;
#X connect 11 2 1 0;
#X restore 451 292 pd list_input;
#X text 338 213 and outputs it;
#X text 173 359 a value to be compared with the 'peak' value, f 60;
#X text 173 458 1 (input is a new peak) / 0 (input is not a new peak);
#X text 173 481 1 (input is not a new peak) / 0 (input is a new peak);
#X text 61 140 Note: In Pd \, [cyclone/peak] only deals with floats \, not ints., f 62;
#X obj 3 2 ./header peak;
#X text 25 63 Output numbers greater than the previous;
#X text 154 260 peak;
#X connect 8 0 43 1;
#X connect 9 0 33 0;
#X connect 11 0 29 0;
#X connect 30 0 12 0;
#X connect 31 0 32 0;
#X connect 32 0 43 0;
#X connect 34 0 43 0;
#X connect 43 0 30 0;
#X connect 43 1 9 0;
#X connect 43 2 11 0;
