<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div><br></div><div>I think we can do this incrementally.  I'll try including what you have in Pd-extended when you are ready.  </div><div><br></div><div>As for help, I find that #tcl on freenode IRC is quite helpful.  Some of the devs hang out there and often help out.</div><div><br></div><div>.hc</div><br><div><div>On May 13, 2008, at 9:44 PM, David Golightly wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">This is all great feedback, guys - keep it coming.  Keep in mind I'm still learning Tcl/Tk, so some of these ideas, while excellent, are a little beyond my technical grasp at this point and may be improvements that we make incrementally over time.  Also, I have a limited amount of my time to budget for this kind of work - I also work full-time and make music too - so I think prioritizing some of these ideas into subsequent releases is probably the best way to get them into Pd.<br> <br>Some points:<br><br>- On the Startup dialog: I wasn't satisfied with the popup box for editing each list item, and also tried to look for a way to edit list items in place, but couldn't figure out how to make that work in Tcl/Tk, so I settled on the popup box.  The bug you saw with that not working, Hans, I've since fixed.<br> <br>- I played around with the idea of multiple select in the listboxes, but wasn't wholly satisfied with it and found that it introduced more problems than it solved.  For example, what if you select multiple Paths and then click "Edit"?  What is that supposed to do?<br> <br>- Having buttons inline with the list items in the listboxes would also be really cool, but it seems like it's a lot more work to do that, since Tk's default listbox widget only wants to deal with arrays of strings.<br> <br>- I agree with the idea that the "Save all settings" button should be removed everywhere and folded into "Apply" ("OK" does "Apply" + "Cancel").  I think what it originally was supposed to do was give you an opportunity to test settings without saving them, but for that, I think it's best to have something like a "Revert settings" button instead.  Also, I think this functionality is so marginal that we can remove it altogether.<br> <br>- I also agree that the four Preferences menus (Path, Startup, Audio, and MIDI) should all be different tabs in the same dialog.  However, that seems like a feature that can be added at a later time; for now, I'd like to focus on finishing up the improvements that we already have, so we can try &amp; get them into Vanilla, then perhaps go through the menu system at some point and re-evaluate how that's structured, maybe do some further improvements with some of the other menus too.  Plus I'm itching to get on to improving the UI widget settings boxes.<br> <br>- I'll see what I can do to remove those extra buttons.  I really like having everything keyboard-accessible, which includes stuff like tab order, so I think it's probably best to keep around the buttons for list editing commands for now, although we can certainly investigate ways to reduce the size they take up on the screen.<br> <br>I'm going to spend some spare time over the next few days working out some of the remaining kinks, then I'll re-post the patch for review before submitting it to the tracker.  Thanks again to everyone who has taken time to look at the proposed changes!<br> <br>If anyone has specific ideas to improve the layout of these dialogs, it would be amazing to see some sort of low-fi sketch of what you have in mind, just black outlines with text on a white background would be fine.  Also, if anyone has some more advanced Tk wizardry they'd like to impart, or could point me to some better resources, I'd be most grateful - Google has been a lot less helpful than I've experienced with other languages/platforms.<br> <br>Thanks,<br>David<br><br><br><div class="gmail_quote">On Sun, May 11, 2008 at 7:57 AM, Hans-Christoph Steiner &lt;<a href="mailto:hans@eds.org">hans@eds.org</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div style=""><div class="Ih2E3d"> <div><br></div><div style="margin: 0px;"><font style="font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; font-size-adjust: none; font-stretch: normal;" face="Helvetica" size="3">Oops, one other detail with the "encode" proc.  While namespaces are probably the current way to handle function names, they are not used for any other functions in <a href="http://u_main.tk" target="_blank">u_main.tk</a>  So for this function, I think it should be called something like pdtk_encodelist without the namespace, then grouped with pdtk_encode.  Something like this:</font></div> <div style="margin: 0px; min-height: 14px;"><br></div><div style="margin: 0px;"><font style="font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; font-size-adjust: none; font-stretch: normal;" face="Helvetica" size="3">proc pdtk_encodelist {listdata} {</font></div> <div style="margin: 0px;"><font style="font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; font-size-adjust: none; font-stretch: normal;" face="Helvetica" size="3"><span style="white-space: pre;">        </span>set outlist {}</font></div> <div style="margin: 0px;"><font style="font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; font-size-adjust: none; font-stretch: normal;" face="Helvetica" size="3"><span style="white-space: pre;">        </span>foreach this_path $listdata {</font></div> <div style="margin: 0px;"><font style="font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; font-size-adjust: none; font-stretch: normal;" face="Helvetica" size="3"><span style="white-space: pre;">        </span><span style="white-space: pre;">        </span>if {0==[string match "" $this_path]} {</font></div> <div style="margin: 0px;"><font style="font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; font-size-adjust: none; font-stretch: normal;" face="Helvetica" size="3"><span style="white-space: pre;">        </span><span style="white-space: pre;">        </span><span style="white-space: pre;">        </span>lappend outlist [pdtk_encodedialog $this_path]</font></div> <div style="margin: 0px;"><font style="font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; font-size-adjust: none; font-stretch: normal;" face="Helvetica" size="3"><span style="white-space: pre;">        </span><span style="white-space: pre;">        </span>}</font></div> <div style="margin: 0px;"><font style="font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; font-size-adjust: none; font-stretch: normal;" face="Helvetica" size="3"><span style="white-space: pre;">        </span>}</font></div> <div style="margin: 0px;"><font style="font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; font-size-adjust: none; font-stretch: normal;" face="Helvetica" size="3"><span style="white-space: pre;">        </span>return $outlist</font></div> <div style="margin: 0px;"><font style="font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; font-size-adjust: none; font-stretch: normal;" face="Helvetica" size="3">}</font></div> <div style="margin: 0px; min-height: 14px;"><br></div><div style="margin: 0px;"><font style="font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; font-size-adjust: none; font-stretch: normal;" face="Helvetica" size="3">Then perhaps namespaces can be introduced later as a more systematic approach.</font></div> <div style="margin: 0px; min-height: 14px;"><br></div></div><div style="margin: 0px;"><font style="font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; font-size-adjust: none; font-stretch: normal;" face="Helvetica" size="3">.hc</font></div> <div><div></div><div class="Wj3C7c"><div style="margin: 0px; min-height: 14px;"><br></div><div><div>On May 11, 2008, at 3:15 PM, Hans-Christoph Steiner wrote:</div><br><blockquote type="cite"> <div><br></div><div>I just thought of one other thing:  I think it would be very useful if Path, Startup, Audio Settings, and MIDI settings where all tabs in one panel, instead of four separate panels.</div> <div><br></div><div>.hc</div><br><div><div>On May 11, 2008, at 1:29 PM, Hans-Christoph Steiner wrote:</div><br><blockquote type="cite"> <div><br></div><div>Wow, what an improvement!  I like it a lot.  I have some comments:</div> <div><br></div><div>- minor thing, maybe there could be less space on the sides, so the panel would be narrower?</div><div><br></div><div>- about the Apply button, I think it should only show up on platforms where it is a common thing.  On Mac OS X, it should just be OK and Cancel.  On Windows, there should be Apply.  I think GNOME has moved away from Apply, but I don't know anything about KDE.</div> <div><br></div><div>- some separation of the buttons on the right column would make things clearer, I think.  Like maybe Up/Down on the right side, and then Add..., Edit..., and Delete on the bottom?  Or maybe just changing Up and Down to arrows?</div> <div><br></div><div>- the startup thing is trickier.  I think that the textfield for entering values should be embedded into the panel instead of a popup.  Also, it doesn't seem to work for me (I am using 0.41-4 vanilla).  I can't add items to the list.</div> <div><br></div><div>I think once this is worked out, the best plan would be to submit a patch to the tracker and assign it to Miller.  Then I'll also include it in Pd-extended.</div><div><br></div><div>.hc</div><div><br> </div><div><div>On May 11, 2008, at 2:25 AM, David Golightly wrote:</div><br><blockquote type="cite">Just verified against my own install of Pd-extended-0.40.3 on OS X 10.4 - enough differences exist otherwise in the nightlies that this version of the file will only work with <a href="http://0.41.4." target="_blank">0.41.4.</a><br> <br>Attached is an updated (slightly bugfixed) version.<br> <br>So... what's the procedure for checking in to svn :)?<br><br>-David<br><br><br><div class="gmail_quote">On Sat, May 10, 2008 at 4:24 PM, David Golightly &lt;<a href="mailto:davigoli@gmail.com" target="_blank">davigoli@gmail.com</a>> wrote:<br> <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Well scratch that then, perhaps that will only work when you're building pd on your own machine.  If you launch Pd from Terminal, you might see error output in that terminal window - that would be helpful to have.<div> <div></div><div><br><br> <div class="gmail_quote">On Sat, May 10, 2008 at 3:17 PM, marius schebella &lt;<a href="mailto:marius.schebella@gmail.com" target="_blank">marius.schebella@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> I tried this with pd extended 0.40-3, but did not get a startup pref window at all and the path window was very small and empty. (os x, 10.5.)<br> marius.<br> <br> David Golightly wrote:<br> <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> And, here's a version with an updated Startup dialog.  Simply copy this to bin/<a href="http://pd.tk" target="_blank">pd.tk</a> &lt;<a href="http://pd.tk" target="_blank">http://pd.tk</a>> (make a backup first!) to try it out.<div> <br> <br> <br> On Sat, May 10, 2008 at 12:48 PM, David Golightly &lt;<a href="mailto:davigoli@gmail.com" target="_blank">davigoli@gmail.com</a> &lt;mailto:<a href="mailto:davigoli@gmail.com" target="_blank">davigoli@gmail.com</a>>> wrote:<br> <br> <br> <br>    On Sat, May 10, 2008 at 12:36 PM, Steffen Juul &lt;<a href="mailto:stffn@dibidut.dk" target="_blank">stffn@dibidut.dk</a><br></div><div><div></div><div>    &lt;mailto:<a href="mailto:stffn@dibidut.dk" target="_blank">stffn@dibidut.dk</a>>> wrote:<br> <br> <br>        On 10/05/2008, at 19.48, David Golightly wrote:<br> <br>            Ok, after a busy week this is what I've been able to come up<br>            with for the Path dialog.<br> <br> <br>        Looking really good! The browse functionality is a fair idiom in<br>        a such GUI as oppose to entering text, i think.<br> <br> <br>    Thanks!  I've often been kind of frustrated that I have to type in<br>    the full directory name rather than simply browsing to it.  For the<br>    keyboard-inclined, however, text entry should still be possible.<br>     <br> <br>        "One" comment: I have a beef with the functionality of the<br>        buttons. Not the Cancel one. The others. 'Apply' does something.<br>        'Ok' does 'apply' plus 'cancel'. 'Save...' does 'Apply' plus<br>        saves. But it says the list is only gonna work from next time Pd<br>        is lunched, why i don't get the 'Apply' and 'Ok'. 'Ok' should do<br>        save and cancel. Thats all one wants, anit?<br> <br> <br>    I agree.  I've preserved the pre-existing functionality for those<br>    buttons from before, but do we really need both "Save" and "Apply"?     Currently, "Save" also "saves preferences" (verbose &amp; use standard<br>    extensions).  I think that should also happen when you click<br>    "Apply", so we can do away with the "Save" button, and also make<br>    sure that the message about needing to restart PD pops up when you<br>    click "OK" or "Apply".<br>     <br> <br> <br>            I'm thinking about adapting this UI for the Startup dialog -<br>            shouldn't be hard to do - except instead of choosing<br>            directories you want to enter arbitrary text.<br> <br> <br>        I haven't checked your code but i suppose most "proc's" can be<br>        reused?<br> <br> <br>            I've set up some various key bindings so I want to make sure<br>            it seems usable for everyone.<br> <br> <br>        Nice. What are they?<br> <br> <br>    Default key bindings for the listbox widget give you "up" and "down"<br>    keys to select, I've added "Delete" to delete the current selection,<br>    and "Return" to open the browse dialog (same as pressing "Edit").<br>     <br> <br> <br>            So far I've only tested this on Mac OS X<br> <br> <br>        OS X.4 here.<br> <br> <br> <br> <br></div></div> ------------------------------------------------------------------------<div><br> <br> _______________________________________________<br> <a href="mailto:PD-list@iem.at" target="_blank">PD-list@iem.at</a> mailing list<br> UNSUBSCRIBE and account-management -> <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br> </div></blockquote> <br> </blockquote></div><br> </div></div> </blockquote></div><br><span>&lt;<a href="http://u_main.tk" target="_blank">u_main.tk</a>></span><div style="margin: 0px;">_______________________________________________</div><div style="margin: 0px;"><a href="mailto:PD-list@iem.at" target="_blank">PD-list@iem.at</a> mailing list</div> <div style="margin: 0px;">UNSUBSCRIBE and account-management -> <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a></div> </blockquote></div><br><div> <span style="border-collapse: separate; border-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><br> <span style="border-collapse: separate; border-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><div> <br></div><div>----------------------------------------------------------------------------</div><div><br></div><div>                                              <a href="http://at.or.at/hans/" target="_blank">http://at.or.at/hans/</a></div> <br></span></span> </div><br></blockquote></div><br><div> <span style="border-collapse: separate; border-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><br> <span style="border-collapse: separate; border-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><div> <br></div><div>----------------------------------------------------------------------------<br></div><div><br></div><div>News is what people want to keep hidden and everything else is publicity.          - Bill Moyers</div> <br></span></span> </div><br></blockquote></div><br></div></div><div> <span style="border-collapse: separate; border-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><br> <span style="border-collapse: separate; border-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><div> <br></div><div>----------------------------------------------------------------------------</div><div><br></div><div>"[W]e have invented the technology to eliminate scarcity, but we are deliberately throwing it away to benefit those who profit from scarcity."        -John Gilmore</div> <br></span></span> </div><br></div></blockquote></div><br></blockquote></div><br><div> <span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><br class="Apple-interchange-newline"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div><br style="font-family: Tahoma; "></div><div>----------------------------------------------------------------------------</div><div><br style="font-family: Tahoma; "></div><div>There is no way to peace, peace is the way.       -A.J. Muste</div><br class="Apple-interchange-newline"></span></span> </div><br></body></html>