Welcome to WSL!

Make yourself at home, but before posting, please may I ask you to read the following topics.


Posting 101
Server space, screenshots, and you

Thank you!

PS. please pretty please:


Image

Dual Monitor Setup for FU 16 - Hack/Beta

User avatar
MelbFilm
Fusioneer
Posts: 90
Joined: Thu Oct 13, 2016 2:38 pm
Been thanked: 6 times

Re: Dual Monitor Setup for FU 16 - Hack/Beta

#16

Post by MelbFilm » Fri Feb 14, 2020 3:40 pm

I have noticed this when using VFX Connect from Resolve. It appears to a be refresh bug with Fusion, if you run the script, save and close the comp, reopen and run the script it should work fine from then on.
Last edited by MelbFilm on Sun Feb 16, 2020 11:08 am, edited 1 time in total.

User avatar
AbdelrahmanMSaid
Fusioneer
Posts: 72
Joined: Tue Oct 04, 2016 9:54 am

Re: Dual Monitor Setup for FU 16 - Hack/Beta

#17

Post by AbdelrahmanMSaid » Sat Feb 15, 2020 2:28 pm

MelbFilm wrote:
Mon Nov 18, 2019 5:30 pm
So I wrote this comp script which can make your Fu 16 desktop look like this:

desktop.jpg

I did this because this is how I work and I cannot use the existing interface on Dual monitors so its very much tailored to my preferences. Feel free to hack the code apart to get it to work the way you need, best place to start is to examine the output of the 's' variable which contains the layout information.

Be warned, there are issues with this, it messes the layout up so you may need to copy your flow into a new project if you want to change back to the original layout.

Also every time you close/open a window you will need to rerun the script. I have attached it to a hot key so I can refresh the interface which makes it a bit more usable.

Note:

* To hide/show the Effects/Node/Inspector Window go to the View menu and select your options, then run the script again to refresh the interface.
* The Spline and Keyframes are now in the Nodes tab.
* The setup is not saved entirely with the file so you will need to run the script on re-opening.

This is a hack and there are issues with it but for my workflow it outweighs the terrible default layout.

Script is here (install in the Comp script dir):
Code: [Select all] [Expand/Collapse] [Download] (ISDK_SetLayout.lua)
  1. --
  2. --
  3. --  Dual Monitor Setup Hackaroo for Fusion 16
  4. --
  5. --  Written by Kel Sheeran of ISDK Films
  6. --
  7. --  Copyright 2019
  8. --
  9. --  v1.0    19 Nov 2019     Prototype created
  10. --
  11.  
  12.  
  13. s = comp.CurrentFrame:GetViewLayout()
  14.  
  15. --print('\n\nBEFORE\n')
  16. --dump(s)
  17.  
  18.  
  19. _Viewers =  {{ __flags = 256, RatioX = 0.5, RatioY = 1, ID = 'Viewer1' }, { ID = 'Viewer2',  __flags = 256, RatioX = 0.5 }, RatioX = 1, RatioY = 0.72, Columns = 2 }
  20. _Time = {__flags = 256, FixedY =83, Flat = true, ID = 'Time'}
  21. _Left =  { _Viewers , _Time, RatioX = 1, RatioY = 1, Rows = 2 }
  22.  
  23. _Effects = { __flags = 256, PixelX = 320, RatioY = 1, ID = 'Effects' }
  24. _Nodes = { __flags = 256, RatioY = 1, ID = 'Nodes' }
  25. _Inspector = { __flags = 256, PixelX = 440, RatioY = 1, ID = 'Inspector' }
  26. _Right =  { _Effects, _Nodes, _Inspector, RatioX = 1, RatioY = 1, Columns = 3 }
  27.  
  28. nl = { _Left , _Right, Columns = 2, RatioX = 1, RatioY = 1 }
  29.  
  30. s.ViewInfo.LayoutStrip.Show = false
  31. s.ViewInfo.ActionStrip.Show = false
  32. s.ViewInfo.Spline.Show = false
  33. s.ViewInfo.Keyframes.Show = false
  34.  
  35. -- Add Tabs to Nodes View
  36. s.Views.Nodes.ViewList.TimelineView='TimelineView'
  37. s.Views.Nodes.ViewList.SplineView='SplineView'
  38.  
  39. s.Layout = nl
  40.  
  41. --print('\n\nAFTER\n')
  42. --dump(nl)
  43.  
  44. comp.CurrentFrame:SetViewLayout(s)
