Coding at Windmills

Sean Wallitsch’s GitHub Blog

about me

I do photography, visual effects, python and more. In my free time I game, hike around and raise my family.

found on

contact at

Building a Better `nuke.allNodes`

- - posted in nuke, python

Nuke’s built in nuke.allNodes() function offers two very useful features- the ability to filter for a single node class, and the ability to recurse deep into groups. What it doesn’t offer is the ability to do both at once. If you set a filter class and recurseGroups=True, the recurseGroups argument will be ignored and only the first level results will be found. Also of importance is that Nuke attempts to derive what Group you want to search within if you don’t provide a group argument, but it usually guesses poorly. Let’s fix those bugs as easily as we can.

SMPTE Timecode Segment

- - posted in editing, python, vfx

While developing a test suite for another project, I started writing a bit of python to generate SMPTE timecode- start, end, and duration. I needed to have the ability for it to generate random timecode as well.

Nuke Python Module Tips

- - posted in dev, nuke, python

Using the Nuke 8 python module allows us to use Nuke in a lot of great ways, but there are some tricks to using it correctly. I’ll cover adding the Nuke library to the python path, using Nuke in a tool with command line arguments, and some common errors.

Controlling Nuke LUT Behavior

- - posted in dev, luts, nuke, python

The LUT implementation steps that Foundry advises for both 1D and 3D LUTs can use some work. By default, the 1D LUTs affect every channel (even alphas). For 3D LUTs it depends on the node used, but problems can vary from only affecting the default rgb to touching every layer- even data layers.