Zitiere "B. Bogart" ben@ekran.org:
Hey all,
Could this method be applied to externals as well?
markex/counter or mex/counter cxc/counter cyclone/counter or cyc/counter
Of course you break all the old patches if you have to use new names, but it provides a facility where you use the object you want rather than
this reminds me of my (long ago) proposal to use "." (a dot) as a separator between library name and external. my implementation (which i posted to the list) was done in pd (and not in the libraries): upon loading the library name was automatically prefixed to the actual object-name, eg "Gem.scale".
of course the "."-separator was just an arbitrary decision and could easily be changed to anything (i was thinking of "::" but "/" might do as well)
everything was transparent to the user, as the original name was kept too. so after loading (e.g.) Gem, there was an object with 2 names (primary) "Gem.scale" and (alias) "scale". after loading cyclone there was an additional "cyclone.scale".
this has been rejected.
markex version you type markex/counter.
the problem arises with multi-named libaries: if i can load Gem both with "-lib Gem" and "-lib gem" (eg. under windos) the scale object will either be called [Gem.scale] or [gem.scale]. this makes patches non-portable.
however, last time we discussed this, there was an idea to introduce library-aliases - either at the command line or at run-time. probably something like "pd -lib cyclone=cyc:zexy:iemlib1=iem:iemlib2=iem"
So there are issues with this method but I think it has potential. Obviously it could use development but I think the concept has some validity. In a way this is creating a seperate namspace for each set of
abstractions/externals. They could also be multiple levels deep:
cvs/markex/counter cvs/cyclone/counter markex/counter cyclone/counter
could be solved by aliases too: "pd -lib /usr/lib/pd/extra/marke=markex:~/cvs/markex/markex=cvs/markex"
as i remember now, the problem with my automatic namespacing was, that calling "pd -lib zexy" and "pd -lib ./zexy" resulted in 2 separate namespaces, e.g [zexy/z~] and [./zexy/z~] which produced non-portable patches. but this could be avoided with aliasing.
Just throught I would throw it out there as fast as it popped into my brain.
Any comments?
mfg.as.dr IOhannes