[PD] <<Loaded>> event
jancsika at yahoo.com
Fri Nov 18 00:51:14 CET 2011
----- Original Message -----
> From: Hans-Christoph Steiner <hans at at.or.at>
> To: Jonathan Wilkes <jancsika at yahoo.com>
> Cc: "pd-list at iem.at" <pd-list at iem.at>
> Sent: Thursday, November 17, 2011 6:20 PM
> Subject: Re: [PD] <<Loaded>> event
> That's a tricky one. I think that <<Loaded>> should be sent
> when the patch is all done, so the current situation is a bug.
> Since the
> drawing commands come from 'pd', 'pd' would have to trigger the
> <<Loaded>> event. I forget how its triggered now.
It's triggered in the last line of ::pdtk_canvas::finished_loading_file in
pdtk_canvas.tcl. That proc is called by ::pd_bindings::map in
pd_bindings.tcl, where it is preceded by:
pdsend "$mytoplevel map 1"
Maybe that line above needs to be the last line of the proc, and when
pd is done mapping it should make a call to ::pdtk_canvas::finished_loading_file?
I'm still not solid on the back and forth between gui and pd, so I'm not sure
if that would help or not.
> Definitely avoid 'update', I recently refactored my pdwindow.tcl code to
> switch from 'update' to 'after idle'.
I think 'after idle' can also be problematic.
> On Nov 17, 2011, at 4:01 PM, Jonathan Wilkes wrote:
>> Hi Hans,
>> I'm close to finishing a revision of my tooltips patch. To
> properly loadbang a canvas tip
>> I need something like a <<Loaded>> event, but one that tells me
> when the a pd patch window has
>> finally finished being drawn by Tk. <<Loaded>> seems to
> trigger once the procedure for creating
>> a new canvas has finished (technically right before, I guess), but it
> doesn't tell me when Tk has
>> actually finished drawing the window and setting all the window dimensions
> that are query-able
>> through winfo.
>> I think I could use <Configure>, but it will trigger multiple times--
> I just want one event that tells me
>> "Ok, everything that needed to get drawn as a result of creating this
> patch window is done drawing."
>> (tcl/tk wiki warns against "update idletasks" which can cause
> subtle bugs.)
>> Pd-list at iem.at mailing list
>> UNSUBSCRIBE and account-management ->
> "[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
More information about the Pd-list