Macro for Resolve 16 | Custom Controls reset on every restart

User avatar
jacky-red
Posts: 1
Joined: Mon Jul 29, 2019 3:06 am

Macro for Resolve 16 | Custom Controls reset on every restart

#1

Post by jacky-red » Wed Aug 14, 2019 7:33 am

Hello everyone,

I am pretty new to the fusion world, but already understood, mostly thanks to this forum, how to deal with the LUA array textfiles in general. My macro itself seems to work fine, but there's a catch. When I save the project and restart DaVinci Resolve the changes I made to the custom control parameters are reset to default.

Here is my code, hope you guys have a glue why this is happening...
Code: [Select all] [Expand/Collapse] [Download] (Titlecard.setting)
  1. {
  2.     Tools = ordered() {
  3.         MAN_Titlecard = MacroOperator {
  4.             CtrlWZoom = false,
  5.             Inputs = ordered() {
  6.                 TextEditTitel = Input { Value = "your text goes here", },
  7.             },
  8.             Outputs = {
  9.                 Output2 = InstanceOutput {
  10.                     SourceOp = "LessRender2SourceTime",
  11.                     Source = "Value",
  12.                 },
  13.                 MainOutput1 = InstanceOutput {
  14.                     SourceOp = "MasterMerge",
  15.                     Source = "Output",
  16.                 }
  17.             },
  18.             ViewInfo = GroupInfo {
  19.                 Pos = { 410.667, 2.51515 },
  20.                 Flags = {
  21.                     Expanded = true,
  22.                     AllowPan = false,
  23.                     AutoSnap = true,
  24.                     RemoveRouters = true
  25.                 },
  26.                 Size = { 563.993, 428.212, 281.996, 24.2424 },
  27.                 Direction = "Horizontal",
  28.                 PipeStyle = "Direct",
  29.                 Scale = 1,
  30.                 Offset = { 0, 0 }
  31.             },
  32.             Tools = ordered() {
  33.                 MovingMask = TextPlus {
  34.                     CtrlWShown = false,
  35.                     NameSet = true,
  36.                     SourceOp = "Title",
  37.                     Inputs = {
  38.                         EffectMask = Input { },
  39.                         SettingsNest = Input { },
  40.                         ImageNest = Input { },
  41.                         ["Gamut.ColorSpaceNest"] = Input { },
  42.                         ["Gamut.GammaSpaceNest"] = Input { },
  43.                         Layout = Input { },
  44.                         LayoutSize = Input { Expression = "MAN_Titlecard.SliderTextSize" },
  45.                         LayoutRotation = Input { },
  46.                         Background = Input { },
  47.                         TransformTransform = Input { },
  48.                         TransformRotation = Input { },
  49.                         TransformShear = Input { },
  50.                         TransformSize = Input { },
  51.                         Enabled1 = Input { Value = 0, },
  52.                         Properties1 = Input { },
  53.                         ColorImage1 = Input { },
  54.                         Softness1 = Input { },
  55.                         Position1 = Input { Value = 1, },
  56.                         Rotation1 = Input { },
  57.                         Shear1 = Input { },
  58.                         Size1 = Input { },
  59.                         TextText = Input { },
  60.                         StyledText = Input {
  61.                             Value = "YOUR TEXT GOES HERE",
  62.                             Expression = "string.upper(MAN_Titlecard.TextEditTitel.Value)"
  63.                         },
  64.                         AdvancedFontControls = Input { },
  65.                         ClearManualKerningPlacementOnSelection = Input { },
  66.                         ClearAllManualKerningPlacement = Input { },
  67.                         Internal = Input { },
  68.                         TabSpacing = Input { },
  69.                         CommentsNest = Input { },
  70.                         FrameRenderScriptNest = Input { },
  71.                         StartRenderScripts = Input { },
  72.                         EndRenderScripts = Input { },
  73.                         Properties4 = Input { },
  74.                         Red4 = Input { Expression = "MAN_Titlecard.RedColorText" },
  75.                         Green4 = Input {
  76.                             Value = 0.5333333333333,
  77.                             Expression = "MAN_Titlecard.GreenColorText"
  78.                         },
  79.                         Blue4 = Input {
  80.                             Value = 0.7960784313725,
  81.                             Expression = "MAN_Titlecard.BlueColorText"
  82.                         },
  83.                         Alpha4 = Input { Expression = "MAN_Titlecard.AlphaColorText" },
  84.                         Softness4 = Input { },
  85.                         Position4 = Input { Value = 1, },
  86.                         Rotation4 = Input { },
  87.                         Shear4 = Input { },
  88.                         Size4 = Input { },
  89.                     },
  90.                     ViewInfo = OperatorInfo { Pos = { -193.496, 35.0603 } },
  91.                     UserControls = ordered() { NewText = { TEC_ReadOnly = false, LINKID_DataType = "Text", LINKS_Name = "Text", INPID_InputControl = "TextEditControl", TEC_Wrap = true, } }
  92.                 },
  93.                 PopupMask = TextPlus {
  94.                     CtrlWShown = false,
  95.                     NameSet = true,
  96.                     SourceOp = "Title",
  97.                     Inputs = {
  98.                         EffectMask = Input { },
  99.                         SettingsNest = Input { },
  100.                         ImageNest = Input { },
  101.                         ["Gamut.ColorSpaceNest"] = Input { },
  102.                         ["Gamut.GammaSpaceNest"] = Input { },
  103.                         Layout = Input { },
  104.                         Center = Input { Value = { 0.5, 0.5025 }, },
  105.                         LayoutSize = Input { Expression = "MAN_Titlecard.SliderTextSize" },
  106.                         LayoutRotation = Input { },
  107.                         Background = Input { },
  108.                         TransformTransform = Input { },
  109.                         TransformRotation = Input { },
  110.                         TransformShear = Input { },
  111.                         TransformSize = Input { },
  112.                         Enabled1 = Input { Value = 0, },
  113.                         Properties1 = Input { },
  114.                         ColorImage1 = Input { },
  115.                         Softness1 = Input { },
  116.                         Position1 = Input { Value = 1, },
  117.                         Rotation1 = Input { },
  118.                         Shear1 = Input { },
  119.                         Size1 = Input { },
  120.                         TextText = Input { },
  121.                         StyledText = Input {
  122.                             Value = "YOUR TEXT GOES HERE",
  123.                             Expression = "string.upper(MAN_Titlecard.TextEditTitel.Value)"
  124.                         },
  125.                         AdvancedFontControls = Input { },
  126.                         ClearManualKerningPlacementOnSelection = Input { },
  127.                         ClearAllManualKerningPlacement = Input { },
  128.                         Internal = Input { },
  129.                         TabSpacing = Input { },
  130.                         CommentsNest = Input { },
  131.                         FrameRenderScriptNest = Input { },
  132.                         StartRenderScripts = Input { },
  133.                         EndRenderScripts = Input { },
  134.                         Properties4 = Input { },
  135.                         Red4 = Input { Expression = "MAN_Titlecard.RedColorText" },
  136.                         Green4 = Input {
  137.                             Value = 0.5333333333333,
  138.                             Expression = "MAN_Titlecard.GreenColorText"
  139.                         },
  140.                         Blue4 = Input {
  141.                             Value = 0.7960784313725,
  142.                             Expression = "MAN_Titlecard.BlueColorText"
  143.                         },
  144.                         Alpha4 = Input { Expression = "MAN_Titlecard.AlphaColorText" },
  145.                         Softness4 = Input { },
  146.                         Position4 = Input { Value = 1, },
  147.                         Rotation4 = Input { },
  148.                         Shear4 = Input { },
  149.                         Size4 = Input { },
  150.                     },
  151.                     ViewInfo = OperatorInfo { Pos = { -193.496, 101.061 } },
  152.                     UserControls = ordered() { NewText = { TEC_ReadOnly = false, LINKID_DataType = "Text", LINKS_Name = "Text", INPID_InputControl = "TextEditControl", TEC_Wrap = true, } }
  153.                 },
  154.                 MaskMerge = Merge {
  155.                     CtrlWShown = false,
  156.                     NameSet = true,
  157.                     Inputs = {
  158.                         EffectMask = Input {
  159.                             SourceOp = "PopupMask",
  160.                             Source = "Output",
  161.                         },
  162.                         Background = Input {
  163.                             SourceOp = "Alpha2",
  164.                             Source = "Output",
  165.                         },
  166.                         Foreground = Input {
  167.                             SourceOp = "Title",
  168.                             Source = "Output",
  169.                         },
  170.                         PerformDepthMerge = Input { Value = 0, },
  171.                     },
  172.                     ViewInfo = OperatorInfo { Pos = { -83.496, 68.0603 } },
  173.                 },
  174.                 Stroke = Paint {
  175.                     CtrlWShown = false,
  176.                     NameSet = true,
  177.                     Inputs = {
  178.                         Input = Input {
  179.                             SourceOp = "Alpha",
  180.                             Source = "Output",
  181.                         },
  182.                         Paint = Input {
  183.                             SourceOp = "PolylineStroke2",
  184.                             Source = "Out",
  185.                         },
  186.                     },
  187.                     ViewInfo = OperatorInfo { Pos = { -83.496, 167.061 } },
  188.                 },
  189.                 PolylineStroke2 = PolylineStroke {
  190.                     Points = {
  191.                     },
  192.                     IsThreaded = true,
  193.                     Brushes = { "RectBrush" },
  194.                     ApplyModes = { "PaintApplyColor" },
  195.                     Inputs = {
  196.                         ["SoftBrush.Softness"] = Input { Value = 0.001, },
  197.                         ["SoftBrush.Size"] = Input { Value = 0.0126, },
  198.                         BrushControls = Input { Value = 1, },
  199.                         BrushShape = Input { Value = FuID { "RectBrush" }, },
  200.                         ["RectBrush.Size"] = Input { Value = 0.0154, },
  201.                         ["PaintApplyColor.Red"] = Input {
  202.                             Value = 0,
  203.                             Expression = "MAN_Titlecard.RedColorBorder",
  204.                         },
  205.                         ["PaintApplyColor.Green"] = Input {
  206.                             Value = 0.5333333333333,
  207.                             Expression = "MAN_Titlecard.GreenColorBorder",
  208.                         },
  209.                         ["PaintApplyColor.Blue"] = Input {
  210.                             Value = 0.7960784313725,
  211.                             Expression = "MAN_Titlecard.BlueColorBorder",
  212.                         },
  213.                         ["PaintApplyColor.Alpha"] = Input { Expression = "MAN_Titlecard.AlphaColorBorder", },
  214.                         StrokeControls = Input { Value = 1, },
  215.                         WriteOnStart = Input {
  216.                             SourceOp = "PolylineStroke2Start",
  217.                             Source = "Value",
  218.                         },
  219.                         WriteOnEnd = Input {
  220.                             SourceOp = "PolylineStroke2End",
  221.                             Source = "Value",
  222.                         },
  223.                         Polyline = Input {
  224.                             Value = Polyline {
  225.                                 Closed = true,
  226.                                 Points = {
  227.                                     { Linear = true, X = -0.5, Y = -0.5, LX = 0.333333333333333, LY = 0, RX = 0, RY = 0.333333333333333 },
  228.                                     { Linear = true, X = -0.5, Y = 0.5, LX = 0, LY = -0.333333333333333, RX = 0.333333333333333, RY = 0 },
  229.                                     { Linear = true, X = 0.5, Y = 0.5, LX = -0.333333333333333, LY = 0, RX = 0, RY = -0.333333333333333 },
  230.                                     { Linear = true, X = 0.5, Y = -0.5, LX = 0, LY = 0.333333333333333, RX = -0.333333333333333, RY = 0 }
  231.                                 }
  232.                             },
  233.                         },
  234.                     },
  235.                 },
  236.                 PolylineStroke2Start = BezierSpline {
  237.                     SplineColor = { Red = 232, Green = 6, Blue = 244 },
  238.                     CtrlWShown = false,
  239.                     NameSet = true,
  240.                     KeyFrames = {
  241.                         [7] = { 0.5, RH = { 23, 0.333333333333333 }, Flags = { Linear = true } },
  242.                         [55] = { 0, LH = { 0, 0 }, RH = { 91.6666666666667, -0.167 } },
  243.                         [165] = { -0.501, LH = { 128.333333333333, -0.334 }, RH = { 196, -0.5 }, Flags = { Linear = true } },
  244.                         [196] = { 0, LH = { 185.666666666667, -0.167 } }
  245.                     }
  246.                 },
  247.                 PolylineStroke2End = BezierSpline {
  248.                     SplineColor = { Red = 72, Green = 233, Blue = 54 },
  249.                     CtrlWShown = false,
  250.                     NameSet = true,
  251.                     KeyFrames = {
  252.                         [7] = { 0.5, RH = { 23, 0.666666666666667 }, Flags = { Linear = true } },
  253.                         [55] = { 1, LH = { 0, 1 }, RH = { 91.6666666666667, 0.833666666666667 } },
  254.                         [165] = { 0.501, LH = { 128.333333333333, 0.667333333333333 }, RH = { 196, 0.5 }, Flags = { Linear = true } },
  255.                         [196] = { 0, LH = { 185.666666666667, 0.167 } }
  256.                     }
  257.                 },
  258.                 Alpha = Background {
  259.                     CtrlWShown = false,
  260.                     NameSet = true,
  261.                     Inputs = {
  262.                         Width = Input { Value = 1920, },
  263.                         Height = Input { Value = 1080, },
  264.                         ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  265.                         TopLeftAlpha = Input { Value = 0, },
  266.                     },
  267.                     ViewInfo = OperatorInfo { Pos = { -83.496, 200.061 } },
  268.                 },
  269.                 Title = TextPlus {
  270.                     CtrlWShown = false,
  271.                     NameSet = true,
  272.                     Inputs = {
  273.                         Width = Input { Value = 1920, },
  274.                         Height = Input { Value = 1080, },
  275.                         UseFrameFormatSettings = Input { Value = 1, },
  276.                         ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  277.                         Center = Input {
  278.                             SourceOp = "Path2",
  279.                             Source = "Position",
  280.                         },
  281.                         LayoutSize = Input { Expression = "MAN_Titlecard.SliderTextSize", },
  282.                         SelectElement = Input { Value = 3, },
  283.                         Select = Input { Value = 3, },
  284.                         Enabled4 = Input { Value = 1, },
  285.                         Level1 = Input { Value = 1, },
  286.                         Red1 = Input { Value = 0, },
  287.                         Green1 = Input { Value = 0, },
  288.                         Blue1 = Input { Value = 0, },
  289.                         Alpha1 = Input { Value = 0, },
  290.                         Position1 = Input { Value = 1, },
  291.                         Level4 = Input { Value = 1, },
  292.                         ExtendHorizontal4 = Input { Value = -0.125, },
  293.                         ExtendVertical4 = Input { Value = -0.023, },
  294.                         Red4 = Input { Expression = "MAN_Titlecard.RedColorText", },
  295.                         Green4 = Input {
  296.                             Value = 0.5333333333333,
  297.                             Expression = "MAN_Titlecard.GreenColorText",
  298.                         },
  299.                         Blue4 = Input {
  300.                             Value = 0.7960784313725,
  301.                             Expression = "MAN_Titlecard.BlueColorText",
  302.                         },
  303.                         Alpha4 = Input { Expression = "MAN_Titlecard.AlphaColorText", },
  304.                         Position4 = Input { Value = 1, },
  305.                         Offset4 = Input { Value = { 0, 0.00375 }, },
  306.                         StyledText = Input {
  307.                             Value = "YOUR TEXT GOES HERE",
  308.                             Expression = "string.upper(MAN_Titlecard.TextEditTitel.Value)",
  309.                         },
  310.                         Font = Input { Value = "FaricyNew-Bold", },
  311.                         Style = Input { Value = "?", },
  312.                         Size = Input { Value = 0.052, },
  313.                         VerticalJustificationNew = Input { Value = 3, },
  314.                         HorizontalJustificationNew = Input { Value = 3, },
  315.                         UseFontDefinedKerning = Input { Value = 0, },
  316.                         ManualFontKerningPlacement = Input {
  317.                             Value = StyledText {
  318.                                 Array = {
  319.                                 },
  320.                                 Value = ""
  321.                             },
  322.                         },
  323.                         NewText = Input { Value = "MA-Network", },
  324.                     },
  325.                     ViewInfo = OperatorInfo { Pos = { 26.504, 101.061 } },
  326.                     UserControls = ordered() { NewText = { TEC_ReadOnly = false, LINKID_DataType = "Text", LINKS_Name = "Text", INPID_InputControl = "TextEditControl", TEC_Wrap = true, } }
  327.                 },
  328.                 LessRender2 = TimeStretcher {
  329.                     CtrlWShown = false,
  330.                     NameSet = true,
  331.                     Inputs = {
  332.                         SourceTime = Input {
  333.                             SourceOp = "LessRender2SourceTime",
  334.                             Source = "Value",
  335.                         },
  336.                         Input = Input {
  337.                             SourceOp = "Stroke",
  338.                             Source = "Output",
  339.                         },
  340.                     },
  341.                     ViewInfo = OperatorInfo { Pos = { 26.504, 167.061 } },
  342.                 },
  343.                 LessRender2SourceTime = BezierSpline {
  344.                     SplineColor = { Red = 233, Green = 217, Blue = 243 },
  345.                     CtrlWShown = false,
  346.                     NameSet = true,
  347.                     KeyFrames = {
  348.                         [7] = { 7, RH = { 23, 23 }, Flags = { Linear = true } },
  349.                         [55] = { 55, LH = { 39, 39 }, RH = { 91.6666666666667, 55 }, Flags = { Linear = true } },
  350.                         [165] = { 165, LH = { 165, 128.333333333333 }, RH = { 175.333333333333, 175.333333333333 }, Flags = { StepIn = true } },
  351.                         [196] = { 196, LH = { 185.666666666667, 185.666666666667 }, Flags = { Linear = true } }
  352.                     }
  353.                 },
  354.                 Alpha2 = Background {
  355.                     CtrlWShown = false,
  356.                     NameSet = true,
  357.                     Inputs = {
  358.                         Width = Input { Value = 1920, },
  359.                         Height = Input { Value = 1080, },
  360.                         UseFrameFormatSettings = Input { Value = 1, },
  361.                         ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  362.                         TopLeftAlpha = Input { Value = 0, },
  363.                     },
  364.                     ViewInfo = OperatorInfo { Pos = { 26.504, 68.0603 } },
  365.                 },
  366.                 Leuchten = Glow {
  367.                     CtrlWShown = false,
  368.                     NameSet = true,
  369.                     Inputs = {
  370.                         EffectMask = Input {
  371.                             SourceOp = "MovingMask",
  372.                             Source = "Output",
  373.                         },
  374.                         Blend = Input { Value = 0.276, },
  375.                         Filter = Input { Value = FuID { "Fast Gaussian" }, },
  376.                         Red = Input { Value = 0, },
  377.                         Green = Input { Value = 0, },
  378.                         Blue = Input { Value = 0, },
  379.                         XGlowSize = Input { Value = 3.9, },
  380.                         Glow = Input { Value = 0.567, },
  381.                         ClippingMode = Input { Value = FuID { "Domain" }, },
  382.                         ApplyMode = Input { Value = 1, },
  383.                         Input = Input {
  384.                             SourceOp = "MaskMerge",
  385.                             Source = "Output",
  386.                         },
  387.                     },
  388.                     ViewInfo = OperatorInfo { Pos = { 26.504, 35.0603 } },
  389.                 },
  390.                 Color = Background {
  391.                     CtrlWShown = false,
  392.                     NameSet = true,
  393.                     Inputs = {
  394.                         Width = Input { Value = 1920, },
  395.                         Height = Input { Value = 1080, },
  396.                         UseFrameFormatSettings = Input { Value = 1, },
  397.                         ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  398.                         TopLeftRed = Input {
  399.                             Value = 1,
  400.                             Expression = "MAN_Titlecard.RedColorBG",
  401.                         },
  402.                         TopLeftGreen = Input {
  403.                             Value = 1,
  404.                             Expression = "MAN_Titlecard.GreenColorBG",
  405.                         },
  406.                         TopLeftBlue = Input {
  407.                             Value = 1,
  408.                             Expression = "MAN_Titlecard.BlueColorBG",
  409.                         },
  410.                     },
  411.                     ViewInfo = OperatorInfo { Pos = { -83.496, 266.061 } },
  412.                 },
  413.                 ColorMerge = Merge {
  414.                     CtrlWShown = false,
  415.                     NameSet = true,
  416.                     Inputs = {
  417.                         EffectMask = Input {
  418.                             SourceOp = "SplitForAlpha",
  419.                             Source = "Image2",
  420.                         },
  421.                         Background = Input {
  422.                             SourceOp = "SplitForAlpha",
  423.                             Source = "Image1",
  424.                         },
  425.                         Foreground = Input {
  426.                             SourceOp = "Color",
  427.                             Source = "Output",
  428.                         },
  429.                         ApplyMode = Input { Value = FuID { "Color" }, },
  430.                         PerformDepthMerge = Input { Value = 0, },
  431.                     },
  432.                     ViewInfo = OperatorInfo { Pos = { 26.504, 266.061 } },
  433.                 },
  434.                 Striche = Underlay {
  435.                     CtrlWShown = false,
  436.                     NameSet = true,
  437.                     ViewInfo = UnderlayInfo {
  438.                         Pos = { -15.922, 150.697 },
  439.                         Size = { 258.738, 86 }
  440.                     },
  441.                 },
  442.                 LessRender1 = TimeStretcher {
  443.                     CtrlWShown = false,
  444.                     NameSet = true,
  445.                     Inputs = {
  446.                         SourceTime = Input {
  447.                             SourceOp = "LessRender1SourceTime",
  448.                             Source = "Value",
  449.                         },
  450.                         Input = Input {
  451.                             SourceOp = "Rand",
  452.                             Source = "Output",
  453.                         },
  454.                     },
  455.                     ViewInfo = OperatorInfo { Pos = { 165.001, 82.4998 } },
  456.                 },
  457.                 LessRender1SourceTime = BezierSpline {
  458.                     SplineColor = { Red = 233, Green = 217, Blue = 243 },
  459.                     CtrlWShown = false,
  460.                     NameSet = true,
  461.                     KeyFrames = {
  462.                         [30] = { 30, RH = { 39, 39 }, Flags = { Linear = true } },
  463.                         [57] = { 57, LH = { 48, 48 }, RH = { 89, 57 }, Flags = { Linear = true } },
  464.                         [153] = { 153, LH = { 153, 121 }, RH = { 162, 162 }, Flags = { StepIn = true } },
  465.                         [180] = { 180, LH = { 171, 171 }, Flags = { Linear = true } }
  466.                     }
  467.                 },
  468.                 MasterMerge = Merge {
  469.                     CtrlWZoom = false,
  470.                     CtrlWShown = false,
  471.                     NameSet = true,
  472.                     Inputs = {
  473.                         TextEditTitel = Input {
  474.                             Value = Text {
  475.                                 Value = "MA-Network"
  476.                             },
  477.                         },
  478.                         Background = Input {
  479.                             SourceOp = "PreMerge",
  480.                             Source = "Output",
  481.                         },
  482.                         Foreground = Input {
  483.                             SourceOp = "LessRender1",
  484.                             Source = "Output",
  485.                         },
  486.                         PerformDepthMerge = Input { Value = 0, },
  487.                     },
  488.                     ViewInfo = OperatorInfo { Pos = { 191.504, 134.061 } },
  489.                 },
  490.                 PreMerge = Merge {
  491.                     CtrlWShown = false,
  492.                     NameSet = true,
  493.                     Inputs = {
  494.                         Background = Input {
  495.                             SourceOp = "ColorMerge",
  496.                             Source = "Output",
  497.                         },
  498.                         Foreground = Input {
  499.                             SourceOp = "LessRender2",
  500.                             Source = "Output",
  501.                         },
  502.                         PerformDepthMerge = Input { Value = 0, },
  503.                     },
  504.                     ViewInfo = OperatorInfo { Pos = { 191.504, 167.061 } },
  505.                 },
  506.                 InOutAnim = Transform {
  507.                     CtrlWShown = false,
  508.                     NameSet = true,
  509.                     Inputs = {
  510.                         MotionBlur = Input { Value = 1, },
  511.                         Quality = Input { Value = 10, },
  512.                         ShutterAngle = Input { Value = 360, },
  513.                         SampleSpread = Input { Value = 5, },
  514.                         Size = Input {
  515.                             SourceOp = "InOutAnimSize",
  516.                             Source = "Value",
  517.                         },
  518.                         Input = Input {
  519.                             SourceOp = "ZoomIn",
  520.                             Source = "Output",
  521.                         },
  522.                     },
  523.                     ViewInfo = OperatorInfo { Pos = { -83.496, 299.061 } },
  524.                 },
  525.                 InOutAnimSize = BezierSpline {
  526.                     SplineColor = { Red = 225, Green = 0, Blue = 225 },
  527.                     CtrlWShown = false,
  528.                     NameSet = true,
  529.                     KeyFrames = {
  530.                         [0] = { 0, RH = { 22, -0.004 }, Flags = { Linear = true } },
  531.                         [28] = { 1, LH = { 6, 1 }, RH = { 79, 1 } },
  532.                         [181] = { 1, LH = { 130, 1 }, RH = { 203.05, 1 } },
  533.                         [209] = { 0, LH = { 186.9, 0 } }
  534.                     }
  535.                 },
  536.                 SplitForAlpha = Splitter {
  537.                     CtrlWShown = false,
  538.                     NameSet = true,
  539.                     CustomData = {
  540.                         ToolVersion = 2
  541.                     },
  542.                     Inputs = {
  543.                         Split = Input { Value = FuID { "None" }, },
  544.                         Input = Input {
  545.                             SourceOp = "InOutAnim",
  546.                             Source = "Output",
  547.                         },
  548.                     },
  549.                     ViewInfo = OperatorInfo { Pos = { 26.504, 299.061 } },
  550.                 },
  551.                 ZoomIn = Transform {
  552.                     CtrlWShown = false,
  553.                     NameSet = true,
  554.                     Inputs = {
  555.                         Size = Input {
  556.                             SourceOp = "ZoomInSize",
  557.                             Source = "Value",
  558.                         },
  559.                         Input = Input {
  560.                             SourceOp = "Background1",
  561.                             Source = "Output",
  562.                         },
  563.                     },
  564.                     ViewInfo = OperatorInfo { Pos = { -83.496, 332.061 } },
  565.                 },
  566.                 ZoomInSize = BezierSpline {
  567.                     SplineColor = { Red = 225, Green = 0, Blue = 225 },
  568.                     CtrlWShown = false,
  569.                     NameSet = true,
  570.                     KeyFrames = {
  571.                         [0] = { 1, RH = { 69.6666666666667, 1.03333333333333 }, Flags = { Linear = true } },
  572.                         [209] = { 1.1, LH = { 139.333333333333, 1.06666666666667 }, Flags = { Linear = true } }
  573.                     }
  574.                 },
  575.                 Text = Underlay {
  576.                     CtrlWShown = false,
  577.                     NameSet = true,
  578.                     ViewInfo = UnderlayInfo {
  579.                         Pos = { -17.499, 14.4544 },
  580.                         Size = { 523.993, 115.091 }
  581.                     },
  582.                 },
  583.                 Hintergrund = Underlay {
  584.                     CtrlWShown = false,
  585.                     NameSet = true,
  586.                     ViewInfo = UnderlayInfo {
  587.                         Pos = { -16.163, 244.848 },
  588.                         Size = { 257.333, 147.819 }
  589.                     },
  590.                 },
  591.                 Rand = Glow {
  592.                     CtrlWShown = false,
  593.                     NameSet = true,
  594.                     Inputs = {
  595.                         EffectMask = Input {
  596.                             SourceOp = "MovingMask",
  597.                             Source = "Output",
  598.                         },
  599.                         Blend = Input { Value = 0.1, },
  600.                         ApplyMaskInverted = Input { Value = 1, },
  601.                         Filter = Input { Value = FuID { "Fast Gaussian" }, },
  602.                         Red = Input { Value = 0, },
  603.                         Green = Input { Value = 0, },
  604.                         Blue = Input { Value = 0, },
  605.                         XGlowSize = Input { Value = 8.7, },
  606.                         Glow = Input { Value = 0.78, },
  607.                         ClippingMode = Input { Value = FuID { "Domain" }, },
  608.                         ApplyMode = Input { Value = 1, },
  609.                         Input = Input {
  610.                             SourceOp = "Leuchten",
  611.                             Source = "Output",
  612.                         },
  613.                     },
  614.                     ViewInfo = OperatorInfo { Pos = { 133.571, 35.0603 } },
  615.                 },
  616.                 Path2 = PolyPath {
  617.                     DrawMode = "InsertAndModify",
  618.                     CtrlWZoom = false,
  619.                     Inputs = {
  620.                         Displacement = Input {
  621.                             SourceOp = "Path2Displacement",
  622.                             Source = "Value",
  623.                         },
  624.                         PolyLine = Input {
  625.                             Value = Polyline {
  626.                                 Points = {
  627.                                     { Linear = true, LockY = true, X = 0, Y = -0.0679, RX = 0, RY = 0.0234666666666667 },
  628.                                     { Linear = true, LockY = true, X = 0, Y = 0.00249999999999995, LX = 0, LY = -0.0234666666666667, RX = 0, RY = 0 },
  629.                                     { Linear = true, LockY = true, X = 0, Y = 0.00249999994412065, LX = 0, LY = 0, RX = 0, RY = -0.0234666666480402 },
  630.                                     { Linear = true, LockY = true, X = 0, Y = -0.0679, LX = 0, LY = 0.0234666666480402 }
  631.                                 }
  632.                             },
  633.                         },
  634.                     },
  635.                 },
  636.                 Path2Displacement = BezierSpline {
  637.                     SplineColor = { Red = 255, Green = 0, Blue = 255 },
  638.                     CtrlWShown = false,
  639.                     NameSet = true,
  640.                     KeyFrames = {
  641.                         [30] = { 0, RH = { 40.2, 0 }, Flags = { Linear = true, LockedY = true } },
  642.                         [57] = { 0.500000000198435, LH = { 37, 0.500000000198435 }, RH = { 88.9967994689941, 0.500000000198435 }, Flags = { LockedY = true } },
  643.                         [153] = { 0.500000000198435, LH = { 121.003200531006, 0.500000000198435 }, RH = { 163, 0.500000000198435 }, Flags = { LockedY = true } },
  644.                         [180] = { 1, LH = { 160, 1 }, Flags = { LockedY = true } }
  645.                     }
  646.                 },
  647.                 Background1 = Background {
  648.                     Inputs = {
  649.                         Width = Input { Value = 1920, },
  650.                         Height = Input { Value = 1080, },
  651.                         ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  652.                         TopLeftRed = Input { Value = 1, },
  653.                         TopLeftGreen = Input { Value = 1, },
  654.                         TopLeftBlue = Input { Value = 1, },
  655.                     },
  656.                     ViewInfo = OperatorInfo { Pos = { -82.6667, 364.242 } },
  657.                 }
  658.             },
  659.             UserControls = ordered() {
  660.                 LabelText = {
  661.                     ICS_ControlPage = "Controls",
  662.                     INP_Default = 1,
  663.                     LBLC_DropDownButton = true,
  664.                     LINKID_DataType = "Number",
  665.                     LBLC_NumInputs = 2,
  666.                     LBLC_NestLevel = 0,
  667.                     INPID_InputControl = "LabelControl",
  668.                     LINKS_Name = "Texteinstellungen"
  669.                 },
  670.                 TextEditTitel = {
  671.                     TEC_ReadOnly = false,
  672.                     ICS_ControlPage = "Controls",
  673.                     LINKID_DataType = "Text",
  674.                     TEC_Wrap = false,
  675.                     INPID_InputControl = "TextEditControl",
  676.                     TEC_Lines = 1,
  677.                     LINKS_Name = "Titel"
  678.                 },
  679.                 SliderTextSize = {
  680.                     ICS_ControlPage = "Controls",
  681.                     INP_Integer = false,
  682.                     LINKS_Name = "Schriftgröße",
  683.                     INPID_InputControl = "SliderControl",
  684.                     LINKID_DataType = "Number",
  685.                     INP_MinScale = 0.5,
  686.                     INP_MaxScale = 2,
  687.                     INP_Default = 1
  688.                 },
  689.                 LabelFarbe = {
  690.                     ICS_ControlPage = "Controls",
  691.                     INP_Default = 1,
  692.                     LBLC_DropDownButton = true,
  693.                     LINKID_DataType = "Number",
  694.                     LBLC_NumInputs = 15,
  695.                     LBLC_NestLevel = 0,
  696.                     INPID_InputControl = "LabelControl",
  697.                     LINKS_Name = "Farbeinstellungen"
  698.                 },
  699.                 LabelTextColor = {
  700.                     ICS_ControlPage = "Controls",
  701.                     INP_Default = 1,
  702.                     LBLC_DropDownButton = true,
  703.                     LINKID_DataType = "Number",
  704.                     LBLC_NumInputs = 4,
  705.                     LBLC_NestLevel = 1,
  706.                     INPID_InputControl = "LabelControl",
  707.                     LINKS_Name = "    VG - Text"
  708.                 },
  709.                 RedColorText = {
  710.                     INP_MaxAllowed = 1,
  711.                     INP_Integer = false,
  712.                     INPID_InputControl = "ColorControl",
  713.                     CLRC_ColorSpace = "HSV",
  714.                     INP_MaxScale = 1,
  715.                     INP_Default = 0,
  716.                     ICS_ControlPage = "Controls",
  717.                     INP_MinScale = 0,
  718.                     INP_MinAllowed = 0,
  719.                     LINKID_DataType = "Number",
  720.                     IC_ControlID = 0,
  721.                     CLRC_ShowWheel = true,
  722.                     IC_ControlGroup = 3,
  723.                     LINKS_Name = "Text"
  724.                 },
  725.                 GreenColorText = {
  726.                     INP_MaxAllowed = 1,
  727.                     INP_Integer = false,
  728.                     INPID_InputControl = "ColorControl",
  729.                     CLRC_ColorSpace = "HSV",
  730.                     INP_MaxScale = 1,
  731.                     INP_Default = 0.5333333333333,
  732.                     INP_MinScale = 0,
  733.                     INP_MinAllowed = 0,
  734.                     LINKID_DataType = "Number",
  735.                     IC_ControlID = 1,
  736.                     ICS_ControlPage = "Controls",
  737.                     CLRC_ShowWheel = true,
  738.                     IC_ControlGroup = 3
  739.                 },
  740.                 BlueColorText = {
  741.                     INP_MaxAllowed = 1,
  742.                     INP_Integer = false,
  743.                     INPID_InputControl = "ColorControl",
  744.                     CLRC_ColorSpace = "HSV",
  745.                     INP_MaxScale = 1,
  746.                     INP_Default = 0.7960784313725,
  747.                     INP_MinScale = 0,
  748.                     INP_MinAllowed = 0,
  749.                     LINKID_DataType = "Number",
  750.                     IC_ControlID = 2,
  751.                     ICS_ControlPage = "Controls",
  752.                     CLRC_ShowWheel = true,
  753.                     IC_ControlGroup = 3
  754.                 },
  755.                 AlphaColorText = {
  756.                     INP_MaxAllowed = 1,
  757.                     INP_Integer = false,
  758.                     INPID_InputControl = "ColorControl",
  759.                     CLRC_ColorSpace = "HSV",
  760.                     INP_MaxScale = 1,
  761.                     INP_Default = 1,
  762.                     INP_MinScale = 0,
  763.                     INP_MinAllowed = 0,
  764.                     LINKID_DataType = "Number",
  765.                     IC_ControlID = 3,
  766.                     ICS_ControlPage = "Controls",
  767.                     CLRC_ShowWheel = true,
  768.                     IC_ControlGroup = 3
  769.                 },
  770.                 LabelBorderColor = {
  771.                     ICS_ControlPage = "Controls",
  772.                     INP_Default = 0,
  773.                     LBLC_DropDownButton = true,
  774.                     LINKID_DataType = "Number",
  775.                     LBLC_NumInputs = 4,
  776.                     LBLC_NestLevel = 1,
  777.                     INPID_InputControl = "LabelControl",
  778.                     LINKS_Name = "    VG - Rahmen"
  779.                 },
  780.                 RedColorBorder = {
  781.                     INP_MaxAllowed = 1,
  782.                     INP_Integer = false,
  783.                     INPID_InputControl = "ColorControl",
  784.                     CLRC_ColorSpace = "HSV",
  785.                     INP_MaxScale = 1,
  786.                     INP_Default = 0,
  787.                     ICS_ControlPage = "Controls",
  788.                     INP_MinScale = 0,
  789.                     INP_MinAllowed = 0,
  790.                     LINKID_DataType = "Number",
  791.                     IC_ControlID = 0,
  792.                     CLRC_ShowWheel = true,
  793.                     IC_ControlGroup = 4,
  794.                     LINKS_Name = "Rahmen"
  795.                 },
  796.                 GreenColorBorder = {
  797.                     INP_MaxAllowed = 1,
  798.                     INP_Integer = false,
  799.                     INPID_InputControl = "ColorControl",
  800.                     CLRC_ColorSpace = "HSV",
  801.                     INP_MaxScale = 1,
  802.                     INP_Default = 0.5333333333333,
  803.                     INP_MinScale = 0,
  804.                     INP_MinAllowed = 0,
  805.                     LINKID_DataType = "Number",
  806.                     IC_ControlID = 1,
  807.                     ICS_ControlPage = "Controls",
  808.                     CLRC_ShowWheel = true,
  809.                     IC_ControlGroup = 4
  810.                 },
  811.                 BlueColorBorder = {
  812.                     INP_MaxAllowed = 1,
  813.                     INP_Integer = false,
  814.                     INPID_InputControl = "ColorControl",
  815.                     CLRC_ColorSpace = "HSV",
  816.                     INP_MaxScale = 1,
  817.                     INP_Default = 0.7960784313725,
  818.                     INP_MinScale = 0,
  819.                     INP_MinAllowed = 0,
  820.                     LINKID_DataType = "Number",
  821.                     IC_ControlID = 2,
  822.                     ICS_ControlPage = "Controls",
  823.                     CLRC_ShowWheel = true,
  824.                     IC_ControlGroup = 4
  825.                 },
  826.                 AlphaColorBorder = {
  827.                     INP_MaxAllowed = 1,
  828.                     INP_Integer = false,
  829.                     INPID_InputControl = "ColorControl",
  830.                     CLRC_ColorSpace = "HSV",
  831.                     INP_MaxScale = 1,
  832.                     INP_Default = 1,
  833.                     INP_MinScale = 0,
  834.                     INP_MinAllowed = 0,
  835.                     LINKID_DataType = "Number",
  836.                     IC_ControlID = 3,
  837.                     ICS_ControlPage = "Controls",
  838.                     CLRC_ShowWheel = true,
  839.                     IC_ControlGroup = 4
  840.                 },
  841.                 LabelBackgroundColor = {
  842.                     ICS_ControlPage = "Controls",
  843.                     INP_Default = 0,
  844.                     LBLC_DropDownButton = true,
  845.                     LINKID_DataType = "Number",
  846.                     LBLC_NumInputs = 4,
  847.                     LBLC_NestLevel = 1,
  848.                     INPID_InputControl = "LabelControl",
  849.                     LINKS_Name = "    HG - Bild"
  850.                 },
  851.                 RedColorBG = {
  852.                     INP_MaxAllowed = 1,
  853.                     INP_Integer = false,
  854.                     INPID_InputControl = "ColorControl",
  855.                     CLRC_ColorSpace = "HSV",
  856.                     INP_MaxScale = 1,
  857.                     INP_Default = 1,
  858.                     ICS_ControlPage = "Controls",
  859.                     INP_MinScale = 0,
  860.                     INP_MinAllowed = 0,
  861.                     LINKID_DataType = "Number",
  862.                     IC_ControlID = 0,
  863.                     CLRC_ShowWheel = true,
  864.                     IC_ControlGroup = 5,
  865.                     LINKS_Name = "Hintergrund"
  866.                 },
  867.                 GreenColorBG = {
  868.                     INP_MaxAllowed = 1,
  869.                     INP_Integer = false,
  870.                     INPID_InputControl = "ColorControl",
  871.                     CLRC_ColorSpace = "HSV",
  872.                     INP_MaxScale = 1,
  873.                     INP_Default = 1,
  874.                     INP_MinScale = 0,
  875.                     INP_MinAllowed = 0,
  876.                     LINKID_DataType = "Number",
  877.                     IC_ControlID = 1,
  878.                     ICS_ControlPage = "Controls",
  879.                     CLRC_ShowWheel = true,
  880.                     IC_ControlGroup = 5
  881.                 },
  882.                 BlueColorBG = {
  883.                     INP_MaxAllowed = 1,
  884.                     INP_Integer = false,
  885.                     INPID_InputControl = "ColorControl",
  886.                     CLRC_ColorSpace = "HSV",
  887.                     INP_MaxScale = 1,
  888.                     INP_Default = 1,
  889.                     INP_MinScale = 0,
  890.                     INP_MinAllowed = 0,
  891.                     LINKID_DataType = "Number",
  892.                     IC_ControlID = 2,
  893.                     ICS_ControlPage = "Controls",
  894.                     CLRC_ShowWheel = true,
  895.                     IC_ControlGroup = 5
  896.                 },
  897.                 LabelPlatzhalter = {
  898.                     ICS_ControlPage = "Controls",
  899.                     LBLC_DropDownButton = false,
  900.                     LINKID_DataType = "Number",
  901.                     LBLC_NumInputs = 0,
  902.                     LBLC_NestLevel = 2,
  903.                     INPID_InputControl = "LabelControl",
  904.                     LINKS_Name = ""
  905.                 },
  906.                 LabelVersion = {
  907.                     ICS_ControlPage = "Controls",
  908.                     LBLC_DropDownButton = false,
  909.                     LINKID_DataType = "Number",
  910.                     LBLC_NumInputs = 0,
  911.                     LBLC_NestLevel = 0,
  912.                     INPID_InputControl = "LabelControl",
  913.                     LINKS_Name = "MA-Network Titlecard v1.2"
  914.                 }
  915.             }
  916.         }
  917.     },
  918.     ActiveTool = "MAN_Titlecard"
  919. }