This is brilliant. I have been avoiding Fusion 16 mainly because of the layout. This makes it usable for me as I use roughly the same layout as yours.

One question, though. My Lua abilities is still a bit limited, so I am not sure how can I tweak this layout. I would personally prefer to have the Timeline and Spline Views below the image viewer. Something like this:

Screenshot at 2020-02-15 22-27-06.png

Can you help me?
You do not have the required permissions to view the files attached to this post.

User avatar
andromeda_girl
Fusionista
Posts: 507
Joined: Sun Feb 21, 2016 6:25 am
Been thanked: 7 times

Re: Dual Monitor Setup for FU 16 - Hack/Beta

#18

Post by andromeda_girl » Sun Feb 16, 2020 6:50 am

can you clarify that screengrab is16?
because that sure looks like 9
O_o
if you got 16 to look like 9 ... buddy that's the holy grail of fixing 16's puk-fuggly GUI

User avatar
AbdelrahmanMSaid
Fusioneer
Posts: 72
Joined: Tue Oct 04, 2016 9:54 am

Re: Dual Monitor Setup for FU 16 - Hack/Beta

#19

Post by AbdelrahmanMSaid » Sun Feb 16, 2020 8:27 am

Sorry. I wasn't clear. The screen grab is from Fu9. This is how I setup my workspace. I am hoping to replicate the same setup in 16, but I am not very familiar with setting the layout using Lua.

User avatar
MelbFilm
Fusioneer
Posts: 90
Joined: Thu Oct 13, 2016 2:38 pm
Been thanked: 6 times

Re: Dual Monitor Setup for FU 16 - Hack/Beta

#20

Post by MelbFilm » Sun Feb 16, 2020 2:05 pm

Try this. Please note that you will need to make sure Spline is active in the View Menu then run the script, if you turn of Spline and then run the script it will hide the Spline.

Code: Select all

--
--  Dual Monitor Setup Hackaroo for Fusion 16
--
--  Written by Kel Sheeran of ISDK Films
--
--  Copyright 2019
--
--  v1.0	19 Nov 2019		Prototype created
--  v1.1    17 Feb 2020     Customised for WSL request


s = comp.CurrentFrame:GetViewLayout()

--print('\n\nBEFORE\n')
--dump(s)

_Effects = { __flags = 256, PixelX = 320, RatioY = 1, ID = 'Effects' }
_Viewers =  {{ ID = 'Viewer1', __flags = 256, RatioX = 0.5, RatioY = 1 }, { ID = 'Viewer2',  __flags = 256, RatioX = 0.5 }, _Effects, RatioX = 1, RatioY = 0.72, Columns = 3 }
_Time = {__flags = 256, FixedY =83, Flat = true, ID = 'Time'}
_Spline = { __flags = 256, FixedY = 300, ID = 'Spline' } 
_Left =  { _Viewers , _Spline, RatioX = 1, RatioY = 1, Rows = 2 }


_Nodes = { __flags = 256, RatioY = 1, ID = 'Nodes' }
_Inspector = { __flags = 256, PixelX = 440, RatioY = 1, ID = 'Inspector' }
_Right =  { _Nodes, _Inspector, RatioX = 1, RatioY = 1, Columns = 2 }

_nl = { _Left , _Right, Columns = 2, RatioX = 1, RatioY = 1 }
_master = {_nl, _Time, Rows = 2, RatioX = 1, RatioY = 1}

if s.ViewInfo then
	s.ViewInfo.LayoutStrip.Show = false
	s.ViewInfo.ActionStrip.Show = false
	--s.ViewInfo.Spline.Show = true
	--s.ViewInfo.Keyframes.Show = false
end

s.Views.Spline.ViewList.TimelineView='TimelineView'
s.Views.Spline.ViewList.SplineView='SplineView'
s.Views.Spline.ViewList.ConsoleView='ConsoleView'

s.Layout = _master

--print('\n\nAFTER\n')
--dump(nl)

comp.CurrentFrame:SetViewLayout(s)
GIves me this:

Desktop.jpg
You do not have the required permissions to view the files attached to this post.

User avatar
AbdelrahmanMSaid
Fusioneer
Posts: 72
Joined: Tue Oct 04, 2016 9:54 am

Re: Dual Monitor Setup for FU 16 - Hack/Beta

#21

Post by AbdelrahmanMSaid » Mon Feb 17, 2020 12:56 pm

Thank you very much. It works but not perfectly, unfortunately. For instance, in the console view, the buttons to change the scripting language are missing. Also, as with a lot of other parts of the UI, 'F4' is not working, so I can't expand the spline view to full screen.

