Hi. I've had some advice on this from various folks, one of whom is a Pure Data developer, and they pointed out that, as a separate process, I can set audio to a higher priority than the GUI. I've looked at a few references, and now I think this is the way to go to avoid GUI-induced dropouts in my Python sequencer: Import the csnd library. Run a dummy .csd whenever the user wants to query for audio devices; parse the output for available devices. When the user hits play(), start another instance of *python*, using the Csound API within it to perform a realtime score. Drop the priority (or raise the nice level, on Unix) of the parent process. Pipe rt line events to the audio process from the parent process. On stop(), kill the child process, like the godless Democrat I am, and reset the GUI's priority/nice level. The reason for using an instance of Python running the API instead of just starting a Csound instance for audio is twofold: I've already included the module in my app to query audio devices, and it's simpler to distribute Csound with my app as a Python module than as a separate executable. Does anyone have any thoughts on how well this will work? It'll be some work to set it up, but hopefully I can at least test the priority thing this weekend. I've known for a while that Pure Data works as several processes, one of which is basically Wish, but never quite understood why. And Python doesn't let one set threads to different priorities. -Chuckk -- http://www.badmuthahubbard.com