#N canvas 401 45 566 655 10;
#X declare -stdpath ./;
#X obj 6 629 cnv 15 552 21 empty empty empty 20 12 0 14 #e0e0e0 #202020 0;
#X obj 7 327 cnv 3 550 3 empty empty inlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 6 489 cnv 3 550 3 empty empty outlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 6 521 cnv 3 550 3 empty empty arguments 8 12 0 13 #dcdcdc #000000 0;
#X obj 76 335 cnv 17 3 125 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 76 465 cnv 17 3 17 empty empty 1 5 9 0 16 #dcdcdc #9c9c9c 0;
#X text 149 332 bang;
#X text 143 349 float;
#X obj 76 497 cnv 17 3 17 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X text 143 467 float;
#X text 124 527 1) float;
#X text 124 544 2) float;
#X text 124 560 3) float;
#X text 124 576 4) float;
#X text 136 498 signal;
#X obj 6 596 cnv 3 550 3 empty empty attributes 8 12 0 13 #dcdcdc #000000 0;
#X text 111 605 @autoreset;
#X text 187 605 - @autoreset 1 (autoreset enabled) @autoreset 0 (disabled);
#X text 137 446 signal;
#X text 187 527 - minimum value (default 0);
#X text 187 332 - triggers counter and start counting from minimum;
#X text 149 429 list;
#X msg 91 166 stop;
#X obj 135 140 bng 18 250 50 0 empty empty empty 17 7 0 10 #dcdcdc #000000 #000000;
#X floatatom 166 142 5 0 0 0 - - - 0;
#X obj 135 194 cyclone/count~ 0 441000 1;
#X msg 171 166 min 220500;
#X text 35 139 start counting:;
#X text 187 365 - stops the counter and resets to minimum;
#X text 149 365 stop;
#X text 83 381 autoreset <1/0>;
#X text 187 349 - triggers counter and start counting from the given number;
#X text 187 396 - sets minimum value without triggering the counter;
#X text 187 413 - sets minimum and maximum values without triggering;
#X text 187 498 - outputs minimum value or count values when triggered;
#X text 187 559 - specify if it's initially off <0> or on <1> (default 0);
#X text 201 248 sample counter values;
#X text 242 166 sets minimum (no output);
#X text 203 141 sets minimum and start counting;
#X text 187 543 - maximum value to loop at - (default 0 - no loop);
#X text 187 575 - autoreset on <1> or off <0> (default 0);
#X text 188 445 - 0 to non-0 transition starts counter. Non-0 to 0 stops it;
#N canvas 686 163 473 486 all_messages 0;
#X msg 75 65 stop;
#X msg 50 36 bang;
#X text 83 36 start counting;
#X text 108 63 stop \, you guessed it;
#X obj 90 97 tgl 15 0 empty empty empty 0 -6 0 8 #dcdcdc #000000 #000000 0 1;
#X msg 90 120 autoreset \$1;
#X msg 111 193 min \$1;
#X floatatom 111 172 5 0 0 0 - - - 0;
#X msg 120 221 0;
#X msg 181 305 0 4.41e+08 1 1;
#X msg 181 327 10 100 1 1;
#X text 153 285 list resets arguments:;
#X text 109 97 resets counter to minimum when DSP is turned on;
#X text 150 220 sets min value and start counting from it;
#X msg 102 145 set -80000 80000;
#X obj 50 360 cyclone/count~;
#X msg 131 252 44100;
#X text 150 172 sets min value;
#X text 211 145 sets min and max* values;
#X text 168 252 set a max* value;
#X text 127 433 * actual maximum value is maximum - 1;
#X obj 50 399 cyclone/snapshot~ 1;
#X floatatom 50 432 10 0 0 0 - - - 0;
#X obj 345 299 cyclone/dsponoff~;
#X connect 0 0 15 0;
#X connect 1 0 15 0;
#X connect 4 0 5 0;
#X connect 5 0 15 0;
#X connect 6 0 15 0;
#X connect 7 0 6 0;
#X connect 8 0 15 0;
#X connect 9 0 15 0;
#X connect 10 0 15 0;
#X connect 14 0 15 0;
#X connect 15 0 21 0;
#X connect 16 0 15 1;
#X connect 21 0 22 0;
#X restore 455 199 pd all_messages;
#N canvas 643 230 416 320 signal_input 0;
#X obj 82 176 cyclone/count~;
#X obj 85 242 hsl 128 15 0 44100 0 0 empty empty empty -2 -8 0 10 #dcdcdc #000000 #000000 0 1;
#X text 219 242 44100;
#X text 64 243 0;
#X obj 82 87 cyclone/train~ 2000;
#X text 23 25 A signal input can trigger count with sample accuracy. A non-zero value turns the counter on \, a zero value stops it.;
#X obj 82 207 cyclone/snapshot~ 1;
#X obj 108 121 cyclone/snapshot~ 1;
#X floatatom 108 147 5 0 0 0 - - - 0;
#X obj 280 121 cyclone/dsponoff~;
#X connect 0 0 6 0;
#X connect 4 0 0 0;
#X connect 4 0 7 0;
#X connect 6 0 1 0;
#X connect 7 0 8 0;
#X restore 455 223 pd signal_input;
#N canvas 676 143 539 324 index~ 0;
#X msg 69 122 stop;
#X obj 56 88 bng 18 250 50 0 empty empty empty 17 7 0 10 #dcdcdc #000000 #000000;
#X floatatom 215 122 0 0 0 0 - - - 0;
#X obj 32 36 tgl 15 0 empty empty empty 0 -6 0 8 #dcdcdc #000000 #000000 0 1;
#X msg 32 60 autoreset \$1;
#X text 259 122 size (max value);
#X obj 215 97 soundfiler;
#X text 79 88 start counter;
#X obj 215 70 cyclone/loadmess read -resize violin.wav \$0-violin;
#X obj 424 95 table \$0-violin;
#X obj 56 150 cyclone/count~ 0 290645 1 1;
#X obj 56 181 cyclone/index~ \$0-violin;
#X text 49 34 resets counter to min if DSP is turned on;
#X obj 56 233 output~;
#X obj 253 252 declare -stdpath ./;
#X connect 0 0 10 0;
#X connect 1 0 10 0;
#X connect 2 0 10 1;
#X connect 3 0 4 0;
#X connect 4 0 10 0;
#X connect 6 0 2 0;
#X connect 8 0 6 0;
#X connect 10 0 11 0;
#X connect 11 0 13 0;
#X restore 491 245 pd index~;
#X text 107 397 min <float>;
#X text 113 413 set <f \, f>;
#X text 188 429 - up to 4 floats that resets the arguments;
#X text 187 381 - <1> enables and <0> disables autoreset;
#X text 187 467 - sets maximum value to loop at (0 eliminates the maximum);
#X text 81 81 [count~] outputs a signal increasing by 1 for each sample elapsed. It starts at a given minimum and it can loop at a given maximum value (which is actually that value - 1).;
#X obj 499 71 cyclone/dsponoff~;
#X obj 3 3 ./header count~;
#X text 26 58 Counter at the sample rate;
#X obj 135 221 cyclone/snapshot~ 1;
#X floatatom 135 247 10 0 0 0 - - - 0;
#X text 51 288 see also:;
#X obj 400 303 open-else;
#X text 124 284 Plugdata users or those with ELSE can also use [else/comb.rev~] as an alternative, f 43;
#X msg 400 280 ramp~;
#X text 439 279 <-- click;
#X connect 22 0 25 0;
#X connect 23 0 25 0;
#X connect 24 0 25 0;
#X connect 25 0 54 0;
#X connect 26 0 25 0;
#X connect 54 0 55 0;
#X connect 59 0 57 0;
