aboutsummaryrefslogtreecommitdiff
path: root/doc/pddp/tabread4-help.pd
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2005-04-28 00:25:05 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2005-04-28 00:25:05 +0000
commit061e4be1f20ac78e3b52bc6429322d5fadcf5831 (patch)
treec6449d7cf4a19547b97d234ef4c65251ee766c1d /doc/pddp/tabread4-help.pd
parente30864640368dc4c25c309fb83365807955e832e (diff)
cleaned up a number of patches; renamed all to the standard -help.pd format; added some more ideas to the style guide; finished up lists_vs_anythings
svn path=/trunk/; revision=2841
Diffstat (limited to 'doc/pddp/tabread4-help.pd')
-rw-r--r--doc/pddp/tabread4-help.pd148
1 files changed, 148 insertions, 0 deletions
diff --git a/doc/pddp/tabread4-help.pd b/doc/pddp/tabread4-help.pd
new file mode 100644
index 00000000..e6a3cd51
--- /dev/null
+++ b/doc/pddp/tabread4-help.pd
@@ -0,0 +1,148 @@
+#N canvas 2 1 658 618 12;
+#X obj 114 560 pddp;
+#X obj 8 3 cnv 15 90 578 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 14 213 ARGUMENTS:;
+#X text 19 323 EXAMPLES:;
+#X text 22 471 SEE ALSO:;
+#N canvas 58 0 407 256 Related_Objects 0;
+#X text 25 11 Native Pd Objects;
+#X text 16 166 Externals and other object libraries;
+#X obj 16 41 tabread~;
+#X obj 165 41 tabwrite;
+#X obj 240 41 tabwrite~;
+#X obj 16 67 tabsend~;
+#X obj 92 67 tabreceive~;
+#X obj 192 67 tabplay~;
+#X obj 269 67 table;
+#X text 15 124 [array];
+#X obj 16 94 soundfiler;
+#X text 78 124 and fft objects.;
+#X text 21 187 [tabdump];
+#X obj 112 94 tabread4~;
+#X text 20 207 [tabenv];
+#X obj 203 94 getsize;
+#X obj 274 94 setsize;
+#X text 238 207 [arraysize];
+#X text 238 186 [score];
+#X text 114 186 [linear_path];
+#X text 114 207 [plot];
+#X obj 90 41 tabread;
+#X restore 114 508 pd Related_Objects;
+#N canvas 80 0 659 614 More_Info 0;
+#X text 46 564 Also See:;
+#X obj 125 564 pddp_open all_about_arrays;
+#X text 21 8 WHAT IS INTERPOLATION?;
+#X text 38 34 "Interpolation" is a word which described a sophisticated
+way to "connect-the-dots". (This is over simplified \, but effective
+for the time being.);
+#X text 17 85 Let's say for example that we have an array whose values
+are: 0 \, 6 \, 5;
+#X text 36 120 There are 3 elements in this array \, right? Well \,
+using [tabread] we could successfully read only 3 numbers. But interpolation
+allows us to fill in the gaps between those values in a meaningful
+way. For example \, we can assume that between 0 and 6 \, we might
+find 4.5! We can also assume that the slope from 0 to 6 will be sharper
+than the slope from 6 to 5 In this way \, using [tabread4] will allow
+us to create much smoother lines and curves between our "dots".;
+#X text 35 254 However \, this process is much more complicated than
+mere "smoothing". 4-point interpolation incorporates a sophisticated
+formula to intelligently create meaningful increments between values
+in an array. For example: we could draw a few points on a baseball
+diamond between the pitcher's mound and home plate. Those points could
+represent the path a ball travels after a pitch. Using 4-point interpolation
+\, we might be able to assume the positions of the ball between our
+"known" points and determine whether the pitch was a fastball or a
+curve ball.;
+#X text 35 419 There are different formulas used to interpolate arrays.
+Each method has a sort of niche where it is most comfortable and most
+effective. Pd \, like most contemporary audio software \, uses 4-point
+interpolation which is also known as "Hermite" interpolation. It is
+the most "intelligent" 2-dimensional method of interpolation.;
+#N canvas 167 0 570 613 What_does_it_really_do? 0;
+#X text 20 10 Let's see [tabread4] at work...;
+#N canvas 0 0 450 300 graph36 0;
+#X array original_array 10 float 1;
+#A 0 -0.324999 -0.274999 -0.0749997 0.174999 -0.624998 0.649998 0.599998
+0.524998 -0.749997 -0.774996;
+#X coords 0 1 9 -1 200 140 1;
+#X restore 292 9 graph;
+#X text 37 158 The array above has only 10 elements. You can draw new
+shapes with your mouse.;
+#X obj 14 202 bng 15 250 50 0 empty empty Bang_me 18 7 0 8 -24198 -1
+-1;
+#X obj 88 246 until;
+#N canvas 0 0 450 300 graph37 0;
+#X array interpolation 1000 float 0;
+#X coords 0 1 999 -1 200 140 1;
+#X restore 304 445 graph;
+#X obj 84 341 tabread4 original_array;
+#X obj 88 270 f;
+#X obj 118 270 + 1;
+#X obj 84 368 tabwrite interpolation;
+#X obj 87 295 t f f;
+#X obj 14 222 t b b;
+#X msg 48 250 0;
+#X obj 86 318 / 100;
+#X msg 88 222 1000;
+#X text 36 395 The array below has 1000 elements. At this resolution
+\, you will see the overall effect of 4-point interpolation.;
+#X connect 3 0 11 0;
+#X connect 4 0 7 0;
+#X connect 6 0 9 0;
+#X connect 7 0 8 0;
+#X connect 7 0 10 0;
+#X connect 8 0 7 1;
+#X connect 10 0 13 0;
+#X connect 10 1 9 1;
+#X connect 11 0 14 0;
+#X connect 11 1 12 0;
+#X connect 12 0 7 1;
+#X connect 13 0 6 0;
+#X connect 14 0 4 0;
+#X restore 36 526 pd What_does_it_really_do?;
+#X restore 114 534 pd More_Info;
+#X floatatom 161 443 0 0 0 3 - - -;
+#X floatatom 116 364 0 0 1000 1 location - -;
+#X msg 286 389 set another_table;
+#X text 106 162 Set - the "set <arrayname>" message allows you to read
+from dynamic sources. You can change the source at any time using the
+"set" message.;
+#X text 29 266 OUTLETS:;
+#X obj 486 442 table another_table;
+#X text 106 323 Open the tables and use your mouse to draw new values
+in the arrays - otherwise [tabread] will always output "0".;
+#X text 39 34 INLETS:;
+#X text 112 470 doc/2.control.examples/15.arrays.pd;
+#X text 113 489 doc/2.control.examples/16.more.arrays.pd;
+#X obj 21 10 tabread4;
+#X text 111 10 - READ NUMBERS FROM A TABLE WITH 4-POINT INTERPOLATION
+;
+#X text 105 213 One - the argument informs [tabread4] which array to
+read. The array must exist in an open Pd patch/canvas or an error message
+will appear in the terminal window.;
+#X text 104 265 One - outputs a floating point number representing
+an interpolation of the array value corresponding to the location described
+at the inlet.;
+#X text 107 34 Float - A float at the left inlet will move to the corresponding
+location in the table's array. The lowest valid number is "0" which
+represents the first element of the array. The highest valid number
+is a fraction below the actual length of the array. Each fractional
+increment between the lower and upper bounds of the array will produce
+an interpolation of the actual array values at the outlet.;
+#X msg 248 364 set davids_array;
+#N canvas 0 0 450 300 graph27 0;
+#X array davids_array 10 float 1;
+#A 0 0 0.749989 0 -0.849987 0 -0.349995 0.949986 0 -0.699989 -0.399994
+;
+#X coords 0 1 9 -1 100 40 1;
+#X restore 526 380 graph;
+#X text 249 444 interpolation;
+#X obj 121 390 / 100;
+#X obj 161 416 tabread4 davids_array;
+#X text 158 561 - Dave Sabine \, May 2 \, 2003;
+#X connect 8 0 25 0;
+#X connect 9 0 26 0;
+#X connect 22 0 26 0;
+#X connect 25 0 26 0;
+#X connect 26 0 7 0;