Use the (Tcl) event loop.  If you run the interface in a separate process, then you have chimera's event loop invoke a callback when there is data to be read on the socket connecting the two processes.  That is what's done to implement the --send command line option.  See DBPuppet/tcl_sockets.py for details.

An alternative would be to use threads where the queue is checked every frame.  See ReadStdin/__init__.py for details there.

    HTH,

   Greg

On 2/4/2016 2:37 PM, Dougherty, Matthew T wrote:

I am working on a human interface for volume rendering.


The livid ds1 mixer uses midi through USB.

http://lividinstruments.com/products/ds1/


I should be able to use python midi libraries for access. 


This leads to the problem of the midi implementation, and a question as to a similar implementation for chimera2.


One implementation would insert into the event loop, another approach could be tied to a frame/trigger callback. 


Any suggestions?


Matthew Dougherty
National Center for Macromolecular Imaging
Baylor College of Medicine
=================================================
=================================================


_______________________________________________
Chimera-dev mailing list
Chimera-dev@cgl.ucsf.edu
http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-dev