[PD-dev] "declare" strangeness in abstractions (0.41 test10)

Miller Puckette mpuckett at imusic1.ucsd.edu
Sat Jan 5 19:32:14 CET 2008


Hi Frank,

Well, I can't remember now if I was looking at that bug report or if I was
having my own problems with declare (I've had many).  I had bad confusion
making abstractions use "soundfiler", for instance, and having relative
paths get expanded relative to the abstraction instead of the calling patch.
However, when an abstraction opens a sub-abstraction as in "x/y", I think
it's best to have x/y be relative to the abstraction's location and not the
calling patch's.  These two needs seem in direct conflict.  I hope to figure 
out a better way to handle this but have given up trying to resolve it 
for 0.41.  

I hope nobody is yet throwing "declare" objects in abstractions, as that
currently does something so wrong (altering the global path for the calling
patch!?) that I thought it better to get rid of the whole thing for now.

cheers
Miller

On Sat, Jan 05, 2008 at 06:28:20PM +0100, Frank Barknecht wrote:
> Hi,
> 
> I checked out the behaviour of [declare] in the latest test version,
> which supposedly should have some fixes according to the release
> notes: 
> 
>   Fixed "declare" which wasn't working properly yet in 0.40-0, and made
>   more objects (notably "soundfiler") respect "declared" paths. Path
>   entries are relative to the parent patch. Declares inside abstractions
>   are ignored.
> 
> Now I'm not sure, if simply ignoring declares in abstractions is the
> right thing (tm) to do. Using the declare-bug.tgz examples from Bug
> #1714473 I now cannot make abstractions evaluate declares anymore.
> This seems to be intended, but why?
> 
> The example uses an abstraction, "myabs/test-patch-with-deep-declare"
> that includes an instance of [abuse-me], which by [declare -path
> ./sub] inside "myabs/test-patch-with-deep-declare.pd" should be taken
> from "myabs/sub/abuse-me.pd". But, alas, this isn't found and thus
> "myabs/test-patch-with-deep-declare" is broken. Opening
> "myabs/test-patch-with-deep-declare.pd" directly will make it find the
> correct abuse-me.pd in myabs/sub/abuse-me.pd
> 
> I believe, the correct behaviour would be to not ignore the declares
> in abstractions, but make them act relative to the abstraction's path.
> 
> Otherwise abstractions would behave differently when opened directly
> compared to when used as abstractions, which I think is very
> confusing.
> 
> Ciao
> -- 
>  Frank Barknecht                                     _ ______footils.org__
> 
> _______________________________________________
> PD-dev mailing list
> PD-dev at iem.at
> http://lists.puredata.info/listinfo/pd-dev




More information about the Pd-dev mailing list