Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save AndrewHazelden/2f473b7042a485bcb8d4ca7e82a5df5e to your computer and use it in GitHub Desktop.
Save AndrewHazelden/2f473b7042a485bcb8d4ca7e82a5df5e to your computer and use it in GitHub Desktop.
Gradient Data Nodes.comp
Composition {
CurrentTime = 2,
RenderRange = { 1, 144 },
GlobalRange = { 1, 144 },
CurrentID = 81,
HiQ = true,
PlaybackUpdateMode = 0,
StereoMode = false,
Version = "Fusion Studio 19.0 build 44",
SavedOutputs = 1,
HeldTools = 0,
DisabledTools = 0,
LockedTools = 0,
AudioOffset = 0,
AutoRenderRange = true,
Resumable = true,
OutputClips = {
},
Tools = {
Background1 = Background {
Inputs = {
GlobalIn = Input { Value = 1, },
GlobalOut = Input { Value = 144, },
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
Type = Input { Value = FuID { "Gradient" }, },
Gradient = Input {
SourceOp = "vGradientDoString1",
Source = "Output",
}
},
ViewInfo = OperatorInfo { Pos = { 165, 82.5 } },
Colors = { TileColor = { R = 0.266666666666667, G = 0.56078431372549, B = 0.396078431372549 }, }
},
vGradientDoString1 = Fuse.vGradientDoString {
CtrlWZoom = false,
NameSet = true,
CurrentSettings = 2,
CustomData = {
Settings = {
[1] = {
Tools = ordered() {
vGradientDoString3_1 = Fuse.vGradientDoString {
Inputs = {
Input = Input { Value = "local grad = {}\nlocal totalColors = 32\n\nfor index = 0, totalColors, 1 do\n local R = math.cos(index / totalColors)\n local G = 0\n local B = 0\n local A = 1\n\n table.insert(grad, {P = tonumber(index / totalColors), R = tonumber(R), G = tonumber(G), B = tonumber(B), A = tonumber(A)})\nend\n\nreturn grad\n" },
ShowDump = Input { Value = 1 },
DisplayLines = Input { Value = 38 },
ShowCode = Input { Value = 1 }
},
CtrlWZoom = false,
ViewInfo = OperatorInfo { Pos = { 650.386, 149.306 } },
CustomData = {
}
}
}
}
}
},
Inputs = {
Input = Input { Value = "-- Create a sinewave like curve as the gradient output\nlocal grad = {}\nlocal totalColors = 32\n\nlocal height = 0.25\nlocal offset = 0.5\n\nfor index = 0, totalColors, 1 do\n local R = math.sin(index) * height + offset\n local G = 0\n local B = index / totalColors\n local A = 1\n\n table.insert(grad, {P = tonumber(index / totalColors), R = tonumber(R), G = tonumber(G), B = tonumber(B), A = tonumber(A)})\nend\n\nreturn grad\n", },
DisplayLines = Input { Value = 18, },
ShowCode = Input { Value = 1, },
ShowDump = Input { Value = 1, }
},
ViewInfo = OperatorInfo { Pos = { 55, 49.5 } },
Colors = { TileColor = { R = 0.266666666666667, G = 0.56078431372549, B = 0.396078431372549 }, }
},
Note1 = Note {
Inputs = {
Comments = Input { Value = "Use a DoString node to run inline Lua code. This is used to generate a Fusion gradient object. Then have Vonk Ultra data nodes output a CSV spreadsheet from the gradient color samples.", }
},
ViewInfo = StickyNoteInfo {
Pos = { 113.436, 14.9441 },
Flags = {
Expanded = true
},
Size = { 209.333, 25.4545 }
},
Colors = { TileColor = { R = 0.266666666666667, G = 0.56078431372549, B = 0.396078431372549 }, }
},
vTextToClipboard1 = Fuse.vTextToClipboard {
Inputs = {
Text = Input {
SourceOp = "vTextViewer",
Source = "Output",
}
},
ViewInfo = OperatorInfo { Pos = { 275, 49.5 } },
Colors = { TileColor = { R = 0.266666666666667, G = 0.56078431372549, B = 0.396078431372549 }, }
},
Underlay1 = Underlay {
ViewInfo = UnderlayInfo {
Pos = { 165, 0.409092 },
Size = { 349.271, 131.788 }
},
Colors = { TileColor = { R = 0.266666666666667, G = 0.56078431372549, B = 0.396078431372549 }, }
},
GradientToCSVSpreadsheet = GroupOperator {
CtrlWZoom = false,
NameSet = true,
Inputs = ordered() {
MainInput1 = InstanceInput {
SourceOp = "vGradientCreate1",
Source = "Gradient",
},
Input1 = InstanceInput {
SourceOp = "vTextViewer",
Source = "UISeparator1",
},
Input4 = InstanceInput {
SourceOp = "vTextViewer",
Source = "FontSize",
Default = 0,
},
Input5 = InstanceInput {
SourceOp = "vTextViewer",
Source = "DisplayLines",
Default = 14,
},
Input6 = InstanceInput {
SourceOp = "vTextViewer",
Source = "WrapLines",
Default = 1,
},
MainInput2 = InstanceInput {
SourceOp = "vTextViewer",
Source = "Input",
Page = "Controls",
},
Input2 = InstanceInput {
SourceOp = "vGradientCreate1",
Source = "ShowInput",
Default = 0,
}
},
Outputs = {
MainOutput1 = InstanceOutput {
SourceOp = "vTextViewer",
Source = "Output",
}
},
ViewInfo = GroupInfo {
Pos = { 165, 49.5 },
Flags = {
AllowPan = false,
AutoSnap = true
},
Size = { 824.875, 228.295, 412.438, 24.2424 },
Direction = "Horizontal",
PipeStyle = "Direct",
Scale = 1,
Offset = { 0, 0 }
},
Tools = ordered() {
PipeRouter1_1 = PipeRouter {
CtrlWShown = false,
Inputs = {
Input = Input {
SourceOp = "vGradientCreate1",
Source = "Output",
}
},
ViewInfo = PipeRouterInfo { Pos = { -302.938, 7.25758 } },
},
vNumberCompReqTime1 = Fuse.vNumberCompReqTime {
CtrlWShown = false,
ViewInfo = OperatorInfo { Pos = { -247.938, 40.2576 } },
},
vGradientToNumber1 = Fuse.vGradientToNumber {
CtrlWShown = false,
Inputs = {
Gradient = Input {
SourceOp = "vGradientCreate1",
Source = "Output",
},
Index = Input {
SourceOp = "vNumberCompReqTime1",
Source = "Output",
},
ShowInput = Input { Value = 1, }
},
ViewInfo = OperatorInfo { Pos = { -247.938, 73.2576 } },
},
vGradientCreate1 = Fuse.vGradientCreate {
CtrlWShown = false,
Inputs = {
Gradient = Input {
SourceOp = "vGradientDoString1",
Source = "Output",
},
ShowInput = Input { Value = 1, }
},
ViewInfo = OperatorInfo { Pos = { -357.938, 73.2576 } },
Colors = { TileColor = { R = 0.266666666666667, G = 0.56078431372549, B = 0.396078431372549 }, }
},
R = Fuse.vTextFromNumber {
CtrlWShown = false,
NameSet = true,
Inputs = {
Number = Input {
SourceOp = "vGradientToNumber1",
Source = "OutputR",
}
},
ViewInfo = OperatorInfo { Pos = { -82.9375, 73.2576 } },
Colors = { TileColor = { R = 0.266666666666667, G = 0.56078431372549, B = 0.396078431372549 }, }
},
vGradientColorCount1 = Fuse.vGradientColorCount {
CtrlWShown = false,
Inputs = {
Gradient = Input {
SourceOp = "PipeRouter1_1",
Source = "Output",
}
},
ViewInfo = OperatorInfo { Pos = { -82.9375, 7.25758 } },
},
G = Fuse.vTextFromNumber {
CtrlWShown = false,
NameSet = true,
Inputs = {
Number = Input {
SourceOp = "vGradientToNumber1",
Source = "OutputG",
}
},
ViewInfo = OperatorInfo { Pos = { -82.9375, 106.258 } },
Colors = { TileColor = { R = 0.266666666666667, G = 0.56078431372549, B = 0.396078431372549 }, }
},
vTextMerge1 = Fuse.vTextMerge {
CtrlWShown = false,
Inputs = {
Which = Input { Value = 1, },
Text1 = Input {
SourceOp = "R",
Source = "Output",
},
Separator = Input { Value = ",", },
Text2 = Input {
SourceOp = "G",
Source = "Output",
},
Text3 = Input {
SourceOp = "B",
Source = "Output",
},
Text4 = Input {
SourceOp = "A",
Source = "Output",
}
},
ViewInfo = OperatorInfo { Pos = { 27.0625, 73.2576 } },
Colors = { TileColor = { R = 0.266666666666667, G = 0.56078431372549, B = 0.396078431372549 }, }
},
PipeRouter1 = PipeRouter {
CtrlWShown = false,
Inputs = {
Input = Input {
SourceOp = "vGradientColorCount1",
Source = "Output",
}
},
ViewInfo = PipeRouterInfo { Pos = { 27.0625, 7.25758 } },
},
B = Fuse.vTextFromNumber {
CtrlWShown = false,
NameSet = true,
Inputs = {
Number = Input {
SourceOp = "vGradientToNumber1",
Source = "OutputB",
}
},
ViewInfo = OperatorInfo { Pos = { -82.9375, 139.258 } },
Colors = { TileColor = { R = 0.266666666666667, G = 0.56078431372549, B = 0.396078431372549 }, }
},
vTextAccumulator1 = Fuse.vTextAccumulator {
CtrlWShown = false,
Inputs = {
Text = Input {
SourceOp = "vTextMerge1",
Source = "Output",
},
StartFrame = Input { Value = 1, },
EndFrame = Input {
SourceOp = "PipeRouter1",
Source = "Output",
},
RemoveDuplicates = Input { Value = 1, },
ShowInput = Input { Value = 1, }
},
ViewInfo = OperatorInfo { Pos = { 137.062, 73.2576 } },
},
A = Fuse.vTextFromNumber {
CtrlWShown = false,
NameSet = true,
Inputs = {
Number = Input {
SourceOp = "vGradientToNumber1",
Source = "OutputA",
}
},
ViewInfo = OperatorInfo { Pos = { -82.9375, 172.258 } },
Colors = { TileColor = { R = 0.266666666666667, G = 0.56078431372549, B = 0.396078431372549 }, }
},
CSV_vTextMerge2 = Fuse.vTextMerge {
CtrlWShown = false,
NameSet = true,
Inputs = {
Which = Input { Value = 1, },
Text1 = Input {
SourceOp = "CSV_Header",
Source = "Output",
},
Text2 = Input {
SourceOp = "vTextAccumulator1",
Source = "Output",
}
},
ViewInfo = OperatorInfo { Pos = { 247.062, 73.2576 } },
},
CSV_Header = Fuse.vTextCreate {
CtrlWShown = false,
NameSet = true,
Inputs = {
Text = Input { Value = "R,G,B,A", }
},
ViewInfo = OperatorInfo { Pos = { 247.062, 40.2576 } },
},
vTextViewer = Fuse.vTextViewer {
CtrlWZoom = false,
CtrlWShown = false,
Inputs = {
Which = Input { Value = 1, },
FontSize = Input { Value = 0, },
DisplayLines = Input { Value = 14, },
Input = Input {
SourceOp = "CSV_vTextMerge2",
Source = "Output",
}
},
ViewInfo = OperatorInfo { Pos = { 357.062, 73.2576 } },
UserControls = ordered() {
Input = {
TEC_ReadOnly = false,
INPID_InputControl = "TextEditControl",
TEC_Lines = 25,
LINKS_Name = "Input",
LINKID_DataType = "Text",
IC_NoLabel = true,
INP_Passive = true,
ICS_ControlPage = "Controls",
TEC_Wrap = false,
}
}
}
},
Colors = { TileColor = { R = 0.266666666666667, G = 0.56078431372549, B = 0.396078431372549 }, }
}
},
Frames = {
{
FrameTypeID = "ChildFrame",
Mode = 3,
LayoutPreset = 0,
PresetName = "Default",
Left = 0,
Top = 27,
Width = 2119,
Height = 1062,
ZoneInfo = {
AuxRight = { Expanded = true },
["!Left"] = {
},
AuxLeft = { Expanded = true },
Right = { Expanded = true, },
Left = { Expanded = false, },
["!Right"] = {
}
},
ViewInfo = {
Viewer1 = { Show = true, RatioX = 1.00121212121212, RatioY = 0.01, MRU = 1, Adjust = false, },
InnerLeft = {
},
MainSplit = {
RatioX = 100,
RatioY = 1,
},
CenterSplit = {
RatioX = 0.928312816799421,
RatioY = 100,
},
Viewer2 = { Show = true, RatioX = 0.998787878787878, RatioY = 0.01, MRU = 1, Adjust = false, },
Comments = { Show = false },
Time = { Show = true, RatioX = 100, },
InnerColumns = {
RatioX = 100,
RatioY = 2,
},
Keyframes = { Show = false, },
LayoutStrip = { Show = true, RatioX = 100, },
Inspector = { Show = true, RatioY = 1, RatioX = 100, },
InnerRight = {
},
MediaPool = { Show = false, },
OuterColumns = {
RatioX = 100,
RatioY = 1,
},
Effects = { Show = false, Adjust = true, RatioY = 100, MRU = 0, RatioX = 1, },
Clips = { Show = false, },
Metadata = { Show = false, },
OuterLeft = {
},
ViewerSplit = {
RatioX = 100,
RatioY = 1,
},
Nodes = { Show = true, RatioY = 100, RatioX = 1, },
OuterRight = {
PixelX = 519,
RatioY = 100,
},
ActionStrip = { Show = false, RatioX = 100, MRU = 0, Adjust = true, },
Spline = { Show = false, }
},
Views = ordered() {
Effects = MultiView {
Active = "EffectView",
ViewList = ordered() {
EffectView = "EffectView"
},
},
Nodes = MultiView {
Active = "FlowView",
ViewList = ordered() {
FlowView = "FlowView"
},
FlowView = FlowView {
Flags = {
Navigator = true,
AutoHideNavigator = true,
AutoSnap = true
},
NavigatorSize = { 200, 140 },
Direction = "Horizontal",
PipeStyle = "Direct",
RootScale = 2,
RootOffset = { 176.231, 11.7225 }
}
},
Keyframes = MultiView {
Active = "TimelineView",
ViewList = ordered() {
TimelineView = "TimelineView"
},
TimelineView = TimelineView {
TreeControlState = {
},
DisplayMode = "All Tools",
ShowCurrentTimeTools = false,
Filter = "Show All",
ShowSelectedTools = false,
ShowAnimatedToolsOnly = false,
ShowEditBoxes = false,
KeyFrameView = {
Position = { Left = 232, Bottom = 320 },
ScaleX = 0.306627680311891,
OffsetX = -6.13255360623782,
OffsetY = 0,
AutoScaling = "scroll",
AutoSnapTo = "frame",
AutoSnapToGuidelines = false,
GuidelinesGrabEnabled = true,
GuidelinesSnapTo = "frame"
},
Spreadsheet = { LeftPos = 232, Visible = false }
}
},
Spline = MultiView {
Active = "SplineView",
ViewList = ordered() {
SplineView = "SplineEditorView"
},
SplineView = SplineEditorView {
LeftPos = 264,
ScaleX = 0.2,
ScaleY = 0.00338983050847458,
OffsetX = -3.4,
OffsetY = 0,
AutoScaling = "scroll",
AutoSnapTo = "frame",
AutoSnapToGuidelines = false,
GuidelinesSnapTo = "frame",
ShowKeyMarkers = false,
IndependentHandles = false,
ShowNonSplineModifiers = false,
GuidelinesGrabEnabled = true,
ShowOneToolOnly = false,
ShowSelectedTools = false,
ShowAllInputs = false,
Filter = "Show All"
}
},
Inspector = MultiView {
Active = "Tools",
ViewList = ordered() {
Tools = "ControlView",
Modifiers = "ModifierView"
},
},
Viewer1 = MultiView {
Active = "LeftView",
ViewList = ordered() {
LeftView = "PreviewContainer"
},
},
Viewer2 = MultiView {
Active = "RightView",
ViewList = ordered() {
RightView = "PreviewContainer"
},
},
Time = "TimeView",
ActionStrip = "ActionStripView",
LayoutStrip = "LayoutStripView"
},
Layout = {
{ ID = "LayoutStrip", FixedY = 36, Resolve = false, Flat = true },
{
{
{ ID = "MediaPool", Fusion = false, RatioX = 1 },
{ ID = "Effects", RatioX = 1 },
Zone = "Left",
Rows = 2,
PaneID = "OuterLeft",
PixelX = 420
},
{
{
{
{ ID = "MediaPool", Fusion = false, RatioX = 1 },
{ ID = "Effects", RatioX = 1 },
PaneID = "InnerLeft",
MaxViews = 1,
PixelX = 420,
Rows = 2,
Zone = "!Left"
},
{
{
{ ID = "Viewer1", RatioY = 0.01, RatioX = 1 },
{ ID = "Viewer2", RatioX = 1 },
RatioY = 1,
Columns = 2,
PaneID = "ViewerSplit"
},
{ ID = "Time", FixedY = 83, Flat = true },
RatioX = 1,
Rows = 2
},
{
{ ID = "Inspector", RatioY = 1 },
{ ID = "Metadata", RatioY = 1, Fusion = false },
PaneID = "InnerRight",
MaxViews = 1,
PixelX = 420,
Rows = 2,
Zone = "!Right"
},
RatioY = 2,
Columns = 3,
PaneID = "InnerColumns"
},
{ ID = "ActionStrip", FixedY = 50, Flat = true },
{
{ ID = "Nodes", RatioX = 1 },
{ ID = "Spline", RatioX = 1 },
{ ID = "Keyframes", RatioX = 1 },
RatioY = 1,
Columns = 3,
PaneID = "MainSplit"
},
{ Fusion = false, ID = "Clips", LARGE_FixedY = 160, MEDIUM_FixedY = 138, SMALL_FixedY = 110 },
RatioX = 1,
Rows = 4,
PaneID = "CenterSplit"
},
{
{ ID = "Inspector", RatioY = 1 },
{ ID = "Metadata", RatioY = 1, Fusion = false },
Zone = "Right",
Rows = 2,
PaneID = "OuterRight",
PixelX = 420
},
RatioY = 1,
Columns = 3,
PaneID = "OuterColumns"
},
RatioX = 1,
Rows = 2,
RatioY = 1
},
TopBar = {
Left = { "Left", "MediaPool", "Effects", "Clips", "Nodes", "Console" },
Right = { "Spline", "Keyframes", "Metadata", "Inspector", "Right" }
}
}
},
Prefs = {
Comp = {
Views = {
RightView = {
SideB = {
PrevCtrlInactiveColor = 4278255360,
PickW = 1,
PickH = 1,
PrevCtrlActiveColor = 4278190335,
Viewer = {
EnableLUTs = false,
LUTPlugin = "FusionViewLUT",
NearZ = 0,
FitMarginX = 0,
FitMarginType = 0,
FarZ = -1000,
FitMarginY = 0
}
},
},
LeftView = {
SideB = {
PrevCtrlInactiveColor = 4278255360,
PickW = 1,
PickH = 1,
PrevCtrlActiveColor = 4278190335,
Viewer = {
EnableLUTs = false,
LUTPlugin = "FusionViewLUT",
NearZ = 0,
FitMarginX = 0,
FitMarginType = 0,
FarZ = -1000,
FitMarginY = 0
}
},
},
View1 = {
PrevCtrlInactiveColor = 4278255360,
FullScreen = false,
PickW = 1,
PickH = 1,
AlwaysOnTop = true,
PrevCtrlActiveColor = 4278190335,
SideB = {
PrevCtrlInactiveColor = 4278255360,
PickW = 1,
PickH = 1,
PrevCtrlActiveColor = 4278190335,
Viewer = {
EnableLUTs = false,
LUTPlugin = "FusionViewLUT",
NearZ = 0,
FitMarginX = 0,
FitMarginType = 0,
FarZ = -1000,
FitMarginY = 0
}
}
},
View2 = {
PickH = 1,
PickW = 1,
AlwaysOnTop = true,
FullScreen = false
}
},
Paths = {
Map = {
},
EnableReverseMapping = true
},
FrameFormat = {
GuideRatio = 1.77777777777778,
DepthFull = 3,
DepthPreview = 3,
DepthInteractive = 3,
},
Unsorted = {
GlobalStart = 1,
GlobalEnd = 144
},
FlowView = {
RemoveRouters = false
},
QuickTime = {
},
}
},
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment