General tags for Inputs & Outputs
| Tag | Type | Description |
|---|---|---|
| LINKID_DataType | String | Inputs & Outputs can only connect when they share the same DataType. |
| LINKS_Name | String | The name of this Link. Also used for labels in the Inspector. |
| LINKID_ID | String | The ID of this Link. Also its key in the UserControls object in macros. Should not contain spaces. |
| LINK_Main | Number | Inputs/Outputs with LINK_Main set to a positive integer show up as Inputs/Outputs on the Node in the flow view. The first 4 Main input's have a special color assigned to them. LINK_Main also works on non-Image outputs! |
| LINK_NotColored | Bool | Override the Default Yellow, Green etc. colors for LINK_Main Inputs. |
| LINK_ForceSave | Bool | Always save this Link, even if it has not changed from it's default value. |
{
LINKID_DataType = "Image",
LINK_Main = 1,
}
Available DataTypes for Inputs & Outputs
| DataType | Type | Related Classes |
|---|---|---|
| Image | Image | Image |
| Number | Number | SliderControl, ScrewControl, CheckboxControl, ComboIDControl, AngleControl, RectangleControl, EllipseControl, ColorControl, RangeControl |
| Point | Point | OffsetControl, CrosshairControl |
| Text | Text | TextEditControl |
| FuID | FuID | FuID, FuIDParam, ComboIDControl |
| ScriptVal | Table | ScriptVal, ScriptValParam |
{
LINKID_DataType = "Number"
}
In Fuses, Inputs & Outputs are created with the self:AddInput() and self:AddOutput() functions.
self:AddInput(name, id, tags) | self:AddOutput(name, id, tags)
| Argument | Type | Description |
|---|---|---|
| name | String | Input/Output display name. |
| id | String | Input/Output script ID (no spaces). |
| tags | Table | A table of {tag = value} entries. |
InControl = self:AddInput("ControlName", "ControlID", {
LINKID_DataType = "Number",
INPID_InputControl = "SliderControl",
})
In Macros, user created Inputs are stored in the UserControls table.
{
Tools = ordered() {
Background1 = Background {
UserControls = ordered() {
ControlID = {
LINKS_Name = "ControlName",
LINKID_DataType = "Number",
INPID_InputControl = "SliderControl",
}
}
}
}
}
General tags for Inputs.
| Tag | Type | Description |
|---|---|---|
| INP_External | Bool | External Inputs can be connected to an external source for Animation and Expressions. |
| INP_Passive | Bool | Changes to this input don't change the output of this tool. |
| INP_InteractivePassive | Bool | Like INP_Passive but keeps Undo events. |
| INP_AddModifier | String | Class ID of a CT_Modifier to create connected to this Input. |
| INP_DoNotifyChanged | Bool | Changes to this input fire the NotifyChanged event. |
| INP_InitialNotify | Bool | Are NotifyChanged events fired when the tool is first added to the flow. |
| INP_Required | Bool | This Input is required, and the tool will automatically fail if it is not connected. |
| INP_SendRequest | Bool | Send requests to connected tools for this Input prior to calling Process(). |
General tags for Inputs with DataType "Number".
| Tag | Type | Description |
|---|---|---|
| INP_Default | Number | Default value for Number Inputs. |
| INP_MinAllowed | Number | Do not allow this Number to be set below this value. |
| INP_MaxAllowed | Number | Do not allow this Number to be set above this value. |
| INP_MinScale | Number | The highest value on a slider. |
| INP_MaxScale | Number | The lowest value on a slider. |
| INP_Integer | Bool | Must be integer values only. |
| INP_SplineType | String | What type of easing is used when interpolating between keyframes. |
General tags for Inputs with DataType "Point"
| Tag | Type | Description |
|---|---|---|
| INP_DefaultX | Number | Default X value for Point Inputs. |
| INP_DefaultY | Number | Default Y value for Point Inputs. |
General tags for Inputs with DataType "FuID"
| Tag | Type | Description |
|---|---|---|
| INPID_DefaultID | String | Default value for FuID Inputs. |
General tags for Inputs with DataType "Text"
| Tag | Type | Description |
|---|---|---|
| INPS_DefaultText | String | Default value for Text Inputs. |
General tags for Inputs in the Inspector window
| Tag | Type | Description |
|---|---|---|
| INPID_InputControl | String | The Class ID of an InputControl to use in the Inspector window. |
| IC_NoReset | Bool | Disable the keyframe column for this control. |
| IC_NoLabel | Bool | Disable the label column for this control. |
| ICD_Width | Number | A width of 1 fills an entire row. Multiple controls can share a row when their widths add up to 1. |
| ICD_Center | Number | If a center position is defined a slider will have different scales to the left and right of it, depending on INP_MinScale and INP_MaxScale. |
| IC_ControlGroup | Number | InputControls with the same ControlGroup number are in the same group. |
| IC_ControlID | Number | ControlID specifies which Input this is within the ControlGroup. |
| IC_Visible | Bool | Hides the Input from the Inspector window. |
| IC_Disabled | Bool | Disables controls from the Inspector window. |
| IC_DisplayedPrecision | Number | How many digits are shown after the decimal point in the Inspector. |
| IC_ControlPage | Number | Control page number to add this InputControl to. A special control page, numbered -1, is always visable at the top of the inspector. |
| ICS_ControlPage | String | ID of a control page to add this InputControl to. |
{
INPID_InputControl = "SliderControl",
}
An InputControl for adding extra info to the Inspector window. LabelControl can also be used to create Control Nests using the self:BeginControlNest() and self:EndControlNest() methods in Fuses. LabelControl can be used with any DataType.
| Tag | Type | Description |
|---|---|---|
| LBLC_MultiLine | Bool | The height of this LabelControl adapts to fit the content. <br> starts a new line. |
| LBLC_DropDownButton | Bool | Hides/Shows the Dropdown Arrow for NestControls. |
| LBLC_NumInputs | Number | How many inputs are Hidden with this Nest. |
| <br> | HTML | Line break in LINKS_Name. |
| <b> | HTML | Bold text in LINKS_Name. |
| <i> | HTML | Italic text in LINKS_Name. |
| <h1,h2,h3,h4,h5> | HTML | Headers in LINKS_Name. |
| <font color=#ffffff> | HTML | Font color in LINKS_Name. |
{
LINKS_Name = "<b>My Bold Title</b>",
LINKID_DataType = "Number",
INPID_InputControl = "LabelControl",
INP_External = false,
INP_Passive = true,
}
An InputControl for Number Inputs.
| Tag | Type | Description |
|---|---|---|
| SLCS_LowName | String | An extra label below the left side of the slider. |
| SLCS_HighName | String | An extra label below the right side of the slider. |
| SLCS_MidName | String | An extra label below the middle of the slider. |
{
LINKID_DataType = "Number",
INPID_InputControl = "SliderControl",
INP_Default = 1.0,
INP_MinScale = 0.0,
INP_MaxScale = 5.0,
ICD_Center = 1.0,
}
An InputControl for Number Inputs.
{
LINKID_DataType = "Number",
INPID_InputControl = "ScrewControl",
INP_Default = 0.0,
INP_MinScale = 0.0,
INP_MaxScale = 360.0,
}
An InputControl for Color Input ControlGroups. ControlID (0,1,2,3) is used to set the channel of each input in the group.
| Tag | Type | Description |
|---|---|---|
| CLRC_ColorSpace | String | HSL, HLS, YUV |
| CLRC_NoSliders | Bool | Hide the sliders below the color picker. |
| CLRC_ShowWheel | Bool | Shows a color wheel. |
An InputControl for pairs of Number Input ControlGroups representing a Low to High range. ControlID (0,1) is used for each input.
| Tag | Type | Description |
|---|---|---|
| RNGCS_LowName | String | Adds an additional label below the left side of the slider. |
| RNGCS_MidName | String | Adds an additional label below the middle of the slider. |
| RNGCS_HighName | String | Adds an additional label below the right side of the slider. |
An InputControl for Number Inputs.
| Tag | Type | Description |
|---|---|---|
| CBC_TriState | Bool | Adds a third state beyond On/Off. |
{
LINKID_DataType = "Number",
INPID_InputControl = "CheckboxControl",
INP_Integer = true,
INP_Default = 1.0, -- start enabled
}
An InputControl for momentary push buttons.
| Tag | Type | Description |
|---|---|---|
| BTNCS_Execute | String | A lua script to be run when the button is pressed. |
{
LINKS_Name = "Press Me!",
INPID_InputControl = "ButtonControl",
INP_External = false,
BTNCS_Execute = "print('hello lua')",
}
An InputControl for Point Inputs.
{
LINKID_DataType = "Point",
INPID_InputControl = "OffsetControl",
INP_DefaultX = 0.5,
INP_DefaultY = 0.5,
}
An InputControl for DataType Number dropdown Inputs. Holds the item number selected.
| Tag | Type | Description |
|---|---|---|
| CCS_AddString | String+ | Add a new entry to the dropdown. |
| CCS_AddSeparator | String+ | Add a separator to the dropdown, value is ignored. |
{
LINKID_DataType = "Number",
INPID_InputControl = "ComboControl",
INP_Default = 0,
[1] = { CCS_AddString = "Cavas" },
[2] = { CCS_AddString = "Wrap" },
[3] = { CCS_AddString = "Duplicate" },
}
An InputControl for DataType FuID dropdown Inputs.
| Tag | Type | Description |
|---|---|---|
| CCS_AddString | String+ | Add a new entry to the dropdown. |
| CCID_AddID | FuID+ | Insert after CCS_AddString to set the FuID value it returns when selected. |
| CCS_AddSeparator | String+ | Add a separator to the dropdown, value is ignored. |
An InputControl for mutually exclusive buttons.
| Tag | Type | Description |
|---|---|---|
| MBTNC_AddButton | String+ | Add a new button to the group. |
| MBTNCS_ToolTip | String+ | Follows MBTNC_AddButton, sets the hover text. |
| MBTNC_StretchToFit | Bool | Stretch buttons to fill the width of the control. |
| MBTNC_Type | Bool | Normal, Toggle, TriState |
An InputControl for DataType Text.
| Tag | Type | Description |
|---|---|---|
| TEC_Lines | Number | Number of lines to display. |
{
LINKID_DataType = "Text",
INPID_InputControl = "TextEditControl",
INPS_DefaultText = "Hello World",
TEC_Lines = 1,
}
An InputControl for Selecting a File Path.
| Tag | Type | Description |
|---|---|---|
| FC_PathBrowse | Bool | Select files or folders. |
| FC_ClipBrowse | Bool | Select single Images or Image sequences. |
| FCS_FilterString | String | Only show certain file types. Example: "png files (*.png)" |
General tags for Inputs in the viewer
| Tag | Type | Description |
|---|---|---|
| INPID_PreviewControl | String | The Class ID of a PreviewControl to use in the Viewer. |
| PC_Visible | Bool | Hides the PreviewControl from the viewer. |
| PC_Disabled | Bool | Disables teh PreviewControl. |
| PC_ControlGroup | Number | PreviewControls with the same ControlGroup number are in the same group. |
| PC_ControlID | Number | This PreviewControls ID within its ControlGroup. |
| PC_GrabPriority | Number | The highest GrabPriority control is used when clicking an area with mulitiple PreviewControls in the viewer. |
{
LINKID_DataType = "Point",
INPID_PreviewControl = "CrosshairControl",
}
A PreviewControl for Point Inputs.
| Tag | Type | Description |
|---|---|---|
| CHC_Style | FuID | NormalCross, DiagonalCross, Rectangle, Circle, Rays |
{
LINKID_DataType = "Point",
INPID_InputControl = "OffsetControl",
INPID_PreviewControl = "CrosshairControl",
}
A PreviewControl for Rectangles. Connects to multiple inputs, but lives on the Width Input.
| Tag | Type | Description |
|---|---|---|
| PC_ControlID | Number | 0 = Width, 1 = Height (see PreivewControl) |
| Tag | Type | Description |
|---|---|---|
| RCID_Center | String | ID of an Input on this Node to be used as the center position. |
| RCID_CenterX | String | ID of an Input on this Node to be used for the X coordinate. |
| RCID_CenterY | String | ID of an Input on this Node to be used for the Y coordinate. |
| RCID_Angle | String | ID of an Input on this Node to be used for the angle of the rectangle. |
| Tag | Type | Description |
|---|---|---|
| RCP_Center | Input | Reference to an Input object to be used as the center position. |
| RCP_CenterX | Input | Reference to an Input object to be used as the X coordinate. |
| RCP_CenterY | Input | Reference to an Input object to be used as the Y coordinate. |
| RCP_Angle | Input | Reference to an Input object to be used as the angle. |
| Tag | Type | Description |
|---|---|---|
| RCD_LockAspect | Number | Use a fixed aspect ratio instead of a Height Input. |
| RCD_SetX | Number | Set a fixed X position. |
| RCD_SetY | Number | Set a fixed Y position. |
| RCD_SetAngle | Number | Set a fixed rotation. |
{
LINKS_Name = "Width",
LINKID_DataType = "Number",
INPID_InputControl = "SliderControl",
INPID_PreviewControl = "RectangleControl",
INP_Default = 0.5,
PC_ControlGroup = 0,
PC_ControlID = 0,
}
{
LINKS_Name = "Height",
LINKID_DataType = "Number",
INPID_InputControl = "SliderControl",
INPID_PreviewControl = "RectangleControl",
INP_Default = 0.5,
PC_ControlGroup = 0,
PC_ControlID = 1,
}
A PreviewControl for Ellipses & Circles. Connects to multiple inputs, but lives on the Width Input.
| Tag | Type | Description |
|---|---|---|
| PC_ControlID | Number | 0 = Width, 1 = Height (see PreivewControl) |
| Tag | Type | Description |
|---|---|---|
| ECID_Center | String | ID of an Input on this Node to be used as the center position. |
| ECID_CenterX | String | ID of an Input on this Node to be used for the X coordinate. |
| ECID_CenterY | String | ID of an Input on this Node to be used for the Y coordinate. |
| ECID_Angle | String | ID of an Input on this Node to be used for the angle of the ellipse. |
| Tag | Type | Description |
|---|---|---|
| ECP_Center | Input | Reference to an Input object to be used as the center position. |
| ECP_CenterX | Input | Reference to an Input object to be used as the X coordinate. |
| ECP_CenterY | Input | Reference to an Input object to be used as the Y coordinate. |
| ECP_Angle | Input | Reference to an Input object to be used as the angle. |
| Tag | Type | Description |
|---|---|---|
| ECD_LockAspect | Number | Use a fixed aspect ratio instead of a Height Input. |
| ECD_SetX | Number | Set a fixed X position. |
| ECD_SetY | Number | Set a fixed Y position. |
| ECD_SetAngle | Number | Set a fixed rotation. |
{
LINKS_Name = "Width",
LINKID_DataType = "Number",
INPID_InputControl = "SliderControl",
INPID_PreviewControl = "EllipseControl",
INP_Default = 0.5,
PC_ControlGroup = 0,
PC_ControlID = 0,
}
{
LINKS_Name = "Height",
LINKID_DataType = "Number",
INPID_InputControl = "SliderControl",
INPID_PreviewControl = "EllipseControl",
INP_Default = 0.5,
PC_ControlGroup = 0,
PC_ControlID = 1,
}
A PreviewControl for Numbers.
| Tag | Type | Description |
|---|---|---|
| ACID_Center | String | ID of an Input on this Node to be used as the center position. |
{
LINKID_DataType = "Number",
INPID_InputControl = "ScrewControl",
INPID_PreviewControl = "AngleControl",
ACID_Center = "Center",
}
Adding a UserControls slider to a Macro setting.
UserControls = ordered() {
MyControl = {
LINKS_Name = "MyControl",
LINKID_DataType = "Number",
INPID_InputControl = "SliderControl",
INP_Default = 0,
INP_MinScale = 0,
INP_MaxScale = 1,
}
}
Adding a slider control to a Fuse.
InMyControl = self:AddInput("MyControl", "MyControl", {
LINKID_DataType = "Number",
INPID_InputControl = "SliderControl",
INP_Default = 0,
INP_MinScale = 0,
INP_MaxScale = 1,
})
Transform controls in a fuse.
InCenter = self:AddInput("Center", "Center", {
LINKID_DataType = "Point",
INPID_InputControl = "OffsetControl",
INPID_PreviewControl = "CrosshairControl",
})
InSize = self:AddInput("Size", "Size", {
LINKID_DataType = "Number",
INPID_InputControl = "SliderControl",
INP_Default = 1.0,
INP_MaxScale = 5.0,
ICD_Center = 1.0,
INPID_PreviewControl = "RectangleControl",
RCID_Center = "Center",
RCID_Angle = "Angle",
RCD_LockAspect = 1.0,
})
InAngle = self:AddInput("Angle", "Angle", {
LINKID_DataType = "Number",
INPID_InputControl = "ScrewControl",
INP_MaxScale = 360,
INPID_PreviewControl = "AngleControl",
ACID_Center = "Center",
})
General tags for FuRegisterClass
| Tag | Type | Description |
|---|---|---|
| REGS_Name | String | Node name |
| REGS_URL | String | Product / Company URL. |
| REGS_HelpTopic | String | Documentation / Support URL. |
| REGS_VersionString | String | Usually a build date. |
| REG_Version | Number | Version number. |
| REGS_OpIconString | String | String used in Toolbars (short). |
| REGS_Company | String | Company name used in about page. |
| REG_TimeVariant | Bool | The output of the tool changes with the frame number. |
| REG_Unpredictable | Bool | Avoid caching this tool. |
| REGB_Temporal | Bool | Synonym for REG_TimeVariant. |
| REG_NoCommonCtrls | Bool | Disable all common controls (such as Blend). |
| REG_OpNoMask | Bool | Disable the mask Input. |
| REG_NoPreCalcProcess | Bool | Use the main Process() function instead of PreCalcProcess(). |
Modifier specific tags for FuRegisterClass
| REGID_DataType | FuID | Main Operator Output DataType. |
| REGID_InputDataType | FuID | Main Operator Input DataType. |
Fuse specific tags for FuRegisterClass
| Tag | Type | Description |
|---|---|---|
| REG_Fuse_NoEdit | Bool | Disable the Edit button in inspector. |
| REG_Fuse_NoReload | Bool | Disable the Reload button in inspector. |