#N canvas 429 34 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header tabread4~ 3 12 0
18 -204280 -1 0;
#X obj 0 305 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 487 283 494 344 META 0;
#X text 12 125 LIBRARY internal;
#X text 12 165 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 25 LICENSE SIBSD;
#X text 12 145 AUTHOR Miller Puckette;
#X text 12 205 HELP_PATCH_AUTHORS Updated for Pd version 0.29. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 5 KEYWORDS signal array;
#X text 12 45 DESCRIPTION 4-point-interpolating table lookup;
#X text 12 65 INLET_0 signal set;
#X text 12 85 INLET_1 float;
#X text 12 105 OUTLET_0 signal;
#X text 12 185 RELEASE_DATE 1997;
#X restore 500 597 pd META;
#X obj 0 417 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 449 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 510 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#N canvas 218 331 428 294 Related_objects 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 21 38 Native Pd Objects;
#X obj 24 61 tabread~;
#X obj 98 61 tabread4;
#X obj 173 61 tabwrite;
#X obj 248 61 tabwrite~;
#X obj 24 89 tabsend~;
#X obj 100 89 tabreceive~;
#X obj 200 89 tabplay~;
#X obj 277 89 table;
#X text 21 140 [array];
#X obj 24 116 soundfiler;
#X text 84 140 and fft objects.;
#X obj 120 116 tabread4~;
#X obj 211 116 getsize;
#X obj 282 116 setsize;
#X text 8 2 [tabread4~] Related Objects;
#X text 21 170 Externals and other object libraries;
#X obj 21 190 pddp/helplink zexy/tabdump;
#X obj 21 210 pddp/helplink linear_path;
#X text 102 210 <-- which library is this in?;
#X text 102 230 <-- which library is this in?;
#X obj 21 230 pddp/helplink score;
#X text 102 250 <-- which library is this in?;
#X obj 21 250 pddp/helplink tabenv;
#X obj 21 270 pddp/helplink arraysize;
#X restore 102 597 pd Related_objects;
#X obj 78 314 cnv 17 3 75 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 78 426 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 479 12 tabread4~;
#X text 11 23 4-point-interpolating table lookup;
#X text 68 174 signal input x(n);
#X obj 21 261 snapshot~;
#X obj 40 239 metro 200;
#X obj 21 115 sig~;
#X floatatom 21 89 0 0 0 0 - - -;
#X floatatom 21 284 0 0 0 0 - - -;
#X text 98 313 signal;
#X text 168 313 - the incoming signal is the index. Indices should
range from 1 to the size of the array minus two \, so that the 4-point
interpolation is meaningful.;
#X text 53 83 Shift-drag the number box to see the effect of interpolation.
;
#X text 98 353 set;
#N canvas 0 0 450 300 (subpatch) 0;
#X array \$0-array 10 float 0;
#X coords 0 1 9 -1 160 100 1;
#X restore 289 141 graph;
#X text 98 425 signal;
#X obj 40 217 loadbang;
#X obj 100 515 pddp/pddplink all_about_arrays.pd -text all_about_arrays
;
#X text 168 467 - the name of the array or table from which [tabread4~]
will read data. The array or table must exist in an open Pd patch/canvas
or an error message will appear in the console.;
#N canvas 117 345 428 159 init 0;
#X msg 23 103 0 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X obj 23 81 loadbang;
#X text 8 2 [tabread4~] [table] initialization;
#X text 20 38 This subpatch just initializes a [table] to some values.
(Values in a [table] are not saved in the patch.);
#X obj 23 125 s \$0-array;
#X connect 0 0 5 0;
#X connect 2 0 0 0;
#X restore 288 270 pd init;
#X text 168 353 - the "set" message \, followed by the name of an array
\, permits you to switch between arrays (e.g. \, "set another_array").
;
#X text 80 467 1) symbol;
#X text 18 44 [tabread4~] is used to build samplers and other table
lookup algorithms. The interpolation scheme is 4-point polynomial.
;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 475 53 pddp/dsp;
#X obj 100 530 pddp/pddplink ../3.audio.examples/B03.tabread4.pd -text
doc/3.audio.examples/B03.tabread4.pd;
#X obj 100 545 pddp/pddplink ../3.audio.examples/B04.tabread4.interpolation.pd
-text doc/3.audio.examples/B04.tabread4.interpolation.pd;
#X obj 78 396 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 395 float;
#X obj 247 395 pddp/pddplink ../3.audio.examples/B15.tabread4~-onset.pd
-text doc/3.audio.examples/B15.tabread4~-onset.pd;
#X text 168 395 - onset. See:;
#X obj 100 560 pddp/pddplink ../3.audio.examples/B06.table.switching.pd
-text doc/3.audio.examples/B06.table.switching.pd;
#X obj 100 575 pddp/pddplink ../3.audio.examples/B07.sampler.pd -text
doc/3.audio.examples/B07.sampler.pd;
#X obj 21 194 tabread4~ \$0-array;
#X obj 289 247 table \$0-array2;
#X obj 66 113 bng 15 250 50 0 empty empty empty 17 7 0 10 -4034 -1
-1;
#X obj 66 133 f \$0;
#X msg 66 155 set \$1-array2;
#X obj 170 280 s \$0-array2;
#X msg 170 253 sinesum 256 1;
#X connect 13 0 17 0;
#X connect 14 0 13 0;
#X connect 15 0 41 0;
#X connect 16 0 15 0;
#X connect 24 0 14 0;
#X connect 41 0 13 0;
#X connect 43 0 44 0;
#X connect 44 0 45 0;
#X connect 45 0 41 0;
#X connect 47 0 46 0;
