[PD-dev] 0.43 omission: 'set-startup' and 'set-path'

Claude Heiland-Allen claudiusmaximus at goto10.org
Thu Jul 22 21:07:50 CEST 2010


On 22/07/10 05:09, Miller Puckette wrote:
> Oh yes, and -lib itself needs somehow to be made to work locally to the
> patch, but this is a huge issue I don't know how to deal with.

At first glance it should be possible to have canvas-local objectmakers 
and have the "put on load list" put the absolute pathname of the dll 
instead of just the name, but maybe there are some libraries that simply 
cannot be dlopen()d more than once by the same executable due to 
clashing exported symbols or so?  I don't know enough about dlopen() to say!

I'm sorta working on this, but there are a whole nest of things all 
interconnected with each other:

1. paths and search order, currently it's roughly this afaict:
    a. search relative to patch
    b. search this patch's declared paths
    c. search relative to parents (a and b)
    d. search global paths

2. loader plugins
    currently plugins have to do their own searching
    which means it's not consistent with "local first" priorities
    (ie, foo.pd next to the patch is overriden by some random library)

3. libraries and import scopes/namespaces
    a. libraries can register multiple objects, which might nameclash
    b. import/declare should have a way to bring only certain names
       from a library into "unqualified" scope
       eg: [import Gem maxlib maxlib/scale]
       then [scale] would be from maxlib
       and [Gem/scale] and [maxlib/scale] would work too
    c. http://lists.puredata.info/pipermail/pd-dev/2010-07/015606.html
       section "Clearer Error Messages" explains more

4. abstractions
    kinda second class citizens because they can't register classes
    how about if an abstraction is found, it is registered magically?
    enabling caching, but what if the file is modified outside of pd?

5. efficiency
    checking 100 or more files for a failed object is excessive
    especially if this is repeated many times


Claude
-- 
http://claudiusmaximus.goto10.org



More information about the Pd-dev mailing list