I guess I will just stick to your original setup for now. BMD is most likely working on the next big release for NAB. Hopefully, they address the UI issues.

I really appreciate you trying to help.

User avatar
Movalex
Sir Requestalot
Posts: 251
Joined: Fri Nov 03, 2017 5:36 am
Answers: 4
Been thanked: 44 times
Contact:

Re: Dual Monitor Setup for FU 16 - Hack/Beta

#22

Post by Movalex » Tue Feb 18, 2020 8:19 am

Hi, @AbdelrahmanMSaid! There's a Layouter script for switching and storing layouts. Here's a topic about it: viewtopic.php?p=29342#p29342 .
I managed to recreate @MelbFilm's layout, and if you load it, you can use F4 to expand any window. Put MelbFilmSetup.layout file to UserData:Layouts folder and click Load layout.
Upper part of the Console will be hidden anyway. This is a bug Fusion has since 16.0 introduced new tabbed view. That's why I added Show Console button to Layouter :)
Here's a new script version. Unzip layout files to UserData:Layouts folder so 1click preset and Reset All button would work. Reset layout can be crashy on Windows, so beware to overuse it. To get Layouter you can also install Toolbar16 from Reactor, it will be bundled at Script/Toolbar16/Layouter.

Image
Image

layouts.zip
MelbFilmSetup.zip
LayouterLocal.lua
You do not have the required permissions to view the files attached to this post.

User avatar
SecondMan
Site Admin
Posts: 4546
Joined: Thu Jul 31, 2014 5:31 pm
Answers: 28
Location: Vancouver, Canada
Been thanked: 128 times
Contact:

Re: Dual Monitor Setup for FU 16 - Hack/Beta

#23

Post by SecondMan » Tue Feb 18, 2020 1:55 pm

@Movalex - especially for you, .layout files can now be atttached to posts on WSL :)

User avatar
Movalex
Sir Requestalot
Posts: 251
Joined: Fri Nov 03, 2017 5:36 am
Answers: 4
Been thanked: 44 times
Contact:

Re: Dual Monitor Setup for FU 16 - Hack/Beta

#24

Post by Movalex » Wed Feb 19, 2020 2:34 am

Thanks, @SecondMan !
btw, I think Layouter window ought be much smaller.

Image
LayouterLocal.lua

UPD:


And here's your layout, @AbdelrahmanMSaid.
It is a two-monitor setup with floating window. Please check if it works for you.
Image
AbdelrahmanMSaidSetup.layout
To avoid UI surprises you should better disable Recall layout saved in composition option in Preferences--Layout.

To automaticaly load this layout, put the scriptlib file to Fusion data folder (Appdata on PC and Application Support on Mac) and each time you start Fusion the layout will be applied. New compositions created after start will require to load any script (like start Layouter or whatever), then scriptlib will trigger the layout.
LoadLayout.scriptlib
You do not have the required permissions to view the files attached to this post.
Last edited by Movalex on Thu Feb 20, 2020 8:25 am, edited 3 times in total.

User avatar
noelevatorstudio
Posts: 23
Joined: Thu Nov 21, 2019 8:37 am
Been thanked: 2 times

Re: Dual Monitor Setup for FU 16 - Hack/Beta

#25

Post by noelevatorstudio » Wed Feb 19, 2020 9:15 am

Hey @Movalex,
the melbfilm layout you made works great for me, but i can't load it automatically at start, comes out bugged.


I need to reload the layout from layouter to fix it.
Is there a specific UserData:Scripts folder I should use to make it work?

User avatar
Movalex
Sir Requestalot
Posts: 251
Joined: Fri Nov 03, 2017 5:36 am
Answers: 4
Been thanked: 44 times
Contact:

Re: Dual Monitor Setup for FU 16 - Hack/Beta

#26

Post by Movalex » Wed Feb 19, 2020 1:40 pm

@noelevatorstudio I tested this layout on both of my machines, it loaded fine. But It seems my approach for auto layout loading was incorrect. I updated my previous post with new version of layout loader.
You can also try this auto-loading solution: viewtopic.php?p=29596#p29596

Btw, here's the new version of the layout, it has viewer controls:
MelbFilmSetup.layout
Image
You do not have the required permissions to view the files attached to this post.

User avatar
AbdelrahmanMSaid
Fusioneer
Posts: 72
Joined: Tue Oct 04, 2016 9:54 am

Re: Dual Monitor Setup for FU 16 - Hack/Beta

#27

