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(a)cgl.ucsf.edu>
> *Sent:* Friday, February 5, 2016 1:05 PM
> *To:* Dougherty, Matthew T; chimera-dev(a)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(a)cgl.ucsf.edu
>> http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-dev
>
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
=================================================
=================================================