I am trying to remove the Tk gui from pd and use it just as an engine and do the patch editing programatically, i.e. replace the GUI by a (python) program.
Reading through the pd sourcecode it seemed to me that the Tk gui is seperated from the pd core and communication takes place through a socket. Is this right, or am I completely off?
well, if you're just building a user interface for a patch, then just use the -gui command line flag and build your python gui in py/pyext ...
the socket-communication between pd's kernel and the gui is one of the weakest parts of pd ... using a threaded py/pyext, you won't need to use this bottleneck ...
if you think of writing a patch editor, it's more complicated ... but it would also be possible using a pyext object (that's providing the gui) and a dyn~ object (providing the patching environment)...
Finally, is there some general document on the pd software architecture / implementation?
i never counted, but i guess there are about 200 lines of comments in the pd source code :-/
cheers ... tim