#N canvas 859 23 532 664 10;
#X obj 19 26 inlet~;
#X obj 4 638 outlet~;
#X obj 19 163 *~;
#X obj 34 116 samplerate~;
#X text 79 140 convert millisecond delay to sample delay;
#N canvas 0 22 450 300 @hv_obj 0;
#X obj 146 77 inlet;
#X obj 147 120 outlet;
#X restore 95 93 pd @hv_obj system;
#X obj 4 302 -~;
#X obj 4 409 +~;
#X text 33 301 table index;
#X obj 19 565 -~;
#X obj 47 565 -~;
#X obj 19 589 *~;
#X obj 4 613 +~;
#X text 73 566 linear interpolation;
#N canvas 587 66 450 300 @hv_obj 0;
#X obj 146 106 inlet~;
#X obj 154 156 outlet~;
#X obj 239 103 inlet~;
#X restore 35 385 pd @hv_obj __and~f;
#X obj 4 279 +~;
#X obj 68 26 t a a;
#N canvas 587 66 450 300 @hv_obj 0;
#X obj 221 104 inlet~;
#X obj 154 156 outlet~;
#X obj 146 106 inlet~;
#X restore 150 363 pd @hv_obj __lt~f;
#N canvas 0 23 450 300 @hv_obj 0;
#X obj 165 46 inlet~;
#X obj 169 185 outlet~;
#X restore 4 438 pd @hv_obj __cast~fi;
#N canvas 0 23 450 300 @hv_obj 0;
#X obj 232 43 inlet~;
#X obj 169 185 outlet~;
#X obj 165 46 inlet~;
#X restore 195 478 pd @hv_obj __add~i;
#N canvas 0 22 450 300 @hv_obj 0;
#X obj 173 75 inlet;
#X obj 175 149 outlet~;
#X restore 300 456 pd @hv_obj __var_k~i 1;
#N canvas 0 22 450 300 @hv_obj 0;
#X obj 173 75 inlet;
#X obj 175 149 outlet~;
#X restore 249 341 pd @hv_obj __var_k~f 0;
#X obj 95 49 symbol del-\$1;
#X obj 34 139 / 1000;
#N canvas 587 66 450 300 @hv_obj 0;
#X obj 154 156 outlet~;
#X obj 146 106 inlet;
#X restore 4 234 pd @hv_obj __tabhead~f del-\$1;
#N canvas 0 23 450 300 @hv_obj 0;
#X obj 165 46 inlet~;
#X obj 169 185 outlet~;
#X obj 280 42 inlet;
#X restore 195 501 pd @hv_obj __tabread~if del-\$1;
#N canvas 0 23 450 300 @hv_obj 0;
#X obj 165 46 inlet~;
#X obj 169 185 outlet~;
#X obj 249 48 inlet;
#X restore 4 501 pd @hv_obj __tabread~if del-\$1;
#X text 182 49 @hv_arg \$1 table string "" true;
#N canvas 0 22 450 300 @hv_obj 0;
#X obj 148 99 inlet;
#X obj 143 158 outlet~;
#X restore 27 257 pd @hv_obj __var_k~f -1 -1 true;
#X obj 68 4 loadbang -1;
#X msg 95 71 table \$1 size;
#X text 150 430 NOTE(mhroth): SSE cast op seems to round to the nearest
int \, not down;
#X obj 19 210 max~ 0;
#X obj 19 188 min~;
#X text 70 202 [0 \, size-1];
#X text 71 187 ensure that the input never exceeds the table bounds
;
#X obj 45 163 - 1;
#N canvas 0 22 450 300 @hv_obj 0;
#X obj 160 52 inlet~;
#X obj 173 97 outlet~;
#X restore 4 331 pd @hv_obj __floor~f;
#X text 30 412 wrapped table index;
#N canvas 0 22 450 300 @hv_obj 0;
#X obj 148 99 inlet;
#X obj 143 158 outlet~;
#X restore 35 362 pd @hv_obj var;
#X connect 0 0 2 0;
#X connect 2 0 33 0;
#X connect 3 0 23 0;
#X connect 5 0 36 0;
#X connect 5 0 39 0;
#X connect 6 0 37 0;
#X connect 6 0 10 0;
#X connect 7 0 18 0;
#X connect 9 0 11 0;
#X connect 10 0 11 1;
#X connect 11 0 12 1;
#X connect 12 0 1 0;
#X connect 14 0 7 1;
#X connect 15 0 6 0;
#X connect 16 0 3 0;
#X connect 16 1 22 0;
#X connect 17 0 14 1;
#X connect 18 0 26 0;
#X connect 18 0 19 0;
#X connect 19 0 25 0;
#X connect 20 0 19 1;
#X connect 21 0 17 1;
#X connect 22 0 30 0;
#X connect 23 0 2 1;
#X connect 24 0 15 0;
#X connect 25 0 9 0;
#X connect 26 0 9 1;
#X connect 26 0 12 0;
#X connect 28 0 15 1;
#X connect 29 0 16 0;
#X connect 30 0 5 0;
#X connect 32 0 6 1;
#X connect 33 0 32 0;
#X connect 36 0 33 1;
#X connect 37 0 17 0;
#X connect 37 0 10 1;
#X connect 37 0 7 0;
#X connect 39 0 14 0;
