[PD] <<Loaded>> event

Jonathan Wilkes jancsika at yahoo.com
Fri Nov 18 04:47:49 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 10:32 PM
> Subject: Re: [PD] <<Loaded>> event
> 
> 
> On Nov 17, 2011, at 6:51 PM, Jonathan Wilkes wrote:
> 
>>  ----- 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.
>> 
>>  Ah, ok.
>> 
>>>  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.
> 
> It'll need to be somewhere else entirely, I think.  "map" is the 
> concept of the window being mapped to the screen.  As you seem to have 
> discovered, the window is mapped to the screen, then pd sends all its draw 
> commands to it.  So ::pdtk_canvas::finished_loading_file should be called once 
> Pd is done sending draw commands.

Right-- that's why I was thinking it should go on the pd side in canvas_map, after 
the last sys_vgui call.

-Jonathan

> 
>>>  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.
> 
> I haven't had any problems so far, and it seems to have improved the 
> performance of the Pd window even more than the update code, though not as 
> drastic a change as the rearchitecting had.
> 
> .hc
> 
> ----------------------------------------------------------------------------
> 
> If you are not part of the solution, you are part of the problem.
> 



More information about the Pd-list mailing list