speechd-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[pygtk] Pygtk does not play nicely with speech-dispatcher


From: John Finlay
Subject: [pygtk] Pygtk does not play nicely with speech-dispatcher
Date: Fri, 25 Apr 2008 10:44:44 -0700

James Simmons wrote:
> Michael,
>
> Thanks for the tip!  It was a big help.  I put gtk.gdk.threads_init()  
> in the __init__ method of my program and I did get callbacks.  It 
> looks like I didn't get callbacks for every word, but Pygtk seems to 
> not be the problem anymore.  Thanks again,
The problem is that gtk and by extension pygtk has an event loop, and 
the python speechd api has implemented its own event loop within a 
thread. The speechd protocol is synchronous and sounds similar to RPCs. 
This event loop conflict was in general a problem with RPC programming 
with GUIs. The best solution is to integrate the two event loops using 
io_add_watch but that would entail throwing away the python speechd api 
and you would not have to use threads. This is the course I would take 
if I was doing your project.

If you want to use the speechd python api you have to make your pygtk 
program threaded and that is more than just calling threads_init. Others 
on this list can point you to a list of best practices for threading in 
pygtk.

John



reply via email to

[Prev in Thread] Current Thread [Next in Thread]