This may be a little off topic, but I'd be very curious to see what "pure Pd'ers"-- meaning people coding only in Pd and not c-- could come up with for a "tidy up" algorithm. In other words, if "tidy up" just sent a list of the selected objects to a PDMENU_TIDYUP receiver, what would the Pd community come up with to make a sophisticated algorithm to tidy up the patch?
I think the same thing about Properties Dialogs being built in Pd, as well as the Pd console, audio dialogs, etc. It's a sign of good faith as to the expressivity of the language, just like when you open a help patch and its just another Pd patch-- Pd helps itself. :) That's one of the reasons why I kept inquiring about presets storing the state as args appended in the container abstraction, because that would make it possible to have a properties dialog without using externals. However the more I think about it the preset api is probably overkill for doing that. -Jonathan >________________________________ > From: Ivica Ico Bukvic <[email protected]> >To: 'Hans-Christoph Steiner' <[email protected]> >Cc: 'Jonathan Wilkes' <[email protected]>; 'pd-list' <[email protected]> >Sent: Tuesday, December 11, 2012 9:04 PM >Subject: RE: [PD] Pd-L2ork Features > > >Here’s a very simple yet dubious example of tidy not doing absolutely anything >with only 3 objects on screen (using select all, no less). I would hardly call >this “handling it OK”… > >There is certainly room for both (as is the case with Max) but at least in >pd-l2ork you have one that works reliably as opposed to one that is entirely >uncertain (or as is the case in the attached example, not at all). > >From:Hans-Christoph Steiner [mailto:[email protected]] >Sent: Tuesday, December 11, 2012 8:45 PM >To: Ivica Bukvic >Cc: Jonathan Wilkes; pd-list >Subject: Re: [PD] Pd-L2ork Features > > >Don't get me wrong, I'm not defending the bad behavior of the vanilla tidy. >I'm just saying it never does anything drastic or scary, or at least I've >never seen it do that. It should be possible to make an algorithm that has >the good features of both. > >.hc > >On Dec 11, 2012, at 8:39 PM, Ivica Bukvic wrote: > > > >I beg to differ. There are numerous examples where one would select only a few >objects and wanted to have them lined up and the regular tidy algorithm was >unable to do anything about it. In most cases objects did not move at all with >no explanation to the user as to why things didn't work out. >Yes, there are two case scenarios. The old tidy can sometimes clean up the >patch to an extent which may or may not work out. The new tidy algorithm in >pd-l2ork does not aim to do the same thing. It deals with objects are >currently selected and lines and first up and then on the second press spaces >them evenly out. The key difference between the two is that it is predictable >and works every time unlike the old algorithm, which works only sometimes, and >even then does not take into account preexisting human-centric arrangement of >patch-cords. >On Dec 11, 2012 7:47 PM, "Hans-Christoph Steiner" <[email protected]> wrote: > >The vanilla tidy algorithm handled this one OK, but normally its not very >helpful. I think getting this kind of thing right means gathering a wide >range of examples and edge cases and tweaking it until they all work OK. > >One thing that might be worthwhile for anyone who has a copy of Max/MSP is to >play around with their tidy algorithm. I think they put a lot of work into >it, so it would give you an idea of what's possible. > >IMHO, the l2ork algorithm is probably workable as is, but even with full undo, >lots of people will be unhappy to see their patch collapse into a single line. > >.hc > >On Dec 11, 2012, at 5:07 PM, Jonathan Wilkes wrote: > >> I guess there are two questions: >> 1) How does tidy decide to line up the selected objects in a column vs. a >> row? >> 2) How smart can "tidy up" actually be? For example in Hans screencapture I >> see three columns of offset objects, but maybe other people see a different >> pattern. >> >> I guess as long as it works ok for a majority of cases, there's alway >> infinite undo. >> Plus I might be able to get my columns by selecting the objects for each >> column >> at a time, and tidying each column separately. >> >> >> But perhaps if "tidy up" would end up moving an object onto another object >> it should >> offset the one being moved (like it does if two objects are sitting directly >> on top of >> each other before tidying). >> >> >> -Jonathan >> >> >> >>> ________________________________ >>> From: Ivica Ico Bukvic <[email protected]> >>> To: Hans-Christoph Steiner <[email protected]> >>> Sent: Tuesday, December 11, 2012 4:51 PM >>> Subject: Re: [PD] Pd-L2ork Features >>> >>> >>> Just tried it here and it works just fine with bunch of lengthy comments. >>> The trick is first Ctrl+Y lines it up across an axis, the second one spaces >>> it out evenly. So, I think the only thing you didn't do was press it twice >>> (AFAICT from the screenshot). >>> >>> On 12/11/2012 04:49 PM, Ivica Ico Bukvic wrote: >>> >>> Have you tested this on pd-l2ork since it calculates width differently than >>> pd-extended might? Can you send the example patch? >>>> >>>> On 12/11/2012 04:32 PM, Hans-Christoph Steiner wrote: >>>> >>>> Nice videos, the GUI and GOP handles are great. I like the improved >>>> tidy-up. I was messing around with it, the problem is that while is does >>>> seem to work better in cases like you showed, but it seems to have bad >>>> edge cases. Here's an example of the results of running it on a random >>>> patch I had on my desktop and compared to the vanilla result: >>>>> >>>>> >>>>> .hc On Dec 11, 2012, at 3:42 PM, Jonathan Wilkes wrote: >>>>> Hello, I thought I'd post some of the recent changes in Pd-L2ork. Here >>>>> are some: iemgui anchors: >> http://www.youtube.com/watch?v=5SM1hiz9S5U&feature=plcp gop anchor: >> http://www.youtube.com/watch?v=uMu5JcKE1sU&feature=plcp improved tidy-up: >> http://www.youtube.com/watch?v=Ms5yOvgoK_Q&feature=plcp array update >> notification: >> http://www.youtube.com/watch?v=q1HbYrvNxEg&feature=plcp move to front/back: >> http://www.youtube.com/watch?v=af9KiJfSp68&feature=plcp infinite undo (with >> lyrical Pd accompaniment!): >> http://www.youtube.com/watch?v=wTPZxcgWoI0&feature=plcp from the most recent >> git commits, presets: >> http://www.youtube.com/watch?v=IS7_x727kZ4&feature=plcp The presets video >> unfortunately speeds up in the middle for >> some unknown reason. In that part it shows how I can >> copy/paste an abstraction and that instance gets its own state >> associated with it, which is stored with the preset_hub. -Jonathan >> _______________________________________________ [email protected] mailing list >> UNSUBSCRIBE and account-management -> >> http://lists.puredata.info/listinfo/pd-list >>>>> >>>>> >>>>> _______________________________________________ [email protected] mailing >>>>> list >> UNSUBSCRIBE and account-management -> >> http://lists.puredata.info/listinfo/pd-list >>>> >>>> >>>> -- >> Ivica Ico Bukvic, D.M.A >> Composition, Music Technology >> Director, DISIS Interactive Sound & Intermedia Studio >> Director, L2Ork Linux Laptop Orchestra >> Head, ICAT IMPACT Studio >> Virginia Tech >> Department of Music >> Blacksburg, VA 24061-0240 >> (540) 231-6139 >> (540) 231-5034 (fax) disis.music.vt.edu l2ork.music.vt.edu ico.bukvic.net >>> >>> >>> -- >> Ivica Ico Bukvic, D.M.A >> Composition, Music Technology >> Director, DISIS Interactive Sound & Intermedia Studio >> Director, L2Ork Linux Laptop Orchestra >> Head, ICAT IMPACT Studio >> Virginia Tech >> Department of Music >> Blacksburg, VA 24061-0240 >> (540) 231-6139 >> (540) 231-5034 (fax) >> disis.music.vt.edu >> l2ork.music.vt.edu >> ico.bukvic.net >>> >>> > > > _______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
