On Jan 12, 2008 1:18 PM, Frank Barknecht fbar@footils.org wrote:
Many abstraction collections are sloppy when handling this. (Even abstractions by pd-extended advocates can forget to always fully specify the full names of abstractions with import or a prefix. I don't want to point fingers, but to illustrate what I mean: In the "mapping" library max_n.pd uses [maximum] from Cyclone undeclared, disjoin.pd uses [float_argument] from purepd undeclared etc.)
The abstraction collections are sloppy because they can be, I think. Since Pd-E, by default, loads nearly everything into the global namespace, one can easily be lazy when developing abstractions.
I know Pd-E does this to be as easy as possible to set up for new users, but at the same time perhaps it is best that a new user sticks with the vanilla objects anyways, and if they're really interested in more objects, they can learn how to use the directory prefixes or [declare]. Python is the only language I have experience with that has a wonderful namespace system, and I think it works greatly to its advantage.
So, on that note, I think it would be best to choose some truly essential objects as the beginning of a base (global by default) library, which should be periodically updated as new objects outgrow their libraries in popularity. A nice counter would be a good start : ).
Just as a note, it would be pretty easy to do a find/replace on the entire pd-extended tree for those objects with unique names.
Finally, every time we talk about things that I would like to be helping to fix, I itch for Subversion. I've said it before, but I have continually put off getting any comfort with CVS because I always think the move to SVN is a couple weeks away : ). Not to mention, Pd is the only project I know of that still uses CVS, so learning it would be very expensive to my brainspace.
And finally finally, has the [declare]/libdir/etc. practice been truly sorted out? A nice wiki entry describing correct usage would be a huge help, if so.
Cheers Luke
(oh, one more thing... it would be cool to have an auto-generated "meta" file that /is/ added to the global namespace, so i could type [mapping], and opening it shows a list of all patches in the [mapping] dir. And if, in the object help files, a special comment was added with a description, that could also be lifted out and put in the metafile next to the object. This would be analogous to Python's docstring/help(fxn) system.)