Thanks for looking. The multiple object library vs. single multi-function object question is a good one. Personally, it just seems more tidy to me this way, and I don't believe there's any downside to having all the functions packed into one extern. All the memory is allocated per function, so if you only use the sum function, (I think) it shouldn't be significantly different than a separate extern for summing.
There is definitely something more Pd-ish about the multiple objects though. I'm open to changing it... For now I'll start using it and see if I ever have a desire to make it the other way.
On Fri, May 14, 2010 at 8:50 AM, Hans-Christoph Steiner hans@at.or.at wrote:
Looks like a super useful library. My question to you is why did you decide to make it a single object with messages for the actions? IMHO, it should be a library of objects. The library would be called 'tabletool', then instead of messages, they functions would be objects. Having all the answers to the messages come out the signal outlet would make it hard to parse the data. They could be something like the math objects but for tables.
I am thinking something like:
[bang( | [tabletool/mean table-1] |
[bang( | [tabletool/min table-1] |
[10( | [tabletool/equals table-1] |
[0.5( | [tabletool/nearest table-1] |
.hc
On May 13, 2010, at 6:27 PM, William Brent wrote:
Hi list,
I've been meaning to make this extern for a long time, and today was the day. It's a table manipulation tool that covers the top items on my table wish-list for now. I'm sure there are plenty more things to add. There is a lot of redundant functionality with list-abs and some with zexy (like table dumping). Here's a link where you can download the extern & source, and a list of functions. It's hot off the press and not tested, so if anyone has time to check it, let me know of bugs and I'll correct them. I hope this ends up being useful for someone besides me...
http://williambrent.conflations.com/pages/research.html#tabletool
- dumping a table to a list
- reporting the length of a table
- offsetting (adding a constant to all values)
- scaling (multiplying all values by a scalar)
- curve smoothing
- shifting values forward or back by index
- shuffling values randomly
- sorting values low to high
- reversing
- inverting
- normalizing to a specified range
- normalizing so values sum to 1.0
- copying a source table to a target table
- copying a specified range of a source table to a target table
- lacing alternating values from two tables into one table
- table sum
- table mean
- table arithmetic mean
- table geometric mean
- table integration
- table differentiation
- counting occurrences of a value
- index (or multiple indices) of a particular value
-- William Brent www.williambrent.com
“Great minds flock together” Conflations: conversational idiom for the 21st century
www.conflations.com
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Programs should be written for people to read, and only incidentally for machines to execute. - from Structure and Interpretation of Computer Programs