Page 1 of 1

importing .fuse

PostPosted: Wed Apr 01, 2015 9:58 pm
by Stanislao Di Amato
I don't understand how to import a .fuse file.

Stany

Re: importing .fuse

PostPosted: Wed Apr 01, 2015 11:54 pm
by Blazej Floch
You do not import a fuse. Drop it in this folder:
C:\Users\Public\Documents\Blackmagic Design\Fusion\Fuses

Important: You will need to restart Fusion for the first time. Up from then you can Reload the Fuse if you happen to Edit it.

Here a quick tool type/source reference

.Fuse is a scripted plugin - meaning that it follows (a subpart, mostly 2D) of the Fusion API and runs pretty much like a native .plugin (see below). However Fuses are written in Lua (JIT since Fusion 7, which speeds up the evaluation by multiple times), can contain multi-threaded parts, even OpenCL code which is evaluated on the GPU/CPU (GPU support in Fusion Studio only).

.setting is a text file (Lua-Table) with values for a particular tool.
This can also be a complete Macro with User-Controls and custom parameters.
You can easily share settings, drop them in from the explorer or Bin.
Also note you can copy paste tools from Fusion which end up very similar to a .setting in the clipboard.

.plugin is a dll (dynamic linked library), probably written in C++ and compiled, so binary and unreadable. You need Fusion Studio to load third party plugins. Additionally you will need to restart Fusion.

.ofx is a special kind of plugin that sits in a very specific folder. It is like a plugin however follows a tight specification so it will work (in best cases) within multiple hosts (=other applications than Fusion).
Also needs restart.

Hope that makes sense.

Re: importing .fuse

PostPosted: Thu Apr 02, 2015 12:01 am
by Ivan Ivanov
Nice explanation for coding newbies like myself, thanks much for that.

Re: importing .fuse

PostPosted: Thu Apr 02, 2015 5:55 am
by Stanislao Di Amato
Blazej Floch wrote:You do not import a fuse. Drop it in this folder:
C:\Users\Public\Documents\Blackmagic Design\Fusion\Fuses

Important: You will need to restart Fusion for the first time. Up from then you can Reload the Fuse if you happen to Edit it.

Here a quick tool type/source reference

.Fuse is a scripted plugin - meaning that it follows (a subpart, mostly 2D) of the Fusion API and runs pretty much like a native .plugin (see below). However Fuses are written in Lua (JIT since Fusion 7, which speeds up the evaluation by multiple times), can contain multi-threaded parts, even OpenCL code which is evaluated on the GPU/CPU (GPU support in Fusion Studio only).

.setting is a text file (Lua-Table) with values for a particular tool.
This can also be a complete Macro with User-Controls and custom parameters.
You can easily share settings, drop them in from the explorer or Bin.
Also note you can copy paste tools from Fusion which end up very similar to a .setting in the clipboard.

.plugin is a dll (dynamic linked library), probably written in C++ and compiled, so binary and unreadable. You need Fusion Studio to load third party plugins. Additionally you will need to restart Fusion.

.ofx is a special kind of plugin that sits in a very specific folder. It is like a plugin however follows a tight specification so it will work (in best cases) within multiple hosts (=other applications than Fusion).
Also needs restart.

Hope that makes sense.


Hi,
I got the TimeMachine.fuse, i put it in the folder C:\Users\Public\Documents\Blackmagic Design\Fusion\Fuses, I reload all the fuses but I can't see it anywhere :-(

Stany

Re: importing .fuse

PostPosted: Thu Apr 02, 2015 6:08 am
by Pieter Van Houte
That's because it's a modifier Fuse. You use it by right clicking, and modifying, a parameter with it.

See example:

Code: Select all
{
   Tools = ordered() {
      Text1 = TextPlus {
         Inputs = {
            Width = Input { Value = 2048, },
            Height = Input { Value = 1556, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
            Font = Input { Value = "Arial", },
            StyledText = Input {
               SourceOp = "TimeCode1",
               Source = "Time",
            },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = "",
               },
            },
            ShadingGradient1 = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1, },
                     [1] = { 1, 1, 1, 1, },
                  },
               },
            },
            RenderToDPTFile = Input { Disabled = true, },
            DPTType = Input { Disabled = true, },
            DPTResolution = Input { Disabled = true, },
         },
         ViewInfo = OperatorInfo { Pos = { 336, 69, }, },
      },
      TimeCode1 = TimeCode {
         CtrlWZoom = false,
         Inputs = {
            Hrs = Input { Value = 0, },
            Mins = Input { Value = 0, },
            Secs = Input { Value = 0, },
         },
      },
      TimeStretcher1 = TimeStretcher {
         CtrlWZoom = false,
         Inputs = {
            SourceTime = Input {
               SourceOp = "TimeMachine1",
               Source = "Output",
            },
            Input = Input {
               SourceOp = "Text1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 446, 69, }, },
      },
      TimeMachine1 = Fuse.TimeMachine {
         CtrlWZoom = false,
         Inputs = {
            Mode = Input { Value = FuID { "XSheet", }, },
            Skip = Input { Value = 1, },
            XSheet = Input { Value = "10 to 1\r\n", },
            XFrameNumbers = Input {
               Value = "0  --  10\n1  --  9\n2  --  8\n3  --  7\n4  --  6\n5  --  5\n6  --  4\n7  --  3\n8  --  2\n9  --  1\n",
               Disabled = true,
            },
         },
      },
   },
}


