I have a hard time myself with the library thing...I usually use only one or two objects from a library. Would it not be preferable to have the individual objects from a library inside their own folder nested inside the externs folder? I would also feel a lot better if there was a mechanism to register every object with a unique name, so that a developer who wanted to publish their object would register it in the database the same way you choose an email address: if the name is already in use, try again with another name. The names database could reside within the cvs repository. So you would have counter, counter1, counter2, ...
.02CAD Martin
Tim Blechmann wrote:
hi all ...
i'm currently thinking of a way to solve the nameclash problem (counter, scale, prepend, gate...)
here are some suggestions for a solution ... with some pros and cons:
namespaces: add the library name like library/object or library::object pros: - selectable at runtime
- the patch will work exactly as you expect, since you see that object is from library
cons: - "/" is already used for the search path (shouldn't be a big problem), "::" are two chars - only works if an object is compiled as library ... if a library is split to single externals (like the build system does) pd is not aware of the library name
startup flav: having another flag like -force library/object or -force library::object pros: - easy to use cons: - you can't use both library1::object and library2::object
- behaviour of the patch depends on startup flags (less portable)
communication: figure out, if the external name is already in use pros: - no implementation effords cons: - not really working (that's why we've got these problems *g*)
standard behaviour: if object1 is doing the same as object2, except that it is missing one feature, add this feature to object1, if they behave exactly the same, the nameclash isn't a problem any more ... (escept for the waste of memory) pros: - as above cons: - as above
personally i'd prefer the communication in combination with a startup flag ... but i'm curious about other ideas or comments ...
cheers ... tim