[PD] print all abstractions and externals

Hans Roels hans.roels at versateladsl.be
Wed Jul 9 10:53:16 CEST 2008

that 's an interesting idea but I don't know if 
this is possible with pd-vanilla, I didn't try it yet.
I made this patch to be able to save all files 
that I need for one patch. As Luigi also noticed, 
it would be good if this patch searched for 
abstractions within abstractions, I might try 
this one of the following weeks (time... 
holidays:).  I guess I'll have to save the main 
output in a new [textfile] object that will be 
printed after the searching is finished because a 
lot of error messages will be printed in the main 
screen once I try to open abstractions within 
abstrations (some of them will be externals which can't be opened...)
I use vanilla because it's very good for teaching 
purposes, the structure is never hidden (as in an 
external where you have to be able to read the 
source file). I also got tired of wasting my time 
with looking for the right externals for windows 
and apple for my students, now I'm sure that 
everyone can use the files that I make.

hans r

>Date: Wed, 09 Jul 2008 09:50:51 +0100
>To: João Pais <jmmmpais at googlemail.com>
>From: Hans Roels <hans.roels at versateladsl.be>
>Subject: Re: [PD] print all abstractions and externals
>At 23:06 6/07/2008, you wrote:
>>I would like to reply with a couple of suggestions:
>>Have you thought about another technique? instead of making several
>>[select]s with lots of variables (which will have to be checked now and
>>then, as we don't know fow now which version of vanilla was your reference
>>version), you could take on a more environment-dependent approach: pd
>>scans the extra folder (including subfolders) for installed
>>externals/abstractions and writes the names of the installed objects in a
>>list (or [textfile] (or [msgfile]) ) - they're easy to find if you look
>>for the endings .pd (abstractions), or .dll / .pd_linux / .darwin [actual
>>non-windows extensions are wrong, I think].
>>That would create a personal database for each pd installation for each
>>user (assuming that users add something to their extra folder or a user
>>has several versions of pd installed). Then the patch->environment
>>comparation process you already programmed would take place. Meaning, you
>>could test quite easily if a patch you want to open has any elements your
>>system doesn't have.
>>One option to look automatically for objects in abstractions could be:
>>pre-scan the patch folder (+ subfolders, if any?), and see if they come up
>>in the results. if so, just open those files automatically afterwards.
>>For what use did you thought the patch might be useful? I think it's quite
>>useful if I want to make a "standalone" patch, which has to be packaged
>>with the program with it - and for that vanilla+ is better as extended.
>>But from my opinion, I don't know nowadays how many people are working
>>with vanilla instead of with extended (except some hardcore users). I
>>guess new users use extended, since both are now in parallel versions.

>>As it was replied, [5] isn't "wrong". for example, if [5] is triggered by
>>another object (and not a message), it's more efficient to have
>>[object]->[object] than [object]->[message(, as data types don't have to
>>be converted. (as I read some years ago in this list)
>>But if you (rightfully) don't want floats to go in your list, you can
>>filter them out, a [route float] with no connection from the first outlet
>>does it. (I just tried it)
>>João Pais
>>PS: for GUI design, I always say "GOP is your friend" - specially now,
>>when you can even hide the creation name/arguments
>>>I've made a patch that might be useful for others. In the attached
>>>patch you can open a pd-file and the main window prints all the
>>>abstractions or externals that you need to make the patch work. It
>>>doesn't detect abstractions within abstractions though and it also
>>>prints objects like [5] or [$1], I didn't find a solution for this
>>>(small) problem yet. (I'd think it is bad pratice to use [5] in sted
>>>of [5(  or am I wrong?)
>>>I wanted to make a patch that copied all the necessary abstractions
>>>and the file itself to a new folder but I ended up with this simpler
>>>hans r
>>Friedenstr. 58
>>10249 Berlin
>>Tel +49 30 42020091
>>Mob +49 162 6843570
>>jmmmpais at googlemail.com
>>skype: jmmmpjmmmp
>>IBM Thinkpad R51, XP, Ubuntu GG
>>Pd-Ext-0.39-2-t5, Pd Van 0.40-t2

More information about the Pd-list mailing list