[PD] L2Ork pd-extended release candidate 1 now available (was: Re: call for testers...)

Ivica Ico Bukvic ico at vt.edu
Mon Nov 29 08:53:52 CET 2010


OK, release candidate 2 is now up with following changes:

*This one was *really* bad: Cut/Paste/Undo/Redo creates double entries
on gop-in-gop patches. Basically, after literally a day of
troubleshooting and posting hooks all over the pd source (heck, I even
got to study binbuf stuff :-) it appears in these instances window_name
never changes upon restore (in other words tcl/tk canvas's documentation
lies about not reusing id with every new object--why am I not
surprised?) NB: this finally solves every instance I am familiar with in
which pd suddenly starts spewing two or more objects per each
key-press/action. Consequently, even though I've said it many times
before, I finally believe this solves all of the GOP redraw/bug issues.

To best test this problem you can simply create a simple patch using
either vanilla pd or pd-extended with a GOP abstraction that has another
visible GOP abstraction inside it. Now on the parent window cut and undo
(or paste) the GOP-ed abstraction and open it. Try creating a new object
inside it and presto, everything is doubled. As you do more cut/undos
you can get as many of them per action as you like :-). This can also
result in a crash as window close will be also registered multiple
times.

If you are wondering how the fix works, it's the ugliest hack on the
planet made for the comparably attractive toolkit: every time the
undo/copy queue is copied I insert a bogus object prior to the selection
(in this case a comment with an appropriately redundant name) and offset
all connections by one. Once the buffer is restored, the fact it is
different from the original scene (seems to me that the tcl/tk might be
caching things id-wise without properly disconnecting HID hooks to those
widgets, hence multiple entries per action) forces tcl/tk to assign
truly unique ids to newly pasted objects. Upon restoring the queue, I
erase the bogus object. Now, how ugly is that?

So, the next time you have an opportunity to read tcl/tk documentation
don't forget to take it with a boulder of salt.

Other fixes:
*recreation of gop-ed objects when selecting their text (a.k.a.
activating them) must not apply to gop-ed pd patchers (when clicked to
change their names)
*changing name on a gop-ed pd patcher automatically resizes patcher gop
window and correctly positions outlets
*Added ctrl+enter reselect option
*cleaned up stderr errors about canvases/widgets not found
*when closing dirty patch and dirty abstraction, prompts are incorrectly
focusing on and pointing to wrong windows
*cord inspector uses globally defined font size
*removed xy stretch option from the font menu as it appears to be
unstable
*corrected text color on pd patcher

Latest snapshot is available at:
http://l2ork.music.vt.edu/main/?page_id=56

As always, feedback is most appreciated.

Cheers!

Ico






More information about the Pd-list mailing list