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/grav...
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/grav...
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/grav...
Source patches for these screenshots are found at: http://puredata.info/Members/claudiusmaximus/copyme/gravity/source/