[PD-dev] proposed fix for objects named with +,-,*,^, etc.

IOhannes m zmoelnig zmoelnig at iem.at
Wed Nov 16 19:02:32 CET 2005

Hans-Christoph Steiner wrote:
>> actually my problem was rather with zexy, since i have currently no  
>> plans to split iemmatrix into individual files (the plans are rather  
>> in the opposite direction: bundle functionality into "helper-files")  
>> (sorry about that...)
> Too late, I already did.  ;)  Check externals/build/src.  What do you  
> mean by helper files?

yes i noticed that and i am fine with it.
however, please do not expect from me, that i will take care of not 
breaking this possibility.

i just noticed that a lot of shared functionality is spread over various 
files that are used by others, and obviously your approach with 
including c-files rather than doing proper linking works.
most likely it will not get worse...

>> this seems to be ok.
>> so which characters should be escaped then? everything but  
>> [a-zA-Z0-9_] ? (i would suggest an implicit definition rather than an  
>> explicit one, since you never know...)
> I totally agree, keep it flexible and open.  [a-zA-Z0-9_] sounds good  
> to me.
> It would be nice to have filenames and setup functions treated  
> separately, so that filenames would remain human-readable.   Filenames  
> would only need to substitute:
> ["/\*?<>|:]

for simplicities sake, i would suggest to not treat them totally 
different, but rather do it at 2 levels:
example: creating an object [mtx_+]
pd searches all it's paths for mtx_+.pd_linux (and mtx_+.pd, but we'll 
skip that part).
if it finds a mtx_+.pd_linux then it will try to call the 
"mtx_+_setup()" function within this external. if that fails, it will 
try to call "setup_mtx_0x2b()"
if it doesn't find a mtx_+.pd_linux it will search for a 
"mtx_0x2b.pd_linux"; if it finds that one, it will try to call 
"mtx_+_setup()" and afterwards "setup_mtx_0x2b()".

this should keep filenames as human-readable as possible while being 
most flexible.

as for abstractions, it would probably make most sense to
1. search for "mtx_+.pd_linux"
2. search for "mtx_0x2b.pd_linux"
3. search for "mtx_+.pd"
4. search for "mtx_0x2b.pd"


More information about the Pd-dev mailing list