Post by AbdelrahmanMSaid » Fri Feb 21, 2020 4:13 am

Movalex wrote:
Tue Feb 18, 2020 8:19 am
Hi, @AbdelrahmanMSaid! There's a Layouter script for switching and storing layouts. Here's a topic about it: viewtopic.php?p=29342#p29342 .
I managed to recreate @MelbFilm's layout, and if you load it, you can use F4 to expand any window. Put MelbFilmSetup.layout file to UserData:Layouts folder and click Load layout.
Upper part of the Console will be hidden anyway. This is a bug Fusion has since 16.0 introduced new tabbed view. That's why I added Show Console button to Layouter :)
Here's a new script version. Unzip layout files to UserData:Layouts folder so 1click preset and Reset All button would work. Reset layout can be crashy on Windows, so beware to overuse it. To get Layouter you can also install Toolbar16 from Reactor, it will be bundled at Script/Toolbar16/Layouter.

Image
Image

layouts.zip
MelbFilmSetup.zip
LayouterLocal.lua
Hi, @Movalex. Thank you for your help. I will try Layouter tonight and, hopefully, things work well for me.

User avatar
noelevatorstudio
Posts: 23
Joined: Thu Nov 21, 2019 8:37 am
Been thanked: 2 times

Re: Dual Monitor Setup for FU 16 - Hack/Beta

#28

Post by noelevatorstudio » Fri Feb 21, 2020 6:10 am

Thank you @Movalex, fixed the glitchy view by resetting the layout to default via layouter, saving it in preferences/layout and reloading fusion.

