For me, the event loop version is conceptually simpler because it is integrated with the mechanism that dispatches mouse events.  But that means to you need to understand how to integrate it with the application event loop, where the details vary with which GUI toolkit is used.  The ReadStdin version just uses Chimera abstractions, so that is very appealing.  Both techniques will work with ChimeraX.

   -- Greg

On 2/5/2016 11:31 AM, Dougherty, Matthew T wrote:

I am leaning toward this

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


any advantage of one over the other?

will this work for chimera2?



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



From: Greg Couch <gregc@cgl.ucsf.edu>
Sent: Friday, February 5, 2016 1:05 PM
To: Dougherty, Matthew T; chimera-dev@cgl.ucsf.edu
Subject: Re: [chimera-dev] event loop
 
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