Graph On Parent (Was: Re: [PD] newbie - stutter)

ClaudiusMaximus gloriousclaudiusmaximus at yahoo.co.uk
Sat Jul 17 16:03:17 CEST 2004


On Sat, 2004-07-17 at 14:13, Thomas Sivertsen wrote:
> And on that note, as a beginner to PD, I was wondering whether there is 
> something that will enable me to make cleaner interfaces in PD. I mean, 
> something that hides my patch-cords and objects to reduce visual 
> clutter. And is there something like a layered approach in PD, so that I 
> can put something in front of other objects/cords?

You can use Pd's "Graph On Parent" option to show the GUI elements
inside an abstraction inside the object box where you use the
abstraction.  These can be nested to build up more complex user
interface abstractions.  Example:
http://puredata.info/Members/claudiusmaximus/copyme/gravity/screenshots/gravity-20040622-cm_g_gravity.pd.png

To use graph on parent, you need to right-click in an empty area of an
abstraction patch (say, myabs.pd) and select properties, then select the
graph on parent option.  When you use the abstraction in another patch
the [myabs] object box will contain the graphical objects of myabs.pd.

To get it all layed out neatly, what I do is create a canvas in the top
left corner of the patch (with a gap above enough for the object box
text), and put the graphical objects on top of it, using the
send/recieve properties to connect them to the rest of the patch.  Then
before saving the patch I reduce the size of the window to show only the
canvas GUI area.  Then sometimes I need to adjust the properties where I
used the abstraction, to make the [myabs] object box a couple of pixels
larger than the size of the canvas within myabs.pd.  Example:
http://puredata.info/Members/claudiusmaximus/copyme/gravity/screenshots/gravity-20040622-cm_g_out.pd.png

To make complex logic clearer, you can create canvases to mark blocks of
logic - because of the way Pd draws things, you have to create the
canvases before the objects that are on top of it (or cut-and-paste the
objects after creating the canvases).  Example:
http://puredata.info/Members/claudiusmaximus/copyme/gravity/screenshots/gravity-20040622-cm_g_eveloop.pd.png

Source patches for these screenshots are found at:
http://puredata.info/Members/claudiusmaximus/copyme/gravity/source/


Claude
-- 
http://www.claudiusmaximus.tk





More information about the Pd-list mailing list