The Time Machine is in the TimeStretcher node, under the Modifier tab.

Enjoy! :)

Re: importing .fuse

PostPosted: Thu Apr 02, 2015 6:53 am
by Stanislao Di Amato
Pieter Van Houte wrote:That's because it's a modifier Fuse. You use it by right clicking, and modifying, a parameter with it.

See example:

Code: Select all
{
   Tools = ordered() {
      Text1 = TextPlus {
         Inputs = {
            Width = Input { Value = 2048, },
            Height = Input { Value = 1556, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
            Font = Input { Value = "Arial", },
            StyledText = Input {
               SourceOp = "TimeCode1",
               Source = "Time",
            },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = "",
               },
            },
            ShadingGradient1 = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1, },
                     [1] = { 1, 1, 1, 1, },
                  },
               },
            },
            RenderToDPTFile = Input { Disabled = true, },
            DPTType = Input { Disabled = true, },
            DPTResolution = Input { Disabled = true, },
         },
         ViewInfo = OperatorInfo { Pos = { 336, 69, }, },
      },
      TimeCode1 = TimeCode {
         CtrlWZoom = false,
         Inputs = {
            Hrs = Input { Value = 0, },
            Mins = Input { Value = 0, },
            Secs = Input { Value = 0, },
         },
      },
      TimeStretcher1 = TimeStretcher {
         CtrlWZoom = false,
         Inputs = {
            SourceTime = Input {
               SourceOp = "TimeMachine1",
               Source = "Output",
            },
            Input = Input {
               SourceOp = "Text1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 446, 69, }, },
      },
      TimeMachine1 = Fuse.TimeMachine {
         CtrlWZoom = false,
         Inputs = {
            Mode = Input { Value = FuID { "XSheet", }, },
            Skip = Input { Value = 1, },
            XSheet = Input { Value = "10 to 1\r\n", },
            XFrameNumbers = Input {
               Value = "0  --  10\n1  --  9\n2  --  8\n3  --  7\n4  --  6\n5  --  5\n6  --  4\n7  --  3\n8  --  2\n9  --  1\n",
               Disabled = true,
            },
         },
      },
   },
}


The Time Machine is in the TimeStretcher node, under the Modifier tab.

Enjoy! :)


Sorry for my ignorance :-)

I really don't understand how to use it :-(

Stany

Re: importing .fuse

PostPosted: Thu Apr 02, 2015 7:04 am
by Stanislao Di Amato
Stanislao Di Amato wrote:
Pieter Van Houte wrote:That's because it's a modifier Fuse. You use it by right clicking, and modifying, a parameter with it.

See example:

Code: Select all
{
   Tools = ordered() {
      Text1 = TextPlus {
         Inputs = {
            Width = Input { Value = 2048, },
            Height = Input { Value = 1556, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
            Font = Input { Value = "Arial", },
            StyledText = Input {
               SourceOp = "TimeCode1",
               Source = "Time",
            },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = "",
               },
            },
            ShadingGradient1 = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1, },
                     [1] = { 1, 1, 1, 1, },
                  },
               },
            },
            RenderToDPTFile = Input { Disabled = true, },
            DPTType = Input { Disabled = true, },
            DPTResolution = Input { Disabled = true, },
         },
         ViewInfo = OperatorInfo { Pos = { 336, 69, }, },
      },
      TimeCode1 = TimeCode {
         CtrlWZoom = false,
         Inputs = {
            Hrs = Input { Value = 0, },
            Mins = Input { Value = 0, },
            Secs = Input { Value = 0, },
         },
      },
      TimeStretcher1 = TimeStretcher {
         CtrlWZoom = false,
         Inputs = {
            SourceTime = Input {
               SourceOp = "TimeMachine1",
               Source = "Output",
            },
            Input = Input {
               SourceOp = "Text1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 446, 69, }, },
      },
      TimeMachine1 = Fuse.TimeMachine {
         CtrlWZoom = false,
         Inputs = {
            Mode = Input { Value = FuID { "XSheet", }, },
            Skip = Input { Value = 1, },
            XSheet = Input { Value = "10 to 1\r\n", },
            XFrameNumbers = Input {
               Value = "0  --  10\n1  --  9\n2  --  8\n3  --  7\n4  --  6\n5  --  5\n6  --  4\n7  --  3\n8  --  2\n9  --  1\n",
               Disabled = true,
            },
         },
      },
   },
}


