<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">If the only non-vanilla object is [arraysize] you can substitute [expr] and make it <br>compatible with pd-vanilla<br><br>-Jonathan<br><br>--- On <b>Sun, 4/25/10, Joćo Pais <i>&lt;jmmmpais@googlemail.com&gt;</i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: Joćo Pais &lt;jmmmpais@googlemail.com&gt;<br>Subject: Re: [PD] table abstractions<br>To: "PD-List" &lt;pd-list@iem.at&gt;, "Matt Barber" &lt;brbrofsvl@gmail.com&gt;<br>Date: Sunday, April 25, 2010, 10:36 PM<br><br><div class="plainMail">I've made a [arra-yedit] abstraction. but not vanilla-only. it's not for&nbsp; <br>full use, but there are some things there that might be useful.<br><br>jmmmp/arra-yedit<br><br>&gt; Hello list,<br>&gt;<br>&gt; For a while there had been talk about starting a vanilla-only<br>&gt; table-abstraction
 collection in the spirit of list-abs and the iem_tab<br>&gt; objects.&nbsp; This could be useful both for manipulation of or<br>&gt; calculations using table data and for populating tables with desired<br>&gt; data (in the manner of the csound GEN routines).<br>&gt;<br>&gt; I'd love to start it, but I don't know if I have enough Pd cred yet to<br>&gt; be in charge of it.&nbsp; There are a few problems I'd like input on:<br>&gt;<br>&gt; 1) Naming -- would it be worth it to have different prefixes for<br>&gt; objects which manipulated data, e.g. [table-reverse], and objects<br>&gt; which populated tables, e.g. [tabwrite-blackman]?<br>&gt;<br>&gt; 2) Input-Output -- for the ones which manipulate data, should that<br>&gt; generally happen in place unless a destination table is provided --<br>&gt; [table-qsort foo] sorts table values in table named foo and writes<br>&gt; results back to foo, while [table-qsort foo bar] would sort foo's<br>&gt; values and
 write them into bar?<br>&gt;<br>&gt; 3) In general I'm assuming that the objects which populate tables<br>&gt; should simply write to a table, not internally provide the table to be<br>&gt; written to.&nbsp; For instance, I'm thinking a [tabwrite-hann foo] which<br>&gt; writes a hann window into foo would be more useful than a [table-hann<br>&gt; foo] which internally instantiated a table called foo AND wrote a hann<br>&gt; window to it, and responded to messages like "resize" with a larger or<br>&gt; smaller hann window (I think accessing the table from without might be<br>&gt; too buggy for this to be worth it).<br>&gt;<br>&gt; 4) Interpolation -- I'm also assuming that anything which would write<br>&gt; a table that would usually be read by [tabread4~] or [tabosc4~] should<br>&gt; write the guard points for proper interpolation by default.<br>&gt;<br>&gt;<br>&gt; I've attached an example [tabwrite-chebyshev], which writes a weighted<br>&gt; sum of
 chebyshev polynomials of the first kind to a table, probably<br>&gt; for use with waveshaping, as an example of what I'm thinking of, and<br>&gt; of a few options members of such a collection might have.<br>&gt; (Incidentally, it might be a good idea to abbreviate this particular<br>&gt; one to "cheb" or "cheby" due to the many transliterations, or even<br>&gt; something like "chebsum" to name it like the sinesum or cosinesum<br>&gt; array methods.)<br>&gt;<br>&gt;<br>&gt; My thought is that many of us have already been making and using<br>&gt; abstractions like these, and I think it would be worth it to collect<br>&gt; them in a vanilla library for general use.<br>&gt;<br>&gt; Matt<br><br><br>-- <br>Friedenstr. 58<br>10249 Berlin (Deutschland)<br>Tel +49 30 42020091 | Mob +49 162 6843570<br>Studio +49 30 69509190<br><a ymailto="mailto:jmmmpais@googlemail.com" href="/mc/compose?to=jmmmpais@googlemail.com">jmmmpais@googlemail.com</a> | skype:
 jmmmpjmmmp<br><br>_______________________________________________<br><a ymailto="mailto:Pd-list@iem.at" href="/mc/compose?to=Pd-list@iem.at">Pd-list@iem.at</a> mailing list<br>UNSUBSCRIBE and account-management -&gt; <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br></div></blockquote></td></tr></table><br>