2 issues still (they're breeding!):
-melbfilm layout doesnt show the timeview in the viewer somehow


-after the first composition layout, by pressing new composition i get resetted to default
speculation: it doesn't seem to load the comp script but only the script in root folder?


(unrelated, it seem i'm not tagging users with @ in the forum, but can't find anything about it on bbcode)

User avatar
Movalex
Sir Requestalot
Posts: 251
Joined: Fri Nov 03, 2017 5:36 am
Answers: 4
Been thanked: 44 times
Contact:

Re: Dual Monitor Setup for FU 16 - Hack/Beta

#29

Post by Movalex » Fri Feb 21, 2020 9:05 am

@noelevatorstudio I'm not sure why timeview is hidden in your case. Probably it is related to screen resolution? All layouts are tested on 1920x1200 monitors, and these dimensions are hardcoded in layout file. Probably if the resolution is different, some parts of windows may be hidden. I'm unable to test this right now. If you can check whether it is the issue, it would be helpful.
New comps will not automatically load the layout, because the scriptlib invokes each time Fusion makes request to a scripting api. But it will definitely rerun scriptlib, if you launch any script from Script menu, and layout will be applied to a new comp. Try to close and launch Layouter again, it should work.
Mentions are disabled for new users, but they will appear later. I'm not sure if it is some threshold @SecondMan has set or it is activated manually by admins.

User avatar
noelevatorstudio
Posts: 23
Joined: Thu Nov 21, 2019 8:37 am
Been thanked: 2 times

Re: Dual Monitor Setup for FU 16 - Hack/Beta

#30

Post by noelevatorstudio » Fri Feb 21, 2020 10:17 am

Yeah you're right. My resolution is 1920x1080 and the timeview was probably out of frame.

There's a "fullscreen view" by right clicking the float window that i have no idea how to enable it by default, so here's how i fixed it:

Code: Select all

{
	{
		FrameTypeID = "ChildFrame",
		Mode = 3,
		LayoutPreset = 0,
		Left = 0,
		Top = 27,
		Width = 1920,
		Height = 1074,
		ZoneInfo = {
			AuxRight = { Expanded = true },
			["!Left"] = {
			},
			AuxLeft = { Expanded = true },
			Right = { Expanded = true, },
			Left = { Expanded = false, },
			["!Right"] = {
			}
		},
		ViewInfo = {
			Inspector = { Show = true, RatioY = 1, RatioX = 1, PixelX = 420, },
			-- TransportView = { Show = true, RatioX = 1 },
			Transportview = {
				RatioX = 1,
			},
			LayoutStrip = {
				RatioX = 1,
			},
			OuterColumns = {
				RatioX = 1,
				RatioY = 1,
			},
			OuterLeft = {
			},
			CenterSplit = {
				RatioX = 0.0099113197704747,
				RatioY = 1,
			},
			OuterRight = {
				PixelX = 420,
				RatioY = 1,
			},
			MediaPool = {
			},
			Effects = {
				RatioX = 1,
				RatioY = 1,
			},
			InnerColumns = {
				RatioX = 1,
				RatioY = 0.0294117647058824,
			},
			ActionStrip = {
				RatioX = 1,
			},
			MainSplit = {
				RatioX = 1,
				RatioY = 1,
			},
			Clips = {
			},
			InnerLeft = {
				PixelX = 420,
				RatioY = 1,
			},
			InnerRight = {
			},
			ViewerSplit = {
				RatioX = 1,
				RatioY = 1,
			},
			Time = {
				RatioX = 1,
			},
			Viewer1 = {
				RatioX = 0.00954653937947494,
				RatioY = 1,
			},
			Viewer2 = {
				RatioX = 1,
				RatioY = 1,
			},
			Inspector = {
				RatioX = 1,
				RatioY = 1,
			},
			Metadata = {
			},
			Nodes = {
				RatioX = 0.5,
				RatioY = 1,
			},
			Spline = {
				RatioX = 1,
				RatioY = 1,
			},
			Keyframes = {
				RatioX = 1,
				RatioY = 1,
			},
			Main = {Show = true,
				RatioX = 1,
                RatioY = 1,
			},
            -- TransportView = {Show = true,
            --     RatioX = 1,
            -- }
		},
		Views = ordered() {
			Main = MultiView {
				Active = "FlowView",
				ViewList = ordered() {
                    FlowView = "FlowView",
					Timeline = "TimelineView",
					Splines = "SplineEditorView",
					Terminal = "ConsoleView"
				},
				Names = {
					Splines = "Splines",
					Terminal = "Terminal",
					Timeline = "Timeline"
				},
			},
			Inspector = MultiView {
				Active = "Tools",
				ViewList = ordered() {
					Tools = "ControlView",
					Modifiers = "ModifierView"
				},
			},
            -- Transportview = "TransportView",

		},
		Layout = {
			Columns = 2,
			RatioX = 1,
			RatioY = 1,
            { ID = "Main", Pop = true},
			{
				Rows = 2,
				PixelX = 420,
				{ ID = "Inspector", RatioX = 1, Pop = false},
                -- { ID = "Transportview", FixedY = -2 },
            }
        }
    },
    {
        FrameTypeID = "FloatViewFrame",
        Mode = 0,
        Left = -1920,
        Top = 0,
        Width = 1920,
        Height = 1085,
        ViewInfo = {
			Keyframes = { Show = false },
            LayoutStrip = { Show = true },
            Inspector = { Show = true },
			Effects = { Show = false },
            Viewer2 = { Show = true },
            Comments = { Show = false },
            Clips = { Show = false },
            ActionStrip = { Show = false },
            Time = { Show = true },
            MediaPool = { Show = false },
            Nodes = { Show = true },
            Metadata = { Show = false },
            Viewer1 = { Show = true },
            Spline = { Show = false }
        },
        ZoneInfo = {
            AuxLeft = { Expanded = true },
            Right = { Expanded = true },
            Left = { Expanded = false },
            AuxRight = { Expanded = true }
        },

        Views = ordered() {
            LF = MultiView {
				Active = "LeftView",
				ViewList = ordered() {
					["LeftView"] = "PreviewContainer"
				},
			},
			RF = MultiView {
				Active = "RightView",
				ViewList = ordered() {
					["RightView"] = "PreviewContainer"
				},
			},
            TimeView = "TimeView",
        },
        Layout = {
            Rows = 2,
            RatioX = 1,
            RatioY = 1 ,
            {
                Columns = 2,
                RatioX = 1,
                RatioY = 1,
                { ID = "LF", RatioX = 0.5, RatioY = 1, Pop = true },
                { ID = "RF", RatioX = 0.5, Pop = true },
                Pop = true,
            },
            { ID = "TimeView",  FixedY = 83, Flat = true },
            -- Pop = true
        }
    }
}
This is the only area that i edited (somehow 1080 is leaving me with some pixels left):

Code: Select all

FrameTypeID = "FloatViewFrame",
        Mode = 0,
        Left = -1920,
        Top = 0,
        Width = 1920,
        Height = 1085,
New comps will not automatically load the layout, because the scriptlib invokes each time Fusion makes request to a scripting api. But it will definitely rerun scriptlib, if you launch any script from Script menu, and layout will be applied to a new comp. Try to close and launch Layouter again, it should work.
Thanks, it works. Still a little bit frustrating that i have to open a script everytime that i open a new comp, but i can live with it. I tried @kiboost script with no results too.