white_wizard
Posts: 46
Joined: Wed Sep 18, 2019 3:53 pm
Been thanked: 2 times

Slider Control Value Resetting

#2

Post by white_wizard » Mon Sep 23, 2019 5:53 pm

Anybody experience this and/or know how to fix this problem?

I created a simple macro that works as a STmap resizing filter. I have a custom slider clamped 1-8 with a default value of 1.

Every time I close and then reopen Resolve, the value is somehow reset to 0.

User avatar
SirEdric
Fusionator
Posts: 2063
Joined: Tue Aug 05, 2014 10:04 am
Answers: 4
Real name: Eric Westphal
Been thanked: 162 times
Contact:

Re: Slider Control Value Resetting

#3

Post by SirEdric » Mon Sep 23, 2019 9:38 pm

Any chance that you could post the macro here, so we could have a look?

User avatar
SecondMan
Site Admin
Posts: 3784
Joined: Thu Jul 31, 2014 5:31 pm
Answers: 8
Location: Vancouver, Canada
Been thanked: 147 times
Contact:

Re: Macro for Resolve 16 | Custom Controls reset on every restart

#4

Post by SecondMan » Mon Sep 23, 2019 10:43 pm

@white_wizard you don't seem to be alone... Merged your topic with another recent report of this. I'll try to take a look as well as soon as I get a chance...

