[PD-dev] debugging pd/tcl/tk

tigital tigital at mac.com
Wed May 28 21:48:30 CEST 2003


hello,

...I'm probably going to be posting alot on this subject, cuz the bad 
behavior of pd on OSX with tcl/tk 8.4.2 or 8.4.3 has driven me to start 
hacking away...I'm learning tcl/tk, and am very confused by how pd 
handles tcl/tk on osX, but am trying to move forward!  BTW, if anyone 
missed it, pd launches fine and produces all of the expected menus and 
stuff, but when you open up a patch, all ya get is a blank screen!  :-(

...First off, I compiled pd-0.37-test4 with -DPD_DEBUG; however, it 
only seems to open one little bit of functionality?  Along with this, 
I'm passing the "-d" flag, but this is supposed to be accompanied by a 
"<n>", which I assume to be a number, but what's the range, and what do 
the different values differentially produce?

...now I've got pd launching in gdb with a debug build of tcl/tkAqua, 
but it only sporadically sends out console messages (which is good, I 
think ;-))...In the following output, I'm opening the first, most basic 
pd example patch, and then I try to edit it (in the hopes that 
something can be placed on the canvas):
================================
error parsing RC arguments
input device 0, output device 0
pdtk_watchdog
pdtk_pd_startup {Pd version 0.37 TEST 4
}







pdtk_canvas_new .x1c6170 600 496 +9+22 0
wm title .x1c6170 {01.PART1.hello.pd  - 
/Applications/pd-0.37-test4/doc/2.control.examples}
set menu_windowlist {{01.PART1.hello.pd .x1c6170} }
pdtk_fixwindowmenu


.x1c6170 configure -cursor left_ptr

.x1c6170 configure -cursor arrow
.x1c6170 configure -cursor left_ptr

pdtk_canvas_editval .x1c6170 1
.x1c6170 configure -cursor hand2



.x1c6170.c itemconfigure .x1c6170.t1caa90 -fill blue
.x1c6170.c focus .x1c6170.t1caa90
pdtk_text_set .x1c6170.c .x1c6170.t1caa90 {   }
.x1c6170.c coords .x1c6170.t1caa90R 58 5 90 5 90 25 58 25 58 5
.x1c6170.c select clear
.x1c6170.c icursor .x1c6170.t1caa90 0
.x1c6170.c focus .x1c6170.t1caa90
wm title .x1c6170 {01.PART1.hello.pd* - 
/Applications/pd-0.37-test4/doc/2.control.examples}
pdtk_text_set .x1c6170.c .x1c6170.t1caa90 {   }
.x1c6170.c select clear
.x1c6170.c icursor .x1c6170.t1caa90 0
.x1c6170.c focus .x1c6170.t1caa90


selection clear .x1c6170.c
.x1c6170.c focus ""
pdtk_text_set .x1c6170.c .x1c6170.t1caa90 {   }
.x1c6170.c itemconfigure .x1c6170.t1caa90 -fill black
pdtk_canvas_editval .x1c6170 0

pdtk_check {This window has been modified.  Close anyway?}     
{.x1c6170 menuclose 1;
}

pdtk_undomenu nobody no no
.x1c6170.c delete l1c85b0
.x1c6170.c delete l1c85c0
destroy .x1c6170
.mbar.find delete 2
set menu_windowlist {}
pdtk_fixwindowmenu
tkwin == NULL, 515




pd: exiting
closing audio...
closing MIDI...
... done.
=========================================
...so, I'm not sure how to read this output:  anybody?  As an aside, 
the linefeeds are spit out when the program is idle (I think this used 
to be listed as "pd.watchdog"):  what is the advantage of this behavior?

thanks,
jamie





More information about the Pd-dev mailing list