[PD] paths and patches [was: Re: polyWaveSynth issue]

Frank Barknecht fbar at footils.org
Sun Sep 9 23:39:50 CEST 2007


Hallo,
Phil Stone hat gesagt: // Phil Stone wrote:

> Kyle Klipowicz wrote:
> > Does Pd search the patch's folder first for all non-native
> > objects before parsing the path? 
> 
> I was wondering that same thing.  If not, this method wouldn't work very 
> consistently.

Pd does search the current directory of a patch before other
directories, but that won't help polypoly.pd to find an abstraction in
that directory, because polypoly.pd is in a different directory and
there is no polywavesynth.pd there! To make polypoly.pd find
polywavesynth.pd, the directory of polywavesynth.pd must be in the
path!

Anybody still following? ;) I admit, that this is a very confusing
issue, so lets use graphics and an example: 

    .
    |-- main
    |   |-- an_abstraction.pd
    |   `-- test.pd  - uses [../main/using_an_abstraction]
    `-- myabs
        `-- using_an_abstraction.pd - uses: [an_abstraction]

Assume, test.pd uses this object [../main/using_an_abstraction]. This
itself is no problem as we use the object by a relative, fully
qualified pathname. test.pd could also use [an_abstraction] of course.

However using_an_abstraction.pd also tries to use [an_abstraction]
itself, but here this isn't found, as there is no "an_abstraction.pd"
in "myabs" and Pd won't find the other one in "main" from here. This
not only happens when using [using_an_abstraction] standalone, but
also when it's used as an abstraction itself.

The exact same thing happens with polypoly.pd or singleton.pd when the
objects, polypoly or singleton create, aren't in the search path for
*polypoly* rsp. *singleton* itself, but somewhere else:

    .
    |-- main
    |   |-- CamelSynth.pd
    |   `-- MySynthWithCamelWords.pd - uses [polypoly CamelSynth 24]
    `-- path_to_polypoly
        `-- polypoly.pd - is made to use [CamelSynth] above.


Here [polypoly CamelSynth 24] tries to create a lot of [CamelSynth]
objects, but those aren't found because there is no CamelSynth.pd in
path_to_polypoly/. Duh. So "main" needs to be added to polypoly's
search path which means adding it "main" to Pd's search patch or using
[declare -path .] in MySynthWithCamelWords.pd

> > Also, this will all become resolved once Pd-extended moves forward
> > to including more recent abstractions in its releases (i.e.
> > Pd-extended-0.40 or however it will be branded).
> >   
> 
> Yes.  (Hans? Frank?) please add sssad and polypoly to Pd-extended!

Isn't sssad already in pd-extended? Anyway, including them won't solve
the problem above, as it's not related to polypoly rsp. singleton
being reachable in your custom objects, but your custom objects being
reachable for singleton or polypoly.

I'd recommend to make copies of singleton.pd and polypoly.pd into
a subdirectory of polywavesynth and use them with local directory
prefixes like [./_other/polypoly ...]

I do the same with singleton.pd in the subdirectory "_sssad" of sssad.

Ciao
-- 
 Frank Barknecht                 _ ______footils.org_ __goto10.org__




More information about the Pd-list mailing list