white_wizard
Posts: 46
Joined: Wed Sep 18, 2019 3:53 pm
Been thanked: 2 times

Re: Slider Control Value Resetting

#5

Post by white_wizard » Tue Sep 24, 2019 9:46 am

SirEdric wrote:
Mon Sep 23, 2019 9:38 pm
Any chance that you could post the macro here, so we could have a look?
Sure. Also, a disclaimer...this macro just adds filtering onto Gringo's UVpositioner script. My only contribution is the upres/downres aspect of the macro.
  1. {
  2.     Tools = ordered() {
  3.         WW_STmap_v11 = MacroOperator {
  4.             CtrlWZoom = false,
  5.             Inputs = ordered() {
  6.                 MainInput1 = InstanceInput {
  7.                     SourceOp = "CustomTool",
  8.                     Source = "Image1",
  9.                     Name = "src",
  10.                 },
  11.                 Input1 = InstanceInput {
  12.                     SourceOp = "CustomTool",
  13.                     Source = "NumberIn3",
  14.                     Page = "Controls",
  15.                     Default = 1,
  16.                 },
  17.                 MainInput2 = InstanceInput {
  18.                     SourceOp = "Depth_stmap",
  19.                     Source = "Input",
  20.                     Name = "STmap",
  21.                 },
  22.                 Input2 = InstanceInput {
  23.                     SourceOp = "UVPositioner",
  24.                     Source = "UChannel",
  25.                 },
  26.                 Input3 = InstanceInput {
  27.                     SourceOp = "UVPositioner",
  28.                     Source = "VChannel",
  29.                     Default = 1,
  30.                 },
  31.                 Input4 = InstanceInput {
  32.                     SourceOp = "UVPositioner",
  33.                     Source = "FlipU",
  34.                     Default = 0,
  35.                 },
  36.                 Input5 = InstanceInput {
  37.                     SourceOp = "UVPositioner",
  38.                     Source = "FlipV",
  39.                     Default = 0,
  40.                 },
  41.                 Input6 = InstanceInput {
  42.                     SourceOp = "UVPositioner",
  43.                     Source = "Offset",
  44.                 },
  45.                 Input7 = InstanceInput {
  46.                     SourceOp = "UVPositioner",
  47.                     Source = "HorRepeats",
  48.                     Default = 1,
  49.                 },
  50.                 Input8 = InstanceInput {
  51.                     SourceOp = "UVPositioner",
  52.                     Source = "VertRepeats",
  53.                     Default = 1,
  54.                 },
  55.                 Input9 = InstanceInput {
  56.                     SourceOp = "UVPositioner",
  57.                     Source = "CombRepeats",
  58.                     Default = 1,
  59.                 },
  60.                 Input10 = InstanceInput {
  61.                     SourceOp = "UVPositioner",
  62.                     Source = "Tiling",
  63.                 },
  64.                 Input11 = InstanceInput {
  65.                     SourceOp = "UVPositioner",
  66.                     Source = "PreDivideUVbyAlpha",
  67.                     Default = 1,
  68.                 },
  69.                 Input12 = InstanceInput {
  70.                     SourceOp = "UVPositioner",
  71.                     Source = "PostMultiplyRGBbyAlpha",
  72.                     Default = 1,
  73.                 },
  74.                 Input13 = InstanceInput {
  75.                     SourceOp = "UVPositioner",
  76.                     Source = "CorrectFolds",
  77.                 },
  78.                 Input14 = InstanceInput {
  79.                     SourceOp = "UVPositioner",
  80.                     Source = "FoldsThreshold",
  81.                     Default = 0.15,
  82.                 },
  83.                 Input15 = InstanceInput {
  84.                     SourceOp = "UVPositioner",
  85.                     Source = "FoldsWidth",
  86.                     MinAllowed = -1000000,
  87.                     MaxScale = 1,
  88.                     Default = 1,
  89.                 }
  90.             },
  91.             Outputs = {
  92.                 MainOutput1 = InstanceOutput {
  93.                     SourceOp = "Downscale",
  94.                     Source = "Output",
  95.                 }
  96.             },
  97.             ViewInfo = GroupInfo { Pos = { 1155, -148.5 } },
  98.             Tools = ordered() {
  99.                 CustomTool = Custom {
  100.                     CtrlWShown = false,
  101.                     NameSet = true,
  102.                     Inputs = {
  103.                         NumberIn1 = Input {
  104.                             Value = 3400,
  105.                             Expression = "Image1.Width",
  106.                         },
  107.                         NumberIn2 = Input {
  108.                             Value = 2500,
  109.                             Expression = "Image1.Height",
  110.                         },
  111.                         LUTIn1 = Input {
  112.                             SourceOp = "CustomToolLUTIn1",
  113.                             Source = "Value",
  114.                         },
  115.                         LUTIn2 = Input {
  116.                             SourceOp = "CustomToolLUTIn2",
  117.                             Source = "Value",
  118.                         },
  119.                         LUTIn3 = Input {
  120.                             SourceOp = "CustomToolLUTIn3",
  121.                             Source = "Value",
  122.                         },
  123.                         LUTIn4 = Input {
  124.                             SourceOp = "CustomToolLUTIn4",
  125.                             Source = "Value",
  126.                         },
  127.                         NumberControls = Input { Value = 1, },
  128.                         NameforNumber1 = Input { Value = "Input Width", },
  129.                         NameforNumber2 = Input { Value = "Input Height", },
  130.                         NameforNumber3 = Input { Value = "Filter Factor", },
  131.                         ShowNumber4 = Input { Value = 0, },
  132.                         ShowNumber5 = Input { Value = 0, },
  133.                         ShowNumber6 = Input { Value = 0, },
  134.                         ShowNumber7 = Input { Value = 0, },
  135.                         ShowNumber8 = Input { Value = 0, },
  136.                         PointControls = Input { Value = 1, },
  137.                         ShowPoint1 = Input { Value = 0, },
  138.                         ShowPoint2 = Input { Value = 0, },
  139.                         ShowPoint3 = Input { Value = 0, },
  140.                         ShowPoint4 = Input { Value = 0, },
  141.                         NumberIn3 = Input { Value = 0, },
  142.                     },
  143.                     ViewInfo = OperatorInfo { Pos = { -220, 8.75757 } },
  144.                     UserControls = ordered() {
  145.                         NumberIn3 = {
  146.                             INP_MaxAllowed = 1000000,
  147.                             INP_Integer = true,
  148.                             INPID_InputControl = "SliderControl",
  149.                             INP_MaxScale = 8,
  150.                             INP_Default = 1,
  151.                             INP_MinScale = 1,
  152.                             INP_MinAllowed = -1000000,
  153.                             LINKID_DataType = "Number",
  154.                             INP_External = false,
  155.                             ICS_ControlPage = "Controls",
  156.                             LINKS_Name = "Filter Factor"
  157.                         }
  158.                     }
  159.                 },
  160.                 CustomToolLUTIn1 = LUTBezier {
  161.                     KeyColorSplines = {
  162.                         [0] = {
  163.                             [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
  164.                             [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
  165.                         }
  166.                     },
  167.                     SplineColor = { Red = 204, Green = 0, Blue = 0 },
  168.                     CtrlWShown = false,
  169.                 },
  170.                 CustomToolLUTIn2 = LUTBezier {
  171.                     KeyColorSplines = {
  172.                         [0] = {
  173.                             [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
  174.                             [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
  175.                         }
  176.                     },
  177.                     SplineColor = { Red = 0, Green = 204, Blue = 0 },
  178.                     CtrlWShown = false,
  179.                 },
  180.                 CustomToolLUTIn3 = LUTBezier {
  181.                     KeyColorSplines = {
  182.                         [0] = {
  183.                             [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
  184.                             [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
  185.                         }
  186.                     },
  187.                     SplineColor = { Red = 0, Green = 0, Blue = 204 },
  188.                     CtrlWShown = false,
  189.                 },
  190.                 CustomToolLUTIn4 = LUTBezier {
  191.                     KeyColorSplines = {
  192.                         [0] = {
  193.                             [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
  194.                             [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
  195.                         }
  196.                     },
  197.                     SplineColor = { Red = 204, Green = 204, Blue = 204 },
  198.                     CtrlWShown = false,
  199.                 },
  200.                 Depth_texture = ChangeDepth {
  201.                     CtrlWShown = false,
  202.                     NameSet = true,
  203.                     Inputs = {
  204.                         Depth = Input { Value = 3, },
  205.                         Input = Input {
  206.                             SourceOp = "CustomTool",
  207.                             Source = "Output",
  208.                         },
  209.                     },
  210.                     ViewInfo = OperatorInfo { Pos = { -110, 8.75757 } },
  211.                 },
  212.                 Depth_stmap = ChangeDepth {
  213.                     CtrlWShown = false,
  214.                     NameSet = true,
  215.                     Inputs = {
  216.                         Depth = Input { Value = 3, },
  217.                     },
  218.                     ViewInfo = OperatorInfo { Pos = { -110, 74.7576 } },
  219.                 },
  220.                 Upscale_texture = BetterResize {
  221.                     CtrlWShown = false,
  222.                     NameSet = true,
  223.                     Inputs = {
  224.                         Width = Input {
  225.                             Value = 3400,
  226.                             Expression = "CustomTool.NumberIn1*CustomTool.NumberIn3",
  227.                         },
  228.                         Height = Input {
  229.                             Value = 2500,
  230.                             Expression = "CustomTool.NumberIn2*CustomTool.NumberIn3",
  231.                         },
  232.                         HiQOnly = Input { Value = 0, },
  233.                         PixelAspect = Input { Value = { 2, 1 }, },
  234.                         Input = Input {
  235.                             SourceOp = "Depth_texture",
  236.                             Source = "Output",
  237.                         },
  238.                     },
  239.                     ViewInfo = OperatorInfo { Pos = { 0, 8.75757 } },
  240.                 },
  241.                 Upscale_stmap = BetterResize {
  242.                     CtrlWShown = false,
  243.                     NameSet = true,
  244.                     Inputs = {
  245.                         Width = Input {
  246.                             Value = 3400,
  247.                             Expression = "CustomTool.NumberIn1*CustomTool.NumberIn3",
  248.                         },
  249.                         Height = Input {
  250.                             Value = 2500,
  251.                             Expression = "CustomTool.NumberIn2*CustomTool.NumberIn3",
  252.                         },
  253.                         HiQOnly = Input { Value = 0, },
  254.                         PixelAspect = Input { Value = { 2, 1 }, },
  255.                         Input = Input {
  256.                             SourceOp = "Depth_stmap",
  257.                             Source = "Output",
  258.                         },
  259.                     },
  260.                     ViewInfo = OperatorInfo { Pos = { 0, 74.7576 } },
  261.                 },
  262.                 UVPositioner = MacroOperator {
  263.                     CtrlWZoom = false,
  264.                     CtrlWShown = false,
  265.                     CustomData = {
  266.                         HelpPage = "http://vfxpedia.com/index.php?title=Settings_and_Macros/UVPositioner_Description"
  267.                     },
  268.                     Inputs = ordered() {
  269.                         Comments = Input { Value = "Applies a texture (distorts an image) according to the UV data\r\nv04-2 - Pre-Divide / Post-Multiply, Folds Width\r\nby Gregory Chalenko\r\nwww.compositing.ru", },
  270.                         UVMap = InstanceInput {
  271.                             SourceOp = "Bol_ChannelSelector",
  272.                             Source = "Background",
  273.                             Name = "UVMap",
  274.                         },
  275.                         Texture = InstanceInput {
  276.                             SourceOp = "CT_UVPlacer",
  277.                             Source = "Image2",
  278.                             Name = "Texture",
  279.                         },
  280.                         UChannel = InstanceInput {
  281.                             SourceOp = "Bol_ChannelSelector",
  282.                             Source = "UChannel",
  283.                         },
  284.                         VChannel = InstanceInput {
  285.                             SourceOp = "Bol_ChannelSelector",
  286.                             Source = "VChannel",
  287.                         },
  288.                         FlipU = InstanceInput {
  289.                             SourceOp = "Bol_Flip",
  290.                             Source = "FlipU",
  291.                             Default = 0,
  292.                         },
  293.                         FlipV = InstanceInput {
  294.                             SourceOp = "Bol_Flip",
  295.                             Source = "FlipV",
  296.                             Default = 0,
  297.                         },
  298.                         Offset = InstanceInput {
  299.                             SourceOp = "CT_UVPlacer",
  300.                             Source = "PointIn1",
  301.                         },
  302.                         HorRepeats = InstanceInput {
  303.                             SourceOp = "CT_UVPlacer",
  304.                             Source = "NumberIn1",
  305.                             Default = 1,
  306.                         },
  307.                         VertRepeats = InstanceInput {
  308.                             SourceOp = "CT_UVPlacer",
  309.                             Source = "NumberIn2",
  310.                             Default = 1,
  311.                         },
  312.                         CombRepeats = InstanceInput {
  313.                             SourceOp = "CT_UVPlacer",
  314.                             Source = "NumberIn3",
  315.                             Default = 1,
  316.                         },
  317.                         Tiling = InstanceInput {
  318.                             SourceOp = "CT_UVPlacer",
  319.                             Source = "Tiling",
  320.                         },
  321.                         PreDivideUVbyAlpha = InstanceInput {
  322.                             SourceOp = "Bol_PreDivide",
  323.                             Source = "MultiplyByMask",
  324.                             Name = "Pre-Divide UV by Alpha",
  325.                             Default = 1,
  326.                         },
  327.                         PostMultiplyRGBbyAlpha = InstanceInput {
  328.                             SourceOp = "Bol_PostMultiply",
  329.                             Source = "MultiplyByMask",
  330.                             Name = "Post-Multiply RGB by Alpha",
  331.                             Default = 1,
  332.                         },
  333.                         CorrectFolds = InstanceInput {
  334.                             SourceOp = "CT_Folds",
  335.                             Source = "CorrectFolds",
  336.                         },
  337.                         FoldsThreshold = InstanceInput {
  338.                             SourceOp = "Bmp_Red",
  339.                             Source = "FoldsThreshold",
  340.                             Default = 0.15,
  341.                         },
  342.                         FoldsWidth = InstanceInput {
  343.                             SourceOp = "Blur_Folds",
  344.                             Source = "XBlurSize",
  345.                             Name = "Folds Width",
  346.                             Default = 0.01,
  347.                         }
  348.                     },
  349.                     Outputs = {
  350.                         Output = InstanceOutput {
  351.                             SourceOp = "Bol_PostMultiply",
  352.                             Source = "Output",
  353.                         }
  354.                     },
  355.                     ViewInfo = GroupInfo { Pos = { 110, 8.75757 } },
  356.                     Tools = ordered() {
  357.                         Bol_ChannelSelector = ChannelBoolean {
  358.                             CtrlWShown = false,
  359.                             Inputs = {
  360.                                 ToRed = Input { Expression = "iif(UChannel<3,UChannel,iif(UChannel<4,22,18))", },
  361.                                 ToGreen = Input { Expression = "iif(VChannel<3,VChannel,iif(VChannel<4,23,18))", },
  362.                                 ToBlue = Input { Value = 4, },
  363.                                 ToAlpha = Input { Value = 4, },
  364.                                 Background = Input {
  365.                                     SourceOp = "Upscale_stmap",
  366.                                     Source = "Output",
  367.                                 },
  368.                             },
  369.                             ViewInfo = OperatorInfo { Pos = { -226.929, 60.1433 } },
  370.                             Colors = {
  371.                                 TileColor = { R = 0.776470588235294, G = 0.627450980392157, B = 0.466666666666667 },
  372.                                 TextColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
  373.                             },
  374.                             UserControls = ordered() {
  375.                                 UChannel = {
  376.                                     { MBTNC_AddButton = "Red" },
  377.                                     { MBTNC_AddButton = "Green" },
  378.                                     { MBTNC_AddButton = "Blue" },
  379.                                     { MBTNC_AddButton = "U Texture" },
  380.                                     { MBTNC_AddButton = "Z" },
  381.                                     INP_Default = 0,
  382.                                     LINKID_DataType = "Number",
  383.                                     INPID_InputControl = "MultiButtonControl",
  384.                                     IC_ControlPage = 0,
  385.                                     MBTNC_StretchToFit = true,
  386.                                     LINKS_Name = "U Channel",
  387.                                 },
  388.                                 VChannel = {
  389.                                     { MBTNC_AddButton = "Red" },
  390.                                     { MBTNC_AddButton = "Green" },
  391.                                     { MBTNC_AddButton = "Blue" },
  392.                                     { MBTNC_AddButton = "V Texture" },
  393.                                     { MBTNC_AddButton = "Z" },
  394.                                     INP_Default = 1,
  395.                                     LINKID_DataType = "Number",
  396.                                     INPID_InputControl = "MultiButtonControl",
  397.                                     IC_ControlPage = 0,
  398.                                     MBTNC_StretchToFit = true,
  399.                                     LINKS_Name = "V Channel",
  400.                                 }
  401.                             }
  402.                         },
  403.                         Bol_PreDivide = ChannelBoolean {
  404.                             CtrlWShown = false,
  405.                             NameSet = true,
  406.                             Inputs = {
  407.                                 Blend = Input { Expression = "MultiplyByMask", },
  408.                                 MultiplyByMask = Input { Value = 1, },
  409.                                 Operation = Input { Value = 7, },
  410.                                 ToRed = Input { Value = 8, },
  411.                                 ToGreen = Input { Value = 8, },
  412.                                 ToBlue = Input { Value = 4, },
  413.                                 ToAlpha = Input { Value = 4, },
  414.                                 Background = Input {
  415.                                     SourceOp = "Bol_ChannelSelector",
  416.                                     Source = "Output",
  417.                                 },
  418.                             },
  419.                             ViewInfo = OperatorInfo { Pos = { -107.077, 60.5081 } },
  420.                             Colors = {
  421.                                 TileColor = { R = 0.776470588235294, G = 0.627450980392157, B = 0.466666666666667 },
  422.                                 TextColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
  423.                             }
  424.                         },
  425.                         Bol_Flip = ChannelBoolean {
  426.                             CtrlWShown = false,
  427.                             Inputs = {
  428.                                 Blend = Input {
  429.                                     Value = 0,
  430.                                     Expression = "iif(FlipU+FlipV==0,0,1)",
  431.                                 },
  432.                                 ProcessRed = Input {
  433.                                     Value = 0,
  434.                                     Expression = "FlipU",
  435.                                 },
  436.                                 ProcessGreen = Input {
  437.                                     Value = 0,
  438.                                     Expression = "FlipV",
  439.                                 },
  440.                                 Operation = Input { Value = 10, },
  441.                                 Background = Input {
  442.                                     SourceOp = "Bol_PreDivide",
  443.                                     Source = "Output",
  444.                                 },
  445.                             },
  446.                             ViewInfo = OperatorInfo { Pos = { -170.088, 7.28127 } },
  447.                             Colors = {
  448.                                 TileColor = { R = 0.776470588235294, G = 0.627450980392157, B = 0.466666666666667 },
  449.                                 TextColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
  450.                             },
  451.                             UserControls = ordered() {
  452.                                 FlipU = {
  453.                                     ICD_Width = 0.5,
  454.                                     LINKID_DataType = "Number",
  455.                                     INP_Default = 0,
  456.                                     IC_ControlPage = 0,
  457.                                     INPID_InputControl = "CheckboxControl",
  458.                                     LINKS_Name = "Flip U",
  459.                                 },
  460.                                 FlipV = {
  461.                                     ICD_Width = 0.5,
  462.                                     LINKID_DataType = "Number",
  463.                                     INP_Default = 0,
  464.                                     IC_ControlPage = 0,
  465.                                     INPID_InputControl = "CheckboxControl",
  466.                                     LINKS_Name = "Flip V",
  467.                                 }
  468.                             }
  469.                         },
  470.                         Fltr_Folds = Filter {
  471.                             CtrlWZoom = false,
  472.                             CtrlWShown = false,
  473.                             Inputs = {
  474.                                 Blend = Input { Expression = "math.max(Mat_CleanEdges.CleanEdges, CT_Folds.CorrectFolds)", },
  475.                                 FilterType = Input { Value = 3, },
  476.                                 Input = Input {
  477.                                     SourceOp = "Bol_PreDivide",
  478.                                     Source = "Output",
  479.                                 },
  480.                             },
  481.                             ViewInfo = OperatorInfo { Pos = { -213.67, 120.672 } },
  482.                             Colors = {
  483.                                 TileColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
  484.                                 TextColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
  485.                             }
  486.                         },
  487.                         Mat_CleanEdges = MatteControl {
  488.                             CtrlWShown = false,
  489.                             Inputs = {
  490.                                 EffectMask = Input {
  491.                                     SourceOp = "Bmp_Alpha",
  492.                                     Source = "Mask",
  493.                                 },
  494.                                 Blend = Input {
  495.                                     Value = 0,
  496.                                     Expression = "CT_Folds.CorrectFolds",
  497.                                 },
  498.                                 MatteCombine = Input { Value = 6, },
  499.                                 PostMultiplyImage = Input { Value = 1, },
  500.                                 Background = Input {
  501.                                     SourceOp = "CT_UVPlacer",
  502.                                     Source = "Output",
  503.                                 },
  504.                                 CleanEdges = Input { Value = 0, }
  505.                             },
  506.                             ViewInfo = OperatorInfo { Pos = { 106.439, 69.8084 } },
  507.                             Colors = {
  508.                                 TileColor = { R = 0.6, G = 0.450980392156863, B = 0.627450980392157 },
  509.                                 TextColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
  510.                             },
  511.                             UserControls = ordered() {
  512.                                 CleanEdges = {
  513.                                     LINKID_DataType = "Number",
  514.                                     INP_Default = 1,
  515.                                     IC_ControlPage = 2,
  516.                                     INPID_InputControl = "CheckboxControl",
  517.                                     LINKS_Name = "Clean Edges",
  518.                                 }
  519.                             }
  520.                         },
  521.                         CT_UVPlacer = Custom {
  522.                             CtrlWShown = false,
  523.                             Inputs = {
  524.                                 ApplyMaskInverted = Input { Value = 1, },
  525.                                 NumberIn1 = Input { Value = 1, },
  526.                                 NumberIn2 = Input { Value = 1, },
  527.                                 NumberIn3 = Input { Value = 1, },
  528.                                 LUTIn1 = Input {
  529.                                     SourceOp = "CT_UVPlacerLUTIn1",
  530.                                     Source = "Value",
  531.                                 },
  532.                                 LUTIn2 = Input {
  533.                                     SourceOp = "CT_UVPlacerLUTIn2",
  534.                                     Source = "Value",
  535.                                 },
  536.                                 LUTIn3 = Input {
  537.                                     SourceOp = "CT_UVPlacerLUTIn3",
  538.                                     Source = "Value",
  539.                                 },
  540.                                 LUTIn4 = Input {
  541.                                     SourceOp = "CT_UVPlacerLUTIn4",
  542.                                     Source = "Value",
  543.                                 },
  544.                                 RedExpression = Input {
  545.                                     Value = "getr2b(r1*n1*n3-p1x+0.5,g1*n2*n3-p1y+0.5)",
  546.                                     Expression = "Text(iif(Tiling==0,\"getr2b\",iif(Tiling==1,\"getr2d\",\"getr2w\"))..\"(r1*n1*n3-p1x+0.5,g1*n2*n3-p1y+0.5)\")",
  547.                                 },
  548.                                 GreenExpression = Input {
  549.                                     Value = "getg2b(r1*n1*n3-p1x+0.5,g1*n2*n3-p1y+0.5)",
  550.                                     Expression = "Text(iif(Tiling==0,\"getg2b\",iif(Tiling==1,\"getg2d\",\"getg2w\"))..\"(r1*n1*n3-p1x+0.5,g1*n2*n3-p1y+0.5)\")",
  551.                                 },
  552.                                 BlueExpression = Input {
  553.                                     Value = "getb2b(r1*n1*n3-p1x+0.5,g1*n2*n3-p1y+0.5)",
  554.                                     Expression = "Text(iif(Tiling==0,\"getb2b\",iif(Tiling==1,\"getb2d\",\"getb2w\"))..\"(r1*n1*n3-p1x+0.5,g1*n2*n3-p1y+0.5)\")",
  555.                                 },
  556.                                 AlphaExpression = Input {
  557.                                     Value = "geta2b(r1*n1*n3-p1x+0.5,g1*n2*n3-p1y+0.5)*a1",
  558.                                     Expression = "Text(iif(Tiling==0,\"geta2b\",iif(Tiling==1,\"geta2d\",\"geta2w\"))..\"(r1*n1*n3-p1x+0.5,g1*n2*n3-p1y+0.5)*a1\")",
  559.                                 },
  560.                                 NumberControls = Input { Value = 1, },
  561.                                 NameforNumber1 = Input { Value = "Horizontal Repeats", },
  562.                                 NameforNumber2 = Input { Value = "Vertical Repeats", },
  563.                                 NameforNumber3 = Input { Value = "Combined Repeats", },
  564.                                 NameforNumber4 = Input { Value = "Tiling", },
  565.                                 NameforPoint1 = Input { Value = "Offset", },
  566.                                 Image1 = Input {
  567.                                     SourceOp = "Bol_Flip",
  568.                                     Source = "Output",
  569.                                 },
  570.                                 Image2 = Input {
  571.                                     SourceOp = "Upscale_texture",
  572.                                     Source = "Output",
  573.                                 },
  574.                             },
  575.                             ViewInfo = OperatorInfo { Pos = { -34.2086, 7.94397 } },
  576.                             UserControls = ordered() {
  577.                                 Tiling = {
  578.                                     { MBTNC_AddButton = "Transparent" },
  579.                                     { MBTNC_AddButton = "Extend" },
  580.                                     { MBTNC_AddButton = "Tile" },
  581.                                     INPID_InputControl = "MultiButtonControl",
  582.                                     MBTNC_StretchToFit = true,
  583.                                     IC_ControlPage = 0,
  584.                                     LINKID_DataType = "Number",
  585.                                     INP_Default = 0,
  586.                                 }
  587.                             }
  588.                         },
  589.                         Bmp_Red = BitmapMask {
  590.                             CtrlWShown = false,
  591.                             Inputs = {
  592.                                 MaskWidth = Input { Value = 320, },
  593.                                 MaskHeight = Input { Value = 240, },
  594.                                 PixelAspect = Input { Value = { 1, 1 }, },
  595.                                 Image = Input {
  596.                                     SourceOp = "Fltr_Folds",
  597.                                     Source = "Output",
  598.                                 },
  599.                                 Channel = Input { Value = FuID { "Red" }, },
  600.                                 Low = Input { Expression = "FoldsThreshold", },
  601.                                 High = Input { Expression = "FoldsThreshold", },
  602.                             },
  603.                             ViewInfo = OperatorInfo { Pos = { -107.52, 104.086 } },
  604.                             UserControls = ordered() {
  605.                                 FoldsThreshold = {
  606.                                     LINKID_DataType = "Number",
  607.                                     INP_Default = 0.15,
  608.                                     IC_ControlPage = 0,
  609.                                     INPID_InputControl = "SliderControl",
  610.                                     LINKS_Name = "Folds Threshold",
  611.                                 }
  612.                             }
  613.                         },
  614.                         Blur_Folds = Blur {
  615.                             CtrlWShown = false,
  616.                             Inputs = {
  617.                                 EffectMask = Input {
  618.                                     SourceOp = "CT_UVPlacer",
  619.                                     Source = "Output",
  620.                                 },
  621.                                 Blend = Input {
  622.                                     Value = 0,
  623.                                     Expression = "CT_Folds.CorrectFolds",
  624.                                 },
  625.                                 Filter = Input { Value = FuID { "Multi-box" }, },
  626.                                 Input = Input {
  627.                                     SourceOp = "Mat_CleanEdges",
  628.                                     Source = "Output",
  629.                                 },
  630.                                 XBlurSize = Input { Value = 1, }
  631.                             },
  632.                             ViewInfo = OperatorInfo { Pos = { 106.439, 98.5574 } },
  633.                             Colors = {
  634.                                 TileColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
  635.                                 TextColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
  636.                             },
  637.                             UserControls = ordered() {
  638.                                 XBlurSize = {
  639.                                     INPID_InputControl = "SliderControl",
  640.                                     LINKID_DataType = "Number",
  641.                                     INP_MaxScale = 0.1,
  642.                                     IC_ControlPage = 0,
  643.                                     ICD_Center = 0.01,
  644.                                     INP_Default = 0.01,
  645.                                 }
  646.                             }
  647.                         },
  648.                         Bmp_Green = BitmapMask {
  649.                             CtrlWShown = false,
  650.                             NameSet = true,
  651.                             Inputs = {
  652.                                 EffectMask = Input {
  653.                                     SourceOp = "Bmp_Red",
  654.                                     Source = "Mask",
  655.                                 },
  656.                                 PaintMode = Input { Value = FuID { "Maximum" }, },
  657.                                 MaskWidth = Input { Value = 320, },
  658.                                 MaskHeight = Input { Value = 240, },
  659.                                 PixelAspect = Input { Value = { 1, 1 }, },
  660.                                 Image = Input {
  661.                                     SourceOp = "Fltr_Folds",
  662.                                     Source = "Output",
  663.                                 },
  664.                                 Channel = Input { Value = FuID { "Green" }, },
  665.                                 Low = Input {
  666.                                     Value = 0.15,
  667.                                     Expression = "Bmp_Red.Low",
  668.                                 },
  669.                                 High = Input {
  670.                                     Value = 0.15,
  671.                                     Expression = "Bmp_Red.High",
  672.                                 },
  673.                             },
  674.                             ViewInfo = OperatorInfo { Pos = { -106.967, 123.436 } },
  675.                         },
  676.                         Bmp_Alpha = BitmapMask {
  677.                             CtrlWZoom = false,
  678.                             CtrlWShown = false,
  679.                             Inputs = {
  680.                                 EffectMask = Input {
  681.                                     SourceOp = "Bmp_Green",
  682.                                     Source = "Mask",
  683.                                 },
  684.                                 PaintMode = Input { Value = FuID { "Subtract" }, },
  685.                                 MaskWidth = Input { Value = 320, },
  686.                                 MaskHeight = Input { Value = 240, },
  687.                                 PixelAspect = Input { Value = { 1, 1 }, },
  688.                                 Image = Input {
  689.                                     SourceOp = "Fltr_Folds",
  690.                                     Source = "Output",
  691.                                 },
  692.                             },
  693.                             ViewInfo = OperatorInfo { Pos = { -110.837, 142.234 } },
  694.                         },
  695.                         CT_Folds = Custom {
  696.                             CtrlWShown = false,
  697.                             Inputs = {
  698.                                 EffectMask = Input {
  699.                                     SourceOp = "Bmp_Alpha",
  700.                                     Source = "Mask",
  701.                                 },
  702.                                 Blend = Input {
  703.                                     Value = 0,
  704.                                     Expression = "CT_Folds.CorrectFolds",
  705.                                 },
  706.                                 LUTIn1 = Input {
  707.                                     SourceOp = "CT_FoldsLUTIn1",
  708.                                     Source = "Value",
  709.                                 },
  710.                                 LUTIn2 = Input {
  711.                                     SourceOp = "CT_FoldsLUTIn2",
  712.                                     Source = "Value",
  713.                                 },
  714.                                 LUTIn3 = Input {
  715.                                     SourceOp = "CT_FoldsLUTIn3",
  716.                                     Source = "Value",
  717.                                 },
  718.                                 LUTIn4 = Input {
  719.                                     SourceOp = "CT_FoldsLUTIn4",
  720.                                     Source = "Value",
  721.                                 },
  722.                                 RedExpression = Input { Value = "if(a1>0,if(r1>0,r1/a1,0),0)", },
  723.                                 GreenExpression = Input { Value = "if(a1>0,if(g1>0,g1/a1,0),0)", },
  724.                                 BlueExpression = Input { Value = "if(a1>0,if(b1>0,b1/a1,0),0)", },
  725.                                 AlphaExpression = Input { Value = "if(a1>0,if(a1>0,a1/a1,0),0)", },
  726.                                 Image1 = Input {
  727.                                     SourceOp = "Blur_Folds",
  728.                                     Source = "Output",
  729.                                 },
  730.                             },
  731.                             ViewInfo = OperatorInfo { Pos = { 106.992, 128.965 } },
  732.                             UserControls = ordered() {
  733.                                 CorrectFolds = {
  734.                                     LINKID_DataType = "Number",
  735.                                     INP_Default = 0,
  736.                                     IC_ControlPage = 5,
  737.                                     INPID_InputControl = "CheckboxControl",
  738.                                     LINKS_Name = "Correct Folds",
  739.                                 }
  740.                             }
  741.                         },
  742.                         Bol_PostMultiply = ChannelBoolean {
  743.                             CtrlWShown = false,
  744.                             NameSet = true,
  745.                             Inputs = {
  746.                                 Blend = Input { Expression = "MultiplyByMask", },
  747.                                 MultiplyByMask = Input { Value = 1, },
  748.                                 Operation = Input { Value = 6, },
  749.                                 ToRed = Input { Value = 3, },
  750.                                 ToGreen = Input { Value = 3, },
  751.                                 ToBlue = Input { Value = 3, },
  752.                                 ToAlpha = Input { Value = 4, },
  753.                                 Background = Input {
  754.                                     SourceOp = "CT_Folds",
  755.                                     Source = "Output",
  756.                                 },
  757.                                 Foreground = Input {
  758.                                     SourceOp = "Bol_Flip",
  759.                                     Source = "Output",
  760.                                 },
  761.                             },
  762.                             ViewInfo = OperatorInfo { Pos = { 225, 129.269 } },
  763.                             Colors = {
  764.                                 TileColor = { R = 0.776470588235294, G = 0.627450980392157, B = 0.466666666666667 },
  765.                                 TextColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
  766.                             }
  767.                         }
  768.                     },
  769.                     Colors = {
  770.                         TileColor = { R = 0.6, G = 0.450980392156863, B = 0.627450980392157 },
  771.                         TextColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
  772.                     }
  773.                 },
  774.                 CT_UVPlacerLUTIn1 = LUTBezier {
  775.                     KeyColorSplines = {
  776.                         [0] = {
  777.                             [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
  778.                             [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
  779.                         }
  780.                     },
  781.                     SplineColor = { Red = 0, Green = 0, Blue = 0 },
  782.                     CtrlWShown = false,
  783.                 },
  784.                 CT_UVPlacerLUTIn2 = LUTBezier {
  785.                     KeyColorSplines = {
  786.                         [0] = {
  787.                             [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
  788.                             [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
  789.                         }
  790.                     },
  791.                     SplineColor = { Red = 0, Green = 0, Blue = 0 },
  792.                     CtrlWShown = false,
  793.                 },
  794.                 CT_UVPlacerLUTIn3 = LUTBezier {
  795.                     KeyColorSplines = {
  796.                         [0] = {
  797.                             [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
  798.                             [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
  799.                         }
  800.                     },
  801.                     SplineColor = { Red = 0, Green = 0, Blue = 0 },
  802.                     CtrlWShown = false,
  803.                 },
  804.                 CT_UVPlacerLUTIn4 = LUTBezier {
  805.                     KeyColorSplines = {
  806.                         [0] = {
  807.                             [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
  808.                             [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
  809.                         }
  810.                     },
  811.                     SplineColor = { Red = 0, Green = 0, Blue = 0 },
  812.                     CtrlWShown = false,
  813.                 },
  814.                 CT_FoldsLUTIn1 = LUTBezier {
  815.                     KeyColorSplines = {
  816.                         [0] = {
  817.                             [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
  818.                             [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
  819.                         }
  820.                     },
  821.                     SplineColor = { Red = 0, Green = 0, Blue = 0 },
  822.                     CtrlWShown = false,
  823.                 },
  824.                 CT_FoldsLUTIn2 = LUTBezier {
  825.                     KeyColorSplines = {
  826.                         [0] = {
  827.                             [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
  828.                             [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
  829.                         }
  830.                     },
  831.                     SplineColor = { Red = 0, Green = 0, Blue = 0 },
  832.                     CtrlWShown = false,
  833.                 },
  834.                 CT_FoldsLUTIn3 = LUTBezier {
  835.                     KeyColorSplines = {
  836.                         [0] = {
  837.                             [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
  838.                             [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
  839.                         }
  840.                     },
  841.                     SplineColor = { Red = 0, Green = 0, Blue = 0 },
  842.                     CtrlWShown = false,
  843.                 },
  844.                 CT_FoldsLUTIn4 = LUTBezier {
  845.                     KeyColorSplines = {
  846.                         [0] = {
  847.                             [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
  848.                             [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
  849.                         }
  850.                     },
  851.                     SplineColor = { Red = 0, Green = 0, Blue = 0 },
  852.                     CtrlWShown = false,
  853.                 },
  854.                 Downscale = BetterResize {
  855.                     CtrlWShown = false,
  856.                     NameSet = true,
  857.                     Inputs = {
  858.                         Width = Input {
  859.                             Value = 3400,
  860.                             Expression = "CustomTool.NumberIn1",
  861.                         },
  862.                         Height = Input {
  863.                             Value = 2500,
  864.                             Expression = "CustomTool.NumberIn2",
  865.                         },
  866.                         HiQOnly = Input { Value = 0, },
  867.                         PixelAspect = Input { Value = { 2, 1 }, },
  868.                         Input = Input {
  869.                             SourceOp = "Bol_PostMultiply",
  870.                             Source = "Output",
  871.                         },
  872.                     },
  873.                     ViewInfo = OperatorInfo { Pos = { 220, 8.75757 } },
  874.                 }
  875.             },
  876.         }
  877.     },
  878.     ActiveTool = "WW_STmap_v11"
  879. }

User avatar
SecondMan
Site Admin
Posts: 3784
Joined: Thu Jul 31, 2014 5:31 pm
Answers: 8
Location: Vancouver, Canada
Been thanked: 147 times
Contact:

Re: Macro for Resolve 16 | Custom Controls reset on every restart

#6

Post by SecondMan » Tue Sep 24, 2019 9:27 pm

I cannot reproduce this. I add the macro (any of the two above) to a Fusion flow in Resolve, change parameters, save the project, restart Resolve and load the project again and the parameters values are retained through the process.

Can either of you provide a step-by-step of how to reproduce this?