The Time Machine is in the TimeStretcher node, under the Modifier tab.

Enjoy! :)


Sorry for my ignorance :-)

I really don't understand how to use it :-(

Stany


I tryied a lot, but the workflow is a mistery for me :-(

Stany

Re: importing .fuse

PostPosted: Thu Apr 02, 2015 12:15 pm
by Blazej Floch
Modifiers are special kind of plugins that do handle parameter inputs instead of Image or 3D inputs.

Think of an Input like the data that you pass on and manipulate.

So if you connect a Text+ to a ColorCorrection, the MainInput for the ColorCorrector is the Output Image of the Text+.

Other than connections within the flow (Image, 3D, Particles, Shaders) you can also have connections to a Input Parameter (Properties).

A special kind of Modifier is Animation which drives the Parameter based on the Keyframes and Splines that you define. However there are different kind of modifiers based on the Type of Input.

So e.g.
1. Create a Text+
2. RightMouseClick the StyledText Field, choose Modify with->Comp Name
The Text is replaced with the composition name.
3. Switch to the Layout Tag. RightMouseClick Center (a context Menu pops up)
4. Select Modify With->Shake

Or check this part of the video.


Now the Position of the text is driven by the Modifier named Shake.
The Text floats around randomly.
You can change the Parameter in the Modifier Tab in the Tool Properties view.
(Make sure the tool is selected)

Similar the TimeMachine Modifier was build to be able to drive Time related tools with simple parameters.
Namely: TimeStretcher (2D) or Time3D (Fuse). But the property that it drives is simply Number Inputs, so you could drive anything.

So if you for example have a 2D animation ...
1. Create a TimeStretcher
2. Right Click and Remove "TimeStrechter1SourceTime" on the Source Time Input (to override the default frames)
3. Right Click the Source time again and choose "TimeMachine".

Now within the Modifier Tab you can change the TimeMachine's properties.
This will drive the time of the TimeStretcher with the result of the TimeMachine.
So the Output time is manipulated based on this value.

Makes Sense?

Re: importing .fuse

PostPosted: Thu Apr 02, 2015 6:47 pm
by Chad Capeland
And clearly, the modifier tab needs to go the way of the mask tab. :)

Re: importing .fuse

PostPosted: Thu Apr 02, 2015 8:28 pm
by Stanislao Di Amato
Blazej Floch wrote:Modifiers are special kind of plugins that do handle parameter inputs instead of Image or 3D inputs.

Think of an Input like the data that you pass on and manipulate.

So if you connect a Text+ to a ColorCorrection, the MainInput for the ColorCorrector is the Output Image of the Text+.

Other than connections within the flow (Image, 3D, Particles, Shaders) you can also have connections to a Input Parameter (Properties).

A special kind of Modifier is Animation which drives the Parameter based on the Keyframes and Splines that you define. However there are different kind of modifiers based on the Type of Input.

So e.g.
1. Create a Text+
2. RightMouseClick the StyledText Field, choose Modify with->Comp Name
The Text is replaced with the composition name.
3. Switch to the Layout Tag. RightMouseClick Center (a context Menu pops up)
4. Select Modify With->Shake

Or check this part of the video.


Now the Position of the text is driven by the Modifier named Shake.
The Text floats around randomly.
You can change the Parameter in the Modifier Tab in the Tool Properties view.
(Make sure the tool is selected)

Similar the TimeMachine Modifier was build to be able to drive Time related tools with simple parameters.
Namely: TimeStretcher (2D) or Time3D (Fuse). But the property that it drives is simply Number Inputs, so you could drive anything.

So if you for example have a 2D animation ...
1. Create a TimeStretcher
2. Right Click and Remove "TimeStrechter1SourceTime" on the Source Time Input (to override the default frames)
3. Right Click the Source time again and choose "TimeMachine".

Now within the Modifier Tab you can change the TimeMachine's properties.
This will drive the time of the TimeStretcher with the result of the TimeMachine.
So the Output time is manipulated based on this value.

Makes Sense?


