#N canvas 673 103 490 470 10;
#X obj 63 108 inlet~;
#X obj 248 105 inlet;
#X obj 128 423 outlet~;
#X obj 302 106 loadbang;
#X msg 81 304 set \$1;
#X obj 64 334 tabread4~;
#X obj 219 337 upp.tabread2~;
#X obj 247 250 array size;
#N canvas 162 271 260 227 first_or_last 0;
#X obj 37 44 inlet~;
#X obj 37 148 outlet~;
#X obj 190 46 inlet;
#X text 189 20 size;
#X text 26 172 first or last;
#X obj 190 87 - 2;
#X obj 37 118 expr~ $v1 < 1 || $v1 > $f2;
#X connect 0 0 6 0;
#X connect 2 0 5 0;
#X connect 5 0 6 1;
#X connect 6 0 1 0;
#X restore 154 284 pd first_or_last;
#X obj 248 162 route symbol;
#X text 62 25 Workaround for tabread4~;
#X text 62 42 Delivers linearly interpolated first and last samples
;
#N canvas 637 164 293 240 symbol_arg_\$1_not_0 0;
#X obj 35 73 symbol \$1;
#X obj 62 122 upp.cmpatom;
#X obj 106 73 symbol 0;
#X obj 35 47 t b b;
#X obj 34 96 t a a;
#X obj 34 175 spigot;
#X obj 62 144 == 0;
#X obj 35 21 inlet;
#X obj 35 204 outlet;
#X connect 0 0 4 0;
#X connect 1 0 6 0;
#X connect 2 0 1 1;
#X connect 3 0 0 0;
#X connect 3 1 2 0;
#X connect 4 0 5 0;
#X connect 4 1 1 0;
#X connect 5 0 8 0;
#X connect 6 0 5 1;
#X connect 7 0 3 0;
#X restore 302 128 pd symbol_arg_\$1_not_0;
#X obj 247 186 t b a;
#X text 217 359 only for first and last sample;
#X text 63 89 position signal;
#X text 251 87 table name;
#X text 62 61 Thomas Grill \, 2016 - grrrr.org;
#X obj 128 399 upp.xfade~;
#X connect 0 0 5 0;
#X connect 0 0 8 0;
#X connect 0 0 6 0;
#X connect 1 0 9 0;
#X connect 3 0 12 0;
#X connect 4 0 5 0;
#X connect 5 0 18 0;
#X connect 6 0 18 1;
#X connect 7 0 8 1;
#X connect 8 0 18 2;
#X connect 9 0 13 0;
#X connect 12 0 9 0;
#X connect 13 0 7 0;
#X connect 13 1 7 1;
#X connect 13 1 6 1;
#X connect 13 1 4 0;
#X connect 18 0 2 0;
