[PD] UI developer volunteering to help

Hans-Christoph Steiner hans at eds.org
Sat May 3 20:47:06 CEST 2008

On May 3, 2008, at 8:06 PM, David Golightly wrote:

> 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.

Hear, hear!

> Something like an optional "snap to grid" feature for instance  
> would be nice for auto-aligning and cleaning up patches.

Sounds good.

> 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.

The linearity of the patch cords makes it easier to trace the path of  
them.  You don't have to follow the cords with your eye, but instead  
it is just readily apparent.

> 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 think there should be a subwindow with a line for each path entry,  
then + and - buttons for editing the entries.  Then if there are lots  
of entries, that subwindow would scroll.  There is a Tk 'listbox"  
which would work for this (seen in action in the Help Browser).

> 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!

That would be quite useful.

> 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).

There are quite a few that are taken.  I think the key is to make  
sure that none of the standards for each platform are overridden, and  
that we use the standards on each platform.

> 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.

u_main.tk is a mess.  It needs to be cleaned up in a big way.  I  
think to start with, it is possible to tack more stuff on, then  
reorganize it.  I am planning on refactoring u_main.tk after I get  
the 0.40.3-extended release out.  I talked with Miller about it, it  
sounds like he is willing to accept such changes.

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

Sounds great, keep us posted on what you are working on, and post  
questions when you have them!


> -David
> 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
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/ 
> listinfo/pd-list
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/ 
> listinfo/pd-list


I have the audacity to believe that peoples everywhere can have three  
meals a day for their bodies, education and culture for their minds,  
and dignity, equality and freedom for their spirits.      - Martin  
Luther King, Jr.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20080503/53f3b4da/attachment.htm>

More information about the Pd-list mailing list