Thanks!!!!!!

Now I understand the whole process!!!

Stany

Re: importing .fuse

PostPosted: Tue Sep 11, 2018 10:26 am
by Ringkun Mori
Blazej Floch wrote:You do not import a fuse. Drop it in this folder:
C:\Users\Public\Documents\Blackmagic Design\Fusion\Fuses


I do not understand this step, this folder does not exist on my computer

Re: importing .fuse

PostPosted: Tue Sep 11, 2018 3:50 pm
by Bryan Ray
Try this path:

%APPDATA%\Blackmagic Design\Fusion\Fuses

%APPDATA% is a shortcut that will lead to your profile's AppData\Roaming folder on Windows, which is where Fusion 9 keeps its support files. AppData is hidden in Windows by default, so it can be difficult to find.

Re: importing .fuse

PostPosted: Fri Jun 26, 2020 7:45 am
by magiva
it doesnt go in %AppData%\Blackmagic Design\Fusion\Fuses
its a common mistake to put it in there
it does, go in here %AppData%\Blackmagic Design\DaVinci Resolve\Support\Fusion\Fuses

then you will find the fuses under fuses
if you right mouse in fusion to add tool you will see a menu for fuses and your fuses in there

Re: importing .fuse

PostPosted: Fri Jun 26, 2020 8:46 am
by TheBloke
magiva wrote:it doesnt go in %AppData%\Blackmagic Design\Fusion\Fuses
its a common mistake to put it in there
it does, go in here %AppData%\Blackmagic Design\DaVinci Resolve\Support\Fusion\Fuses
That's correct for the Fusion page in DaVinci Resolve. This topic, which started in 2015 (before Resolve even included Fusion), originally related to the standalone Fusion Studio, for which the original paths given were correct.

So yes, Resolve users should use the path you gave. Users of Fusion Studio should use the path originally given. And users of both products would need to copy it to both paths.

The equivalent paths for macOS are, for Fusion and Resolve respectively:
Code: Select all
/Users/YourUserName/Library/Application Support/Blackmagic Design/Fusion/Fuses
/Users/YourUserName/Library/Application Support/Blackmagic Design/DaVinci Resolve/Fusion/Fuses

importing .fuse

PostPosted: Fri Jun 26, 2020 9:14 am
by iddos-l
magiva wrote:it doesnt go in %AppData%\Blackmagic Design\Fusion\Fuses
its a common mistake to put it in there
it does, go in here %AppData%\Blackmagic Design\DaVinci Resolve\Support\Fusion\Fuses


Yes to be more specific this path is for windows users with DaVinci resolve 16 and above.
Below version 16 on windows there is no “support” folder.


Sent from my iPhone using Tapatalk

Re: importing .fuse

PostPosted: Fri Jun 26, 2020 3:26 pm
by Bryan Ray
TheBloke wrote:So yes, Resolve users should use the path you gave. Users of Fusion Studio should use the path originally given. And users of both products would need to copy it to both paths.


For anyone running both, it might save your sanity to add a path to the path maps so that all products look at a single location for resources. That way you could add a fuse, macro, or script to Resolve and Fusion at the same time. And you could put that location somewhere easier to find instead of deep in the application data paths, which are hidden on Windows by default, anyway.


if you right mouse in fusion to add tool you will see a menu for fuses and your fuses in there


Not all Fuses will go into the Fuses tool category in Fusion. They can be placed in any category, and current best practice is to place them in categories that match the native Fusion tools they most resemble. For instance, Multi Merge (if installed) is found in the Composite category, and VariDilate is in Filter.

Re: importing .fuse

PostPosted: Fri Jun 26, 2020 9:09 pm
by TheBloke
Bryan Ray wrote:For anyone running both, it might save your sanity to add a path to the path maps so that all products look at a single location for resources. That way you could add a fuse, macro, or script to Resolve and Fusion at the same time. And you could put that location somewhere easier to find instead of deep in the application data paths, which are hidden on Windows by default, anyway.
Oh wow yeah that's a great idea. Fusion's PathMap system looks really powerful.

Re: importing .fuse

PostPosted: Fri Jun 26, 2020 10:11 pm
by Bryan Ray
If you happen to be running Fusion in a networked multi-user environment, or if you have a render farm, I strongly recommend pointing the Fuse, Lua Modules, and Plug-ins path maps to a network location. We run everything off an application server so when a user installs a new tool everyone has access to it. And the farm absolutely needs access to the three paths mentioned above, or jobs submitted with a fuse will probably fail.

It takes a little work to get Reactor configured that way, but there are instructions to do so at We Suck Less, and it's well worth it.