Settings and Macros/Macro Structure

From VFXPedia

Jump to: navigation, search

Example of Macro Structure and Tags Description

{
	Tools = ordered() {
		MacroName = MacroOperator {			 	-- required, defines the macro name in the flow. MacroOperator can be changed to GroupOperator to have a possibility to expand the macro like a group
			Inputs = ordered() {				-- required, the list of image and value inputs
				Comments = Input {			-- optional, adds information to the Comments tab
					Value = "Comment text\nAnoter line of the comment",
				},
				EffectMask = InstanceInput {		-- standard lavender colored EffectMask input (effectively, an image input). Can be the only one. EffectMask1, 2, 3 etc. will be white or will inherit original input's color.
					SourceOp = "ToolName", 		-- required, the name of the tool which EffectMask input is exposed
					Source = "EffectMask",		-- required, the name of the exposed EffectMask input or Image input
					Name = "Exposed Input Name",	-- optional, redefines the name of the node input displayed in the tool tip when you hover the mouse over it. "EffectMask" or whatever you change it to will still be referred in scripts and simple expressions
				},
				MainInput1 = InstanceInput {		-- a node input. The first mentioned node input is yellow, second is green, then rose, light violet ad others are white. You can change MainInput1 to any other name without spaces to be displayed in the status bar when you hover the mouse over the node input and to be used in scripts and expressions.
					SourceOp = "ToolName", 		-- required, the name of the tool which Image input is exposed
					Source = "OriginalInputName",	-- required, the name of the exposed Image input
					Name = "Exposed Input Name",	-- optional, redefines the name of the node input displayed in the tool tip when you hover the mouse over it. "MainInput1" or whatever you change it to will still be referred in scripts and simple expressions
				},
				Input1 = InstanceInput {		-- a Control Panel input. Numbers don't affect the controls order, they just have to be unique for each input. You can also use custom input IDs instead of Input1, 2, 3 etc. which will be used in scripts, simple expressions and displayed in the status bar
					SourceOp = "ToolName", 		-- required, the name of the tool from which the input is taken
					Source = "OriginalControlName",	-- required, the name of the exposed control
					Page = "Tab Name",		-- optional, puts this and all the following controls to a tab with this name
					ControlGroup = 1,		-- optional, puts compound controls such as color or range controls together. The number may be any, but it has to be unique for every group.
					Name = "Exposed Control Name",	-- optional, redefines the name of the control on the control panel. "Input1" or whatever you change it to will still be referred in scripts and simple expressions
					Disabled = true,
					MinScale = 0,			-- optional, defines the lower default limit of sliders and range controls
					MaxScale = 1,			-- optional, defines the upper default limit of sliders and range controls
					Default = 1,			-- optional, defines the default parameter value. Has a lower priority if the value is set in the Tool description, but always defines the position of the small light dot which shows the default value of a slider and resets the value.
				}
			},
			Outputs = {
				MainOutput1 = InstanceOutput {		-- node output (Red square). There may be multiple outputs from a single tool, although it's not standard approach in Fusion. You can change MainOutput1 to any other name without spaces to be displayed in the status bar when you hover the mouse over the node input and to be used in scripts and expressions.
					SourceOp = "ToolName",
					Source = "Output",
				},
			},
			Tools = ordered() {			 	-- required, list of the tools included into the macro
			},
			Colors = {					-- optional, defines the colors of the node's tile and name
				TileColor = { R = 0.6, G = 0.5, B = 0.2, },
				TextColor = { R = 0.862745098039216, G = 0.862745098039216, B = 0.862745098039216, },
			},
			CustomData = {					
				HelpPage = "http://www.vfxpedia.com/",  -- optional, defines a web page which is displayed once you select the node and press F1 (Fusion 6.31 or later)
			},
		},
	},
}

Gregory Chalenko
www.compositing.tv