[PD] UI developer volunteering to help

David Golightly davigoli at gmail.com
Sat May 3 20:06:04 CEST 2008

Hey folks,

My interest (at first) would not be to add anything or enhance the
appearance of things; I'm more interested in helping to improve the PD
workflow by making PD easier to use.

Something like an optional "snap to grid" feature for instance would be nice
for auto-aligning and cleaning up patches.  While I understand the argument
that bending patch cords increases the visual noise of a patch, it's already
noisy when patch cords cross at acute angles or when the data flows from
bottom to top (which is necessary to do many things in PD).  Perhaps
creating some logic to bend patch cords at right angles only, tracing the
aforementioned grid?  I won't have time to work on this at first though, so
it's worth thinking about for a while.

I agree that the startup paths dialog needs a lot of help - when you run
PD-extended it's already full of paths for externals, leaving you nowhere to
put your own paths!

I get really annoyed that there's no way to bulk-edit GUI elements
(vsliders, etc.).  For instance, if you draw a whole bunch of vsliders, then
realize that you forgot to set "no init" to "init", you have to manually
open each one and click the button.  To make matters worse, they tile
automatically, so after a number of the vslider properties dialogs have been
open, the buttons to close the dialog are below the bottom of the screen!

I would also really like it if you could do all of your basic patching in PD
without using the mouse.  Perhaps some key bindings like (in edit mode):

<tab> to select an object, cycling through the objects/messages in the
current patch (<shift-tab> to reverse)
<enter> to type in the selected object/message
<shift-arrow> to select one of the selected object's outlets
<space> to create a new patch cord
<tab> to cycle through the rest of the objects on the page (<shift-tab> to
reverse, or <esc> to cancel the operation)

also, when typing in an object or message, pressing <esc> should "blur"
(deselect) the object/message, restoring its previous value ("cancel");
<tab> should select the next object for editing, and <shift-enter> should
"blur" the object, setting its value to what you just typed.

Does PD currently have any key bindings guidelines?  I'd be interested in
finding out what's already taken (though none of the combinations I
mentioned above appear to be currently in use).

What do you all think about this?  I'm starting to dive into the tk, it
looks like however almost all of the GUI is in pd/src/u_main.tk, which at
around 4300 lines is substantially larger than any of the C src files.  It
would be nice if we could organize this a little better by breaking up the
large source file into smaller, more module files, though I haven't yet
investigated how much work that would be, and anyways we can live with the
current organization if it's too much trouble.

So, I'm interested in starting with fixing some of the messy dialogs, then
working toward getting a mouse-less edit mode.


On Sat, May 3, 2008 at 10:05 AM, Dan Wilcox <danomatika at gmail.com> wrote:

>  When I see stuff like fancy icons etc, I'm always a bit afraid that those
> of us on low res machines (1024x768 in my case) would get really screwed in
> the end as one cool, large, fancy, chromey module would take up half the
> screen!  IMO tiny pd boxes are always better as they save space and increase
> whitespace, increasing readability ... and a well named abstraction is more
> powerful then loads of graphics.  Those signal inlet, outlet signs in
> SynthMaker are annoyingly large too, whereas in PD a thicker line is
> completely obvious enough.
> I guess it all comes down to who PD is aimed at ... people who need a
> fancy interface or people who want to get some work done. (ohhh I went
> there!)
> What I would like would be a unified set of common interface elements as
> already suggested.  A better [knob] would be nice for instance
> 2 bits
> On Sat, 2008-05-03 at 12:21 +0200, Frank Barknecht wrote:
> Hallo,
> Langsam Wieder hat gesagt: // Langsam Wieder wrote:
> > if you want to collect some ideas how a real usable and pretty
> > interface for a modular environment could look like, have a look at
> > http://synthmaker.co.uk/about.html
> > it's got bendable links... you never have to leave edit mode... and
> > have a look at how ALL interface elements as bitmap & vector knobs,
> > sliders or wavedraw display consist of modules themselve.
> > the environment is off course not as powerful as pd, but the interface
> > is just a joy to work with.
> I've never worked with that, however I'm always irritated, when
> patching environments have their cord connections flow left to right
> instead of top to bottom. IMO that's such a waste of space in
> languages, that are written horizontally. If you look at the "Midi to
> Poly" object here: http://synthmaker.co.uk/images/components%20L.png
> you'll see that most of it is just an empty grey rectangle, whose
> width is just there to make room for the object name. If the
> in/outlets were top and bottom as in Pd and Max, the box could be much
> smaller without losing any information.
> Of course if objects are just icons instead of works, left-to-right
> can work, but as Matju once said: "a word says more than a thousand
> pictures" - icons are very limited. No wonder, SynthMaker also
> includes a (quite nice) text editor for dsp code.
> Ciao
>   ---
> Dan Wilcox
> robotcowboy.com <http://www.robotcowboy.com>
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20080503/ae28d731/attachment.htm>

More information about the Pd-list mailing list