[PD-dev] abstractions polluting their parent patch

Jonathan Wilkes jancsika at yahoo.com
Fri Jan 15 17:01:19 CET 2016


Wrt #N struct:
Data structures have three components: drawing commands, [struct] templates, and scalars.  They can get loaded in any order in a running instance of Pd.  Also, [struct] templates can depend on other [struct] templates.
Polluting the parent with structs found inside the children guarantees that everything will load with the correct data and display properly every time, without crashing.  Unfortunately this adds complexity to data structures.  You now have this "shadow" struct floating around that has no fields associated with it (which itself can cause crashes).  But doing it the "right way" probably involves something like higher order functions, or promises, or something else that is overkill for a feature that apparently only two people in the community use.
-Jonathan 

    On Friday, January 15, 2016 5:25 AM, Roman Haefeli <reduzent at gmail.com> wrote:
 

 Hi all

I'd like to bring it up in a separate thread. I found two cases where
abstractions pollute their parent patch, if the parent patch is saved
after the abstractions have been instantiated. By polluting I mean some
lines are added to the patch file that actually do not belong to the
parent patch.

case 1) 
Using a [declare -stdlib zexy] in an abstraction adds the following line
in the parent:

#X declare -stdlib zexy;

Next time the parent is loaded, it secretly loads zexy.


case 2)
When using data structures in abstractions, every [stuct] adds a line to
the parent patch:

#N struct 1342.seg.range float posy float bgclr;

I don't know what the effect of this is. Maybe it doesn't have any
effect at all, since there most likely is no template that matches the
struct. 


While the effects of it are more (case 1) or less (case 2) severe, it
seems just not very elegant. Should/can it be fixed?

Roman

_______________________________________________
Pd-dev mailing list
Pd-dev at lists.iem.at
http://lists.puredata.info/listinfo/pd-dev


  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20160115/b27abad3/attachment.html>


More information about the Pd-dev mailing list