User guide
223
def runMyOption(**kwargs):
print(“My Render Farm Menu Option has been clicked”)
def onStartup(**kwargs):
FarmAPI.AddFarmPopupMenuOption("My Render Farm Menu
Option", runMyOption)
Callbacks.addCallback(Callbacks.Type.onStartup, onStartup)
Farm Node Parameters
The Farm API provides a mechanism for storing persistent settings in a Katana recipe. These settings appear as
parameters under a farmSettings parameter on nodes of type Render, ImageWrite or RenderScript. You can add
parameters of the following types:
• String
• StringArray
• Number
• NumberArray
As with menu items, these settings must be registered when the onStartup() handler in invoked. For example:
from Katana import FarmAPI, Callbacks
def onStartup(**kwargs):
FarmAPI.AddFarmSettingString("My_Custom_Farm_Parameter")
Callbacks.addCallback(Callbacks.Type.onStartup, onStartup)
All settings can have UI hints. Array settings can be constructed with an initial size, and single value settings can be
constructed with a default value.
NOTE: The Farm API function GetAddedFarmSettings() returns a dictionary of any added settings.
NOTE: The function ExtractFarmSettingsFromNode() returns a dictionary of the values of any added
settings on a given node.
The Farm API automatically registers default settings. The documentation for these settings can be found in the
Parameters tab by clicking on the help icon to the left of a parameter's name.
• setActiveFrameRange
The frame range to process on the farm.
• dependAll
28 RENDER FARM API | FARM MENU OPTIONS