On Nov 19, 2005, at 5:09 PM, Frank Barknecht wrote:
Hallo, Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:
On Nov 18, 2005, at 6:14 PM, Frank Barknecht wrote:
At first I thought: No way, you'd need at least [list2symbol] for that, which is impossible to build with just internal objects. Then I said to myself: Hm, maybe it's not impossible? Then I said down and
it wasn't even that hard to do a [list2symbol] clone using just
builtins: list-2s.pd is attached. Oops, there goes another external previously used in RRADical ... ;)That's great! I've started a project I call "PurePd". Whenever I get inspired, I write a Pd patch that is a clone of a useful external. I just added it to abstractions/purepd and the build system. It would
be great if you could contribute this patch as [list2symbol] and anything else that you can think of. I have a Max-style [counter], [speedlim], and even a [metro] in the works.I already added it to the [list]-abs renamed to "list-l2s", because maybe there will be a "list-s2l" later, too. Although I currently think: No way to do this without externals, but who knows ... ;)
I think, in this case it feel natural to put it in [list]-abs, as it is dealing with [list] and is technically very similar to the other list abstractions I did.
I'm not really convinced that the PurePd objects should carry the same name as the externals they replace. I see, that these makes them instant replacements, however some externals like the infamous [counter] and [scale] are already in name-clash with differing functionality, and to add another version then doesn't seem right. I'd tend to prefer a prefix-namespace for such stuff, like I did for list-abs and also in rrad.ical (which has a rrad.scale.pd for example).
I like the sound of something like [pure.scale], which is attached (though still missing the log. scaling...)
Sorry, I should have mentioned this: I got geiger namespaces working in
my upcoming release. Its a simple patch to Pd actually. I am in the
process of documenting a "library directory" format, which is just a
directory with all of the help files and objects in it. The objects
can be in either .pd format or .pd_darwin/.pd_linux/.dll. You can use
it two ways: [purepd/scale] or -lib scale, then [scale]. The next
thing to do would be to make an [include]/[import] whatever object, so
that you could specify which libs your patch is using. I think Günter
had one sketched out.
I hope to have Windows, Linux, and MacOS X Pd-extended releases by the
end of the weekend with basic libdir functionality included. Its
already working on my machine. I'll be checking in a patch to
packages/patches soon.
.hc
"[W]e have invented the technology to eliminate scarcity, but we are
deliberately throwing it away to benefit those who profit from
scarcity."
-John Gilmore