questions
2018-01-02 8:02 GMT-03:00 Christof Ressi christof.ressi@gmx.at:
Hi, I think in your case you shouldn't need [declare] at all. [declare -stdlib somelib] makes the assumption that 'somelib' is installed in one of Pd's standard paths. This was maybe true for Pd extended where all libraries were in the /extra folder but actually it could be any other folder (which the user added to their search paths).
IMHO, best practice is to explicitly list your dependencies and have the user set them up correctly.
regarding namespaces:
In an abstraction library I would always use them if I can (unfortunately it's not possible with externals which are part of a single binary library). It eliminates the possibility that a wrong abstraction/external is called. My favourite example: Say that for some weird reason you're using [gate] from cyclone. If a users happens to have iemlib earlier in their search path, all your abstractions will have iemlib's [gate] object instead - which works exactly the other way around! This actually happened to a friend of mine :-D.
won't [declare cyclone] force a priority of it over iemlib? If not, shouldn't it?
now, for related discussions on declare/standard paths, see https://github.com/pure-data/pure-data/pull/205 & https://github.com/pure-data/pure-data/pull/183
cheers, happy 2018