pyblish / pyblish-qml

Pyblish QML frontend for Maya 2013+, Houdini 11+, Nuke 8+ and more
GNU Lesser General Public License v3.0
115 stars 44 forks source link

Blender Support #321

Closed mottosso closed 5 years ago

mottosso commented 5 years ago

Building upon #320, this PR adds support for Blender.

The trick here is passing data between threads using a native Queue. A polling operator is added to Blender, which continuously polls a queue for things to do. When QML has a task for Blender, it's added to this queue, Blender runs it, and adds to another queue for QML to pick up the result.

It's currently running at 10 ms intervals, including when the GUI isn't visible, which isn't ideal and could be optimised away. E.g. stop polling when GUI is closed.