[PD] *.lua => *.pd_lua or *.l_lua?

marius schebella marius.schebella at gmail.com
Wed Feb 13 01:00:50 CET 2008


what about a special pdlua_path variable? (don't know how easy this 
would be to implement).
pdlua would then only search in the exlicitely given folders.
that would speed up loading process, too.
marius.


Frank Barknecht wrote:
> Hallo,
> Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:
> 
>> I think this kind of thing should be caused by a real world problem  
>> rather than a hypothetical.  mxj uses .java and it has been used a  
>> lot.  People could also write java classes that are not intended to  
>> be loaded by Max and stick them in the same folder.  So far, it  
>> doesn't seem to be a problem, AFAIK.
> 
> It's *not* a hypothetical problem at all. Please test it first before
> jumping to wrong conclusions, see below for how. Claude and I are
> already running Lua a lot and at least I have run into the problem of
> nameclashes.
> 
> First: mxj for Pd (pdj) is not a loader, so it doesn't have the
> problem, as you specify the filename in the object name. If you don't
> specify a certain filename because it's a module, pdj won't load it.
> Similar things are possible with luax, also [pyext ...] works that
> way. We aren't talking about this kind of external here.
> 
> However for the pdlua loader, lua scripts shadow e.g. abstractions.
> Here's how to test it: Make a lua file with this content only: 
>  
>  print("Hey, I shouldn't load at all")
> 
> This is not a valid Pd class written in Lua. Then make it nameclash
> with any abstraction in your path by naming it e.g. "list-drip.lua"
> and putting it before the abstraction into your path. Then try to
> create a [list-drip]. pdlua will run the lua file instead of
> list-drip.pd and print "Hey, I shouldn't load at all".  The wrong
> [list-drip] will remain dashed.
> 
> All of this is *trivial* to fix with a special file ending, whereas
> every other solution suggested so far is either completely impractical
> ("move modules outside of Pd's search path"), doesn't fix anything
> ("keep the status quo") or is overcomplicated and a possible
> performance drain ("add code which tries to load every *.lua file but
> goes on, if the file doesn't register a class properly").
> 
> Ciao





More information about the Pd-list mailing list