Gaffer for pipeline – part 4 – which version?

When writing pipeline tools, it’s often useful to know which Gaffer version you are running in. In python, the Gaffer.About module is your friend:

import Gaffer
print( Gaffer.About.versionString() )
print( Gaffer.About.majorVersion(), Gaffer.About.minorVersion() )

We also define a (script + ABI) ‘compatibility’ version, that, as we use SemVer – is effectively tied to the milestone + major version:

print( Gaffer.About.compatibilityVersion() )

Gaffer for pipeline – part 3 – Compute cache size

Like many other applications that calculate data on-demand, Gaffer has a memory cache that can increase performance in UI sessions if you have RAM to spare.

The default size (1GB) is somewhat conservative as to ensure we don’t use up all the resources of more modest machines when Gaffer is used out-the-box. It is easy to increase the limit though, which can bring performance gains in real-world production scenarios.

Continue reading “Gaffer for pipeline – part 3 – Compute cache size”

Gaffer for pipeline – part 1 – App structure and startup

It can be hard to know where to start when you first start integrating a new application into a pipeline. This post is the first part in a series that takes a bottom-up approach and brings together a few helpful links for getting started with Gaffer configuration, scripting and development.

In this part, we take a look at how the gaffer application is structured, and what happens at startup.

Continue reading “Gaffer for pipeline – part 1 – App structure and startup”

Automatic Connections to New Nodes

When creating Switch, Group, or Parent nodes in the Graph Editor, Gaffer will automatically connect your current selection to the new node. Sometimes, though, you will end up with an array of connections that are all out-of-order and crossed-up. Fortunately, there is a simple trick you can use to guarantee the correct order.

Continue reading “Automatic Connections to New Nodes”