On Fri, 2012-02-24 at 12:14 -0800, Jonathan Wilkes wrote:
----- Original Message -----
From: Roman Haefeli reduzent@gmail.com To: m.e.grimm megrimm@gmail.com Cc: Jonathan Wilkes jancsika@yahoo.com; pd-list pd-list@iem.at Sent: Friday, February 24, 2012 2:57 PM Subject: Re: [PD] save search path 0.43 OSX
On Fri, 2012-02-24 at 11:37 -0500, m.e.grimm wrote:
I think the better way to fix those help-files is to use an [import]
or
[declare] object in the help patch.
one prob I have found ... in a lib such as "rtc" the objects are
not
compiled externals but abstractions that rely on "list-abs". how
to
deal with this? you can't really put [import list-abs] or [declare] in an abstraction ... well I guess you can buts that's not the way it should be done.
Interesting that you say that. I always thought it is the very goal of using [import]: make any patch or abstraction resolve its own dependencies.
In what way [import] shouldn't be used inside abstractions?
(I specifically mention only [import] now, since [declare] has its own implications, though if it would be free of bugs, I'd mentioned it as well.)
So we have [import] which isn't in vanilla, [declare] which you say has bugs, and using "libname/" prefixes which works for both vanilla and extended. What am I missing?
Many libraries come as multi-class externals, either because you compiled them yourself and this is the default setup designed by the developer or you get them as package (in Debian, for instance). For all those libraries, [libname/classname] will simply break. OTOH, [declare] already works now (in both, Pd-vanilla and Pd-extended) [1], or you could use [import] which you can easily install (for instance, in Debian there is already a package).
I think, it's much easier to find a way to load a certain library (either with start-up flags, [declare] or [import]) than to have to edit a patch and make it work by replacing all occurences of [libname/classname] by [classname].
Roman
[1] The one known bug in [declare] I was thinking about doesn't affect its functionality, it works fine, but when used within abstractions, it will add a bogus line in the parents patch file, when the parent is saved. People need to be aware of that when using [declare].