From 7aab7158fa3005ce999c16f5976837f3fa6096df Mon Sep 17 00:00:00 2001 From: N00MKRAD <61149547+n00mkrad@users.noreply.github.com> Date: Thu, 21 Nov 2024 01:22:31 +0100 Subject: [PATCH] Hide certain settings based on conditions, auto-pick DAIN tile size based on VRAM --- CodeLegacy/Cli.cs | 6 +- CodeLegacy/Extensions/ExtensionMethods.cs | 24 + CodeLegacy/Forms/SettingsForm.Designer.cs | 1375 ++++++++++++++------- CodeLegacy/Forms/SettingsForm.cs | 28 +- CodeLegacy/Forms/SettingsForm.resx | 3 + CodeLegacy/IO/Config.cs | 31 +- CodeLegacy/Main/InterpolateUtils.cs | 6 +- CodeLegacy/Os/NvApi.cs | 55 +- CodeLegacy/Os/OsUtils.cs | 4 +- CodeLegacy/Program.cs | 2 + CodeLegacy/Ui/ControlExtensions.cs | 31 + CodeLegacy/Ui/UiUtils.cs | 4 +- CodeLegacy/Utilities/NcnnUtils.cs | 21 +- 13 files changed, 1077 insertions(+), 513 deletions(-) diff --git a/CodeLegacy/Cli.cs b/CodeLegacy/Cli.cs index f3af52a..762ac78 100644 --- a/CodeLegacy/Cli.cs +++ b/CodeLegacy/Cli.cs @@ -14,7 +14,7 @@ namespace Flowframes { public class Cli { - public static bool ShowConsole = false; + public static bool Debug = false; public static bool DisablePython = true; public static bool ShowMdlDownloader = false; public static bool CloseMdlDownloaderWhenDone = false; @@ -43,6 +43,10 @@ namespace Flowframes var optsSet = new OptionSet { + { + "d|debug", "Enable debug/developer features and experimental or deprecated options", + v => Debug = v != null + }, { "np|no_python", "Disable Python implementations", v => DisablePython = v != null diff --git a/CodeLegacy/Extensions/ExtensionMethods.cs b/CodeLegacy/Extensions/ExtensionMethods.cs index 57e260c..dcf8e31 100644 --- a/CodeLegacy/Extensions/ExtensionMethods.cs +++ b/CodeLegacy/Extensions/ExtensionMethods.cs @@ -437,5 +437,29 @@ namespace Flowframes { return Math.Abs(a - b) < tolerance; } + + public static float GetVramGb(this NvAPIWrapper.GPU.PhysicalGPU gpu) + { + try + { + return gpu.MemoryInformation.AvailableDedicatedVideoMemoryInkB / 1024f / 1000f; + } + catch + { + return 0f; + } + } + + public static float GetFreeVramGb(this NvAPIWrapper.GPU.PhysicalGPU gpu) + { + try + { + return gpu.MemoryInformation.CurrentAvailableDedicatedVideoMemoryInkB / 1024f / 1000f; + } + catch + { + return 0f; + } + } } } diff --git a/CodeLegacy/Forms/SettingsForm.Designer.cs b/CodeLegacy/Forms/SettingsForm.Designer.cs index 1d1696f..6d0ffb7 100644 --- a/CodeLegacy/Forms/SettingsForm.Designer.cs +++ b/CodeLegacy/Forms/SettingsForm.Designer.cs @@ -32,35 +32,43 @@ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SettingsForm)); this.settingsTabList = new Cyotek.Windows.Forms.TabList(); this.generalTab = new Cyotek.Windows.Forms.TabListPage(); - this.btnResetHwEnc = new HTAlt.WinForms.HTButton(); - this.label10 = new System.Windows.Forms.Label(); - this.custOutDirBrowseBtn = new HTAlt.WinForms.HTButton(); - this.custOutDir = new System.Windows.Forms.TextBox(); - this.outFolderLoc = new System.Windows.Forms.ComboBox(); - this.label78 = new System.Windows.Forms.Label(); - this.modelDownloaderBtn = new HTAlt.WinForms.HTButton(); - this.exportNamePatternLoop = new System.Windows.Forms.TextBox(); - this.label69 = new System.Windows.Forms.Label(); - this.label68 = new System.Windows.Forms.Label(); - this.info1 = new System.Windows.Forms.PictureBox(); - this.exportNamePattern = new System.Windows.Forms.TextBox(); - this.label67 = new System.Windows.Forms.Label(); - this.clearModelCacheBtn = new HTAlt.WinForms.HTButton(); - this.label64 = new System.Windows.Forms.Label(); - this.processingMode = new System.Windows.Forms.ComboBox(); + this.flowPanelApplication = new System.Windows.Forms.FlowLayoutPanel(); + this.panProcessingStyle = new System.Windows.Forms.Panel(); this.label39 = new System.Windows.Forms.Label(); - this.tempDirBrowseBtn = new HTAlt.WinForms.HTButton(); - this.tempDirCustom = new System.Windows.Forms.TextBox(); - this.keepTempFolder = new System.Windows.Forms.CheckBox(); - this.label6 = new System.Windows.Forms.Label(); + this.processingMode = new System.Windows.Forms.ComboBox(); + this.panMaxRes = new System.Windows.Forms.Panel(); + this.label31 = new System.Windows.Forms.Label(); + this.maxVidHeight = new System.Windows.Forms.ComboBox(); + this.panel10 = new System.Windows.Forms.Panel(); + this.label34 = new System.Windows.Forms.Label(); + this.panTempFolder = new System.Windows.Forms.Panel(); this.label36 = new System.Windows.Forms.Label(); this.tempFolderLoc = new System.Windows.Forms.ComboBox(); - this.label34 = new System.Windows.Forms.Label(); - this.panel10 = new System.Windows.Forms.Panel(); - this.maxVidHeight = new System.Windows.Forms.ComboBox(); - this.label31 = new System.Windows.Forms.Label(); + this.tempDirCustom = new System.Windows.Forms.TextBox(); + this.tempDirBrowseBtn = new HTAlt.WinForms.HTButton(); + this.panOutputLocation = new System.Windows.Forms.Panel(); + this.label78 = new System.Windows.Forms.Label(); + this.outFolderLoc = new System.Windows.Forms.ComboBox(); + this.custOutDir = new System.Windows.Forms.TextBox(); + this.custOutDirBrowseBtn = new HTAlt.WinForms.HTButton(); + this.panKeepTempFolder = new System.Windows.Forms.Panel(); + this.label6 = new System.Windows.Forms.Label(); + this.keepTempFolder = new System.Windows.Forms.CheckBox(); + this.panExportName = new System.Windows.Forms.Panel(); + this.label67 = new System.Windows.Forms.Label(); + this.exportNamePattern = new System.Windows.Forms.TextBox(); + this.info1 = new System.Windows.Forms.PictureBox(); + this.label68 = new System.Windows.Forms.Label(); + this.exportNamePatternLoop = new System.Windows.Forms.TextBox(); + this.label69 = new System.Windows.Forms.Label(); + this.panel5 = new System.Windows.Forms.Panel(); + this.label64 = new System.Windows.Forms.Label(); + this.clearModelCacheBtn = new HTAlt.WinForms.HTButton(); + this.modelDownloaderBtn = new HTAlt.WinForms.HTButton(); + this.panel11 = new System.Windows.Forms.Panel(); + this.label10 = new System.Windows.Forms.Label(); + this.btnResetHwEnc = new HTAlt.WinForms.HTButton(); this.tabListPage2 = new Cyotek.Windows.Forms.TabListPage(); - this.autoEncBlockPanel = new System.Windows.Forms.Panel(); this.label70 = new System.Windows.Forms.Label(); this.alwaysWaitForAutoEnc = new System.Windows.Forms.CheckBox(); this.label58 = new System.Windows.Forms.Label(); @@ -108,13 +116,13 @@ this.panel12 = new System.Windows.Forms.Panel(); this.dainNcnnTilesize = new System.Windows.Forms.ComboBox(); this.label27 = new System.Windows.Forms.Label(); - this.label26 = new System.Windows.Forms.Label(); + this.label19 = new System.Windows.Forms.Label(); this.ncnnThreads = new System.Windows.Forms.NumericUpDown(); this.label30 = new System.Windows.Forms.Label(); this.panel6 = new System.Windows.Forms.Panel(); this.uhdThresh = new System.Windows.Forms.ComboBox(); this.label29 = new System.Windows.Forms.Label(); - this.label28 = new System.Windows.Forms.Label(); + this.label11 = new System.Windows.Forms.Label(); this.label44 = new System.Windows.Forms.Label(); this.label43 = new System.Windows.Forms.Label(); this.panel2 = new System.Windows.Forms.Panel(); @@ -154,9 +162,41 @@ this.titleLabel = new System.Windows.Forms.Label(); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.resetBtn = new HTAlt.WinForms.HTButton(); + this.flowPanelInterpolation = new System.Windows.Forms.FlowLayoutPanel(); + this.panCopyInputMedia = new System.Windows.Forms.Panel(); + this.panEnableAlpha = new System.Windows.Forms.Panel(); + this.panTitleInputMedia = new System.Windows.Forms.Panel(); + this.panHqJpegImport = new System.Windows.Forms.Panel(); + this.panTitleInterpHelpers = new System.Windows.Forms.Panel(); + this.panDedupe = new System.Windows.Forms.Panel(); + this.panLoop = new System.Windows.Forms.Panel(); + this.panSceneChange = new System.Windows.Forms.Panel(); + this.panAutoEnc = new System.Windows.Forms.Panel(); + this.panAutoEncInSbsMode = new System.Windows.Forms.Panel(); + this.panAutoEncBackups = new System.Windows.Forms.Panel(); + this.panAutoEncLowSpaceMode = new System.Windows.Forms.Panel(); + this.flowPanelAiOptions = new System.Windows.Forms.FlowLayoutPanel(); + this.panTitleAiFramework = new System.Windows.Forms.Panel(); + this.panTorchGpus = new System.Windows.Forms.Panel(); + this.panNcnnGpus = new System.Windows.Forms.Panel(); + this.panNcnnThreads = new System.Windows.Forms.Panel(); + this.panTitleRife = new System.Windows.Forms.Panel(); + this.panUhdThresh = new System.Windows.Forms.Panel(); + this.panRifeCudaHalfPrec = new System.Windows.Forms.Panel(); + this.panTitleDainNcnn = new System.Windows.Forms.Panel(); + this.panDainNcnnTileSize = new System.Windows.Forms.Panel(); this.settingsTabList.SuspendLayout(); this.generalTab.SuspendLayout(); + this.flowPanelApplication.SuspendLayout(); + this.panProcessingStyle.SuspendLayout(); + this.panMaxRes.SuspendLayout(); + this.panTempFolder.SuspendLayout(); + this.panOutputLocation.SuspendLayout(); + this.panKeepTempFolder.SuspendLayout(); + this.panExportName.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.info1)).BeginInit(); + this.panel5.SuspendLayout(); + this.panel11.SuspendLayout(); this.tabListPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.scnDetectValue)).BeginInit(); @@ -168,6 +208,29 @@ this.vidExportTab.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.minOutVidLength)).BeginInit(); this.debugTab.SuspendLayout(); + this.flowPanelInterpolation.SuspendLayout(); + this.panCopyInputMedia.SuspendLayout(); + this.panEnableAlpha.SuspendLayout(); + this.panTitleInputMedia.SuspendLayout(); + this.panHqJpegImport.SuspendLayout(); + this.panTitleInterpHelpers.SuspendLayout(); + this.panDedupe.SuspendLayout(); + this.panLoop.SuspendLayout(); + this.panSceneChange.SuspendLayout(); + this.panAutoEnc.SuspendLayout(); + this.panAutoEncInSbsMode.SuspendLayout(); + this.panAutoEncBackups.SuspendLayout(); + this.panAutoEncLowSpaceMode.SuspendLayout(); + this.flowPanelAiOptions.SuspendLayout(); + this.panTitleAiFramework.SuspendLayout(); + this.panTorchGpus.SuspendLayout(); + this.panNcnnGpus.SuspendLayout(); + this.panNcnnThreads.SuspendLayout(); + this.panTitleRife.SuspendLayout(); + this.panUhdThresh.SuspendLayout(); + this.panRifeCudaHalfPrec.SuspendLayout(); + this.panTitleDainNcnn.SuspendLayout(); + this.panDainNcnnTileSize.SuspendLayout(); this.SuspendLayout(); // // settingsTabList @@ -184,216 +247,57 @@ this.settingsTabList.ForeColor = System.Drawing.Color.DodgerBlue; this.settingsTabList.Location = new System.Drawing.Point(12, 62); this.settingsTabList.Name = "settingsTabList"; - this.settingsTabList.Size = new System.Drawing.Size(920, 427); + this.settingsTabList.Size = new System.Drawing.Size(920, 779); this.settingsTabList.TabIndex = 0; this.settingsTabList.SelectedIndexChanged += new System.EventHandler(this.settingsTabList_SelectedIndexChanged); // // generalTab // this.generalTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48))))); - this.generalTab.Controls.Add(this.btnResetHwEnc); - this.generalTab.Controls.Add(this.label10); - this.generalTab.Controls.Add(this.custOutDirBrowseBtn); - this.generalTab.Controls.Add(this.custOutDir); - this.generalTab.Controls.Add(this.outFolderLoc); - this.generalTab.Controls.Add(this.label78); - this.generalTab.Controls.Add(this.modelDownloaderBtn); - this.generalTab.Controls.Add(this.exportNamePatternLoop); - this.generalTab.Controls.Add(this.label69); - this.generalTab.Controls.Add(this.label68); - this.generalTab.Controls.Add(this.info1); - this.generalTab.Controls.Add(this.exportNamePattern); - this.generalTab.Controls.Add(this.label67); - this.generalTab.Controls.Add(this.clearModelCacheBtn); - this.generalTab.Controls.Add(this.label64); - this.generalTab.Controls.Add(this.processingMode); - this.generalTab.Controls.Add(this.label39); - this.generalTab.Controls.Add(this.tempDirBrowseBtn); - this.generalTab.Controls.Add(this.tempDirCustom); - this.generalTab.Controls.Add(this.keepTempFolder); - this.generalTab.Controls.Add(this.label6); - this.generalTab.Controls.Add(this.label36); - this.generalTab.Controls.Add(this.tempFolderLoc); - this.generalTab.Controls.Add(this.label34); - this.generalTab.Controls.Add(this.panel10); - this.generalTab.Controls.Add(this.maxVidHeight); - this.generalTab.Controls.Add(this.label31); + this.generalTab.Controls.Add(this.flowPanelApplication); this.generalTab.ForeColor = System.Drawing.Color.White; this.generalTab.Name = "generalTab"; - this.generalTab.Size = new System.Drawing.Size(762, 419); + this.generalTab.Size = new System.Drawing.Size(762, 771); this.generalTab.Text = "Application"; // - // btnResetHwEnc + // flowPanelApplication // - this.btnResetHwEnc.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.btnResetHwEnc.FlatAppearance.BorderSize = 0; - this.btnResetHwEnc.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnResetHwEnc.ForeColor = System.Drawing.Color.White; - this.btnResetHwEnc.Location = new System.Drawing.Point(280, 215); - this.btnResetHwEnc.Name = "btnResetHwEnc"; - this.btnResetHwEnc.Size = new System.Drawing.Size(206, 23); - this.btnResetHwEnc.TabIndex = 95; - this.btnResetHwEnc.Text = "Re-Detected Hardware Encoders"; - this.btnResetHwEnc.UseVisualStyleBackColor = false; - this.btnResetHwEnc.Click += new System.EventHandler(this.btnResetHwEnc_Click); + this.flowPanelApplication.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48))))); + this.flowPanelApplication.Controls.Add(this.panProcessingStyle); + this.flowPanelApplication.Controls.Add(this.panMaxRes); + this.flowPanelApplication.Controls.Add(this.panTempFolder); + this.flowPanelApplication.Controls.Add(this.panOutputLocation); + this.flowPanelApplication.Controls.Add(this.panKeepTempFolder); + this.flowPanelApplication.Controls.Add(this.panExportName); + this.flowPanelApplication.Controls.Add(this.panel5); + this.flowPanelApplication.Controls.Add(this.panel11); + this.flowPanelApplication.Dock = System.Windows.Forms.DockStyle.Fill; + this.flowPanelApplication.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; + this.flowPanelApplication.Location = new System.Drawing.Point(0, 0); + this.flowPanelApplication.Margin = new System.Windows.Forms.Padding(0); + this.flowPanelApplication.Name = "flowPanelApplication"; + this.flowPanelApplication.Size = new System.Drawing.Size(762, 771); + this.flowPanelApplication.TabIndex = 96; // - // label10 + // panProcessingStyle // - this.label10.AutoSize = true; - this.label10.Location = new System.Drawing.Point(10, 220); - this.label10.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); - this.label10.Name = "label10"; - this.label10.Size = new System.Drawing.Size(186, 13); - this.label10.TabIndex = 94; - this.label10.Text = "Manage Detected Hardware Features"; + this.panProcessingStyle.Controls.Add(this.label39); + this.panProcessingStyle.Controls.Add(this.processingMode); + this.panProcessingStyle.Location = new System.Drawing.Point(0, 0); + this.panProcessingStyle.Margin = new System.Windows.Forms.Padding(0); + this.panProcessingStyle.Name = "panProcessingStyle"; + this.panProcessingStyle.Size = new System.Drawing.Size(762, 30); + this.panProcessingStyle.TabIndex = 0; // - // custOutDirBrowseBtn + // label39 // - this.custOutDirBrowseBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.custOutDirBrowseBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.custOutDirBrowseBtn.ForeColor = System.Drawing.Color.White; - this.custOutDirBrowseBtn.Location = new System.Drawing.Point(704, 95); - this.custOutDirBrowseBtn.Name = "custOutDirBrowseBtn"; - this.custOutDirBrowseBtn.Size = new System.Drawing.Size(55, 23); - this.custOutDirBrowseBtn.TabIndex = 93; - this.custOutDirBrowseBtn.Text = "Browse"; - this.custOutDirBrowseBtn.UseVisualStyleBackColor = false; - this.custOutDirBrowseBtn.Click += new System.EventHandler(this.custOutDirBrowseBtn_Click); - // - // custOutDir - // - this.custOutDir.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.custOutDir.ForeColor = System.Drawing.Color.White; - this.custOutDir.Location = new System.Drawing.Point(486, 97); - this.custOutDir.MinimumSize = new System.Drawing.Size(4, 21); - this.custOutDir.Name = "custOutDir"; - this.custOutDir.Size = new System.Drawing.Size(212, 20); - this.custOutDir.TabIndex = 92; - // - // outFolderLoc - // - this.outFolderLoc.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.outFolderLoc.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.outFolderLoc.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.outFolderLoc.ForeColor = System.Drawing.Color.White; - this.outFolderLoc.FormattingEnabled = true; - this.outFolderLoc.Items.AddRange(new object[] { - "Same As Input Directory", - "Custom..."}); - this.outFolderLoc.Location = new System.Drawing.Point(280, 97); - this.outFolderLoc.Name = "outFolderLoc"; - this.outFolderLoc.Size = new System.Drawing.Size(200, 21); - this.outFolderLoc.TabIndex = 91; - this.outFolderLoc.SelectedIndexChanged += new System.EventHandler(this.outFolderLoc_SelectedIndexChanged); - // - // label78 - // - this.label78.AutoSize = true; - this.label78.Location = new System.Drawing.Point(10, 100); - this.label78.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); - this.label78.Name = "label78"; - this.label78.Size = new System.Drawing.Size(120, 13); - this.label78.TabIndex = 90; - this.label78.Text = "Default Output Location"; - // - // modelDownloaderBtn - // - this.modelDownloaderBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.modelDownloaderBtn.FlatAppearance.BorderSize = 0; - this.modelDownloaderBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.modelDownloaderBtn.ForeColor = System.Drawing.Color.White; - this.modelDownloaderBtn.Location = new System.Drawing.Point(492, 185); - this.modelDownloaderBtn.Name = "modelDownloaderBtn"; - this.modelDownloaderBtn.Size = new System.Drawing.Size(206, 23); - this.modelDownloaderBtn.TabIndex = 86; - this.modelDownloaderBtn.Text = "Open Model Downloader"; - this.modelDownloaderBtn.UseVisualStyleBackColor = false; - this.modelDownloaderBtn.Click += new System.EventHandler(this.modelDownloaderBtn_Click); - // - // exportNamePatternLoop - // - this.exportNamePatternLoop.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.exportNamePatternLoop.ForeColor = System.Drawing.Color.White; - this.exportNamePatternLoop.Location = new System.Drawing.Point(624, 157); - this.exportNamePatternLoop.MinimumSize = new System.Drawing.Size(4, 21); - this.exportNamePatternLoop.Name = "exportNamePatternLoop"; - this.exportNamePatternLoop.Size = new System.Drawing.Size(100, 20); - this.exportNamePatternLoop.TabIndex = 85; - // - // label69 - // - this.label69.AutoSize = true; - this.label69.Location = new System.Drawing.Point(555, 160); - this.label69.Margin = new System.Windows.Forms.Padding(3, 10, 3, 7); - this.label69.Name = "label69"; - this.label69.Size = new System.Drawing.Size(63, 13); - this.label69.TabIndex = 84; - this.label69.Text = "Loop Suffix:"; - // - // label68 - // - this.label68.AutoSize = true; - this.label68.Location = new System.Drawing.Point(277, 160); - this.label68.Margin = new System.Windows.Forms.Padding(10, 10, 3, 7); - this.label68.Name = "label68"; - this.label68.Size = new System.Drawing.Size(34, 13); - this.label68.TabIndex = 83; - this.label68.Text = "Base:"; - // - // info1 - // - this.info1.BackgroundImage = global::Flowframes.Properties.Resources.questmark_72px_bordeer; - this.info1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; - this.info1.Location = new System.Drawing.Point(730, 157); - this.info1.Name = "info1"; - this.info1.Size = new System.Drawing.Size(29, 21); - this.info1.TabIndex = 82; - this.info1.TabStop = false; - this.toolTip1.SetToolTip(this.info1, resources.GetString("info1.ToolTip")); - // - // exportNamePattern - // - this.exportNamePattern.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.exportNamePattern.ForeColor = System.Drawing.Color.White; - this.exportNamePattern.Location = new System.Drawing.Point(317, 157); - this.exportNamePattern.MinimumSize = new System.Drawing.Size(4, 21); - this.exportNamePattern.Name = "exportNamePattern"; - this.exportNamePattern.Size = new System.Drawing.Size(232, 20); - this.exportNamePattern.TabIndex = 81; - // - // label67 - // - this.label67.AutoSize = true; - this.label67.Location = new System.Drawing.Point(10, 160); - this.label67.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); - this.label67.Name = "label67"; - this.label67.Size = new System.Drawing.Size(105, 13); - this.label67.TabIndex = 80; - this.label67.Text = "Export Name Pattern"; - // - // clearModelCacheBtn - // - this.clearModelCacheBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.clearModelCacheBtn.FlatAppearance.BorderSize = 0; - this.clearModelCacheBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.clearModelCacheBtn.ForeColor = System.Drawing.Color.White; - this.clearModelCacheBtn.Location = new System.Drawing.Point(280, 185); - this.clearModelCacheBtn.Name = "clearModelCacheBtn"; - this.clearModelCacheBtn.Size = new System.Drawing.Size(206, 23); - this.clearModelCacheBtn.TabIndex = 79; - this.clearModelCacheBtn.Text = "Clear Model Cache"; - this.clearModelCacheBtn.UseVisualStyleBackColor = false; - this.clearModelCacheBtn.Click += new System.EventHandler(this.clearModelCacheBtn_Click); - // - // label64 - // - this.label64.AutoSize = true; - this.label64.Location = new System.Drawing.Point(10, 190); - this.label64.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); - this.label64.Name = "label64"; - this.label64.Size = new System.Drawing.Size(165, 13); - this.label64.TabIndex = 78; - this.label64.Text = "Manage Downloaded Model Files"; + this.label39.AutoSize = true; + this.label39.Location = new System.Drawing.Point(10, 10); + this.label39.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); + this.label39.Name = "label39"; + this.label39.Size = new System.Drawing.Size(85, 13); + this.label39.TabIndex = 71; + this.label39.Text = "Processing Style"; // // processingMode // @@ -410,62 +314,85 @@ this.processingMode.Size = new System.Drawing.Size(300, 21); this.processingMode.TabIndex = 72; // - // label39 + // panMaxRes // - this.label39.AutoSize = true; - this.label39.Location = new System.Drawing.Point(10, 10); - this.label39.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); - this.label39.Name = "label39"; - this.label39.Size = new System.Drawing.Size(85, 13); - this.label39.TabIndex = 71; - this.label39.Text = "Processing Style"; + this.panMaxRes.Controls.Add(this.label31); + this.panMaxRes.Controls.Add(this.maxVidHeight); + this.panMaxRes.Controls.Add(this.panel10); + this.panMaxRes.Controls.Add(this.label34); + this.panMaxRes.Location = new System.Drawing.Point(0, 30); + this.panMaxRes.Margin = new System.Windows.Forms.Padding(0); + this.panMaxRes.Name = "panMaxRes"; + this.panMaxRes.Size = new System.Drawing.Size(762, 30); + this.panMaxRes.TabIndex = 1; // - // tempDirBrowseBtn + // label31 // - this.tempDirBrowseBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.tempDirBrowseBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.tempDirBrowseBtn.ForeColor = System.Drawing.Color.White; - this.tempDirBrowseBtn.Location = new System.Drawing.Point(704, 65); - this.tempDirBrowseBtn.Name = "tempDirBrowseBtn"; - this.tempDirBrowseBtn.Size = new System.Drawing.Size(55, 23); - this.tempDirBrowseBtn.TabIndex = 70; - this.tempDirBrowseBtn.Text = "Browse"; - this.tempDirBrowseBtn.UseVisualStyleBackColor = false; - this.tempDirBrowseBtn.Click += new System.EventHandler(this.tempDirBrowseBtn_Click); + this.label31.AutoSize = true; + this.label31.Location = new System.Drawing.Point(10, 10); + this.label31.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); + this.label31.Name = "label31"; + this.label31.Size = new System.Drawing.Size(171, 13); + this.label31.TabIndex = 62; + this.label31.Text = "Maximum Video Input Size (Height)"; // - // tempDirCustom + // maxVidHeight // - this.tempDirCustom.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.tempDirCustom.ForeColor = System.Drawing.Color.White; - this.tempDirCustom.Location = new System.Drawing.Point(486, 67); - this.tempDirCustom.MinimumSize = new System.Drawing.Size(4, 21); - this.tempDirCustom.Name = "tempDirCustom"; - this.tempDirCustom.Size = new System.Drawing.Size(212, 20); - this.tempDirCustom.TabIndex = 69; + this.maxVidHeight.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.maxVidHeight.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.maxVidHeight.ForeColor = System.Drawing.Color.White; + this.maxVidHeight.FormattingEnabled = true; + this.maxVidHeight.Items.AddRange(new object[] { + "4320", + "2160", + "1440", + "1080", + "720", + "540", + "360"}); + this.maxVidHeight.Location = new System.Drawing.Point(280, 7); + this.maxVidHeight.Margin = new System.Windows.Forms.Padding(3, 3, 8, 3); + this.maxVidHeight.Name = "maxVidHeight"; + this.maxVidHeight.Size = new System.Drawing.Size(87, 21); + this.maxVidHeight.TabIndex = 63; // - // keepTempFolder + // panel10 // - this.keepTempFolder.AutoSize = true; - this.keepTempFolder.Location = new System.Drawing.Point(280, 130); - this.keepTempFolder.Name = "keepTempFolder"; - this.keepTempFolder.Size = new System.Drawing.Size(15, 14); - this.keepTempFolder.TabIndex = 68; - this.keepTempFolder.UseVisualStyleBackColor = true; + this.panel10.BackgroundImage = global::Flowframes.Properties.Resources.baseline_create_white_18dp_semiTransparent; + this.panel10.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.panel10.Location = new System.Drawing.Point(378, 7); + this.panel10.Name = "panel10"; + this.panel10.Size = new System.Drawing.Size(21, 21); + this.panel10.TabIndex = 61; + this.toolTip1.SetToolTip(this.panel10, "Allows custom input."); // - // label6 + // label34 // - this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(10, 130); - this.label6.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(214, 13); - this.label6.TabIndex = 67; - this.label6.Text = "Don\'t Delete Temp Folder After Interpolation"; + this.label34.AutoSize = true; + this.label34.ForeColor = System.Drawing.Color.Silver; + this.label34.Location = new System.Drawing.Point(412, 11); + this.label34.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); + this.label34.Name = "label34"; + this.label34.Size = new System.Drawing.Size(268, 13); + this.label34.TabIndex = 64; + this.label34.Text = "Maximum Height. Video will be downscaled if it\'s bigger."; + // + // panTempFolder + // + this.panTempFolder.Controls.Add(this.label36); + this.panTempFolder.Controls.Add(this.tempFolderLoc); + this.panTempFolder.Controls.Add(this.tempDirCustom); + this.panTempFolder.Controls.Add(this.tempDirBrowseBtn); + this.panTempFolder.Location = new System.Drawing.Point(0, 60); + this.panTempFolder.Margin = new System.Windows.Forms.Padding(0); + this.panTempFolder.Name = "panTempFolder"; + this.panTempFolder.Size = new System.Drawing.Size(762, 30); + this.panTempFolder.TabIndex = 2; // // label36 // this.label36.AutoSize = true; - this.label36.Location = new System.Drawing.Point(10, 70); + this.label36.Location = new System.Drawing.Point(10, 10); this.label36.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label36.Name = "label36"; this.label36.Size = new System.Drawing.Size(133, 13); @@ -485,120 +412,297 @@ "Same As Output Directory", "Flowframes Program Folder", "Custom..."}); - this.tempFolderLoc.Location = new System.Drawing.Point(280, 67); + this.tempFolderLoc.Location = new System.Drawing.Point(280, 7); this.tempFolderLoc.Name = "tempFolderLoc"; this.tempFolderLoc.Size = new System.Drawing.Size(200, 21); this.tempFolderLoc.TabIndex = 65; this.tempFolderLoc.SelectedIndexChanged += new System.EventHandler(this.tempFolderLoc_SelectedIndexChanged); // - // label34 + // tempDirCustom // - this.label34.AutoSize = true; - this.label34.ForeColor = System.Drawing.Color.Silver; - this.label34.Location = new System.Drawing.Point(412, 41); - this.label34.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); - this.label34.Name = "label34"; - this.label34.Size = new System.Drawing.Size(268, 13); - this.label34.TabIndex = 64; - this.label34.Text = "Maximum Height. Video will be downscaled if it\'s bigger."; + this.tempDirCustom.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.tempDirCustom.ForeColor = System.Drawing.Color.White; + this.tempDirCustom.Location = new System.Drawing.Point(486, 7); + this.tempDirCustom.MinimumSize = new System.Drawing.Size(4, 21); + this.tempDirCustom.Name = "tempDirCustom"; + this.tempDirCustom.Size = new System.Drawing.Size(212, 20); + this.tempDirCustom.TabIndex = 69; // - // panel10 + // tempDirBrowseBtn // - this.panel10.BackgroundImage = global::Flowframes.Properties.Resources.baseline_create_white_18dp_semiTransparent; - this.panel10.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; - this.panel10.Location = new System.Drawing.Point(378, 37); - this.panel10.Name = "panel10"; - this.panel10.Size = new System.Drawing.Size(21, 21); - this.panel10.TabIndex = 61; - this.toolTip1.SetToolTip(this.panel10, "Allows custom input."); + this.tempDirBrowseBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.tempDirBrowseBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.tempDirBrowseBtn.ForeColor = System.Drawing.Color.White; + this.tempDirBrowseBtn.Location = new System.Drawing.Point(704, 5); + this.tempDirBrowseBtn.Name = "tempDirBrowseBtn"; + this.tempDirBrowseBtn.Size = new System.Drawing.Size(55, 23); + this.tempDirBrowseBtn.TabIndex = 70; + this.tempDirBrowseBtn.Text = "Browse"; + this.tempDirBrowseBtn.UseVisualStyleBackColor = false; + this.tempDirBrowseBtn.Click += new System.EventHandler(this.tempDirBrowseBtn_Click); // - // maxVidHeight + // panOutputLocation // - this.maxVidHeight.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.maxVidHeight.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.maxVidHeight.ForeColor = System.Drawing.Color.White; - this.maxVidHeight.FormattingEnabled = true; - this.maxVidHeight.Items.AddRange(new object[] { - "4320", - "2160", - "1440", - "1080", - "720", - "540", - "360"}); - this.maxVidHeight.Location = new System.Drawing.Point(280, 37); - this.maxVidHeight.Margin = new System.Windows.Forms.Padding(3, 3, 8, 3); - this.maxVidHeight.Name = "maxVidHeight"; - this.maxVidHeight.Size = new System.Drawing.Size(87, 21); - this.maxVidHeight.TabIndex = 63; + this.panOutputLocation.Controls.Add(this.label78); + this.panOutputLocation.Controls.Add(this.outFolderLoc); + this.panOutputLocation.Controls.Add(this.custOutDir); + this.panOutputLocation.Controls.Add(this.custOutDirBrowseBtn); + this.panOutputLocation.Location = new System.Drawing.Point(0, 90); + this.panOutputLocation.Margin = new System.Windows.Forms.Padding(0); + this.panOutputLocation.Name = "panOutputLocation"; + this.panOutputLocation.Size = new System.Drawing.Size(762, 30); + this.panOutputLocation.TabIndex = 3; // - // label31 + // label78 // - this.label31.AutoSize = true; - this.label31.Location = new System.Drawing.Point(10, 40); - this.label31.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); - this.label31.Name = "label31"; - this.label31.Size = new System.Drawing.Size(171, 13); - this.label31.TabIndex = 62; - this.label31.Text = "Maximum Video Input Size (Height)"; + this.label78.AutoSize = true; + this.label78.Location = new System.Drawing.Point(10, 10); + this.label78.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); + this.label78.Name = "label78"; + this.label78.Size = new System.Drawing.Size(120, 13); + this.label78.TabIndex = 90; + this.label78.Text = "Default Output Location"; + // + // outFolderLoc + // + this.outFolderLoc.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.outFolderLoc.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.outFolderLoc.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.outFolderLoc.ForeColor = System.Drawing.Color.White; + this.outFolderLoc.FormattingEnabled = true; + this.outFolderLoc.Items.AddRange(new object[] { + "Same As Input Directory", + "Custom..."}); + this.outFolderLoc.Location = new System.Drawing.Point(280, 7); + this.outFolderLoc.Name = "outFolderLoc"; + this.outFolderLoc.Size = new System.Drawing.Size(200, 21); + this.outFolderLoc.TabIndex = 91; + this.outFolderLoc.SelectedIndexChanged += new System.EventHandler(this.outFolderLoc_SelectedIndexChanged); + // + // custOutDir + // + this.custOutDir.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.custOutDir.ForeColor = System.Drawing.Color.White; + this.custOutDir.Location = new System.Drawing.Point(486, 7); + this.custOutDir.MinimumSize = new System.Drawing.Size(4, 21); + this.custOutDir.Name = "custOutDir"; + this.custOutDir.Size = new System.Drawing.Size(212, 20); + this.custOutDir.TabIndex = 92; + // + // custOutDirBrowseBtn + // + this.custOutDirBrowseBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.custOutDirBrowseBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.custOutDirBrowseBtn.ForeColor = System.Drawing.Color.White; + this.custOutDirBrowseBtn.Location = new System.Drawing.Point(704, 5); + this.custOutDirBrowseBtn.Name = "custOutDirBrowseBtn"; + this.custOutDirBrowseBtn.Size = new System.Drawing.Size(55, 23); + this.custOutDirBrowseBtn.TabIndex = 93; + this.custOutDirBrowseBtn.Text = "Browse"; + this.custOutDirBrowseBtn.UseVisualStyleBackColor = false; + this.custOutDirBrowseBtn.Click += new System.EventHandler(this.custOutDirBrowseBtn_Click); + // + // panKeepTempFolder + // + this.panKeepTempFolder.Controls.Add(this.label6); + this.panKeepTempFolder.Controls.Add(this.keepTempFolder); + this.panKeepTempFolder.Location = new System.Drawing.Point(0, 120); + this.panKeepTempFolder.Margin = new System.Windows.Forms.Padding(0); + this.panKeepTempFolder.Name = "panKeepTempFolder"; + this.panKeepTempFolder.Size = new System.Drawing.Size(762, 30); + this.panKeepTempFolder.TabIndex = 4; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(10, 10); + this.label6.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(203, 13); + this.label6.TabIndex = 67; + this.label6.Text = "Keep Temporary Folder After Interpolation"; + // + // keepTempFolder + // + this.keepTempFolder.AutoSize = true; + this.keepTempFolder.Location = new System.Drawing.Point(280, 10); + this.keepTempFolder.Name = "keepTempFolder"; + this.keepTempFolder.Size = new System.Drawing.Size(15, 14); + this.keepTempFolder.TabIndex = 68; + this.keepTempFolder.UseVisualStyleBackColor = true; + // + // panExportName + // + this.panExportName.Controls.Add(this.label67); + this.panExportName.Controls.Add(this.exportNamePattern); + this.panExportName.Controls.Add(this.info1); + this.panExportName.Controls.Add(this.label68); + this.panExportName.Controls.Add(this.exportNamePatternLoop); + this.panExportName.Controls.Add(this.label69); + this.panExportName.Location = new System.Drawing.Point(0, 150); + this.panExportName.Margin = new System.Windows.Forms.Padding(0); + this.panExportName.Name = "panExportName"; + this.panExportName.Size = new System.Drawing.Size(762, 30); + this.panExportName.TabIndex = 5; + // + // label67 + // + this.label67.AutoSize = true; + this.label67.Location = new System.Drawing.Point(10, 10); + this.label67.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); + this.label67.Name = "label67"; + this.label67.Size = new System.Drawing.Size(105, 13); + this.label67.TabIndex = 80; + this.label67.Text = "Export Name Pattern"; + // + // exportNamePattern + // + this.exportNamePattern.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.exportNamePattern.ForeColor = System.Drawing.Color.White; + this.exportNamePattern.Location = new System.Drawing.Point(317, 7); + this.exportNamePattern.MinimumSize = new System.Drawing.Size(4, 21); + this.exportNamePattern.Name = "exportNamePattern"; + this.exportNamePattern.Size = new System.Drawing.Size(232, 20); + this.exportNamePattern.TabIndex = 81; + // + // info1 + // + this.info1.BackgroundImage = global::Flowframes.Properties.Resources.questmark_72px_bordeer; + this.info1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.info1.Location = new System.Drawing.Point(730, 7); + this.info1.Name = "info1"; + this.info1.Size = new System.Drawing.Size(29, 21); + this.info1.TabIndex = 82; + this.info1.TabStop = false; + this.toolTip1.SetToolTip(this.info1, resources.GetString("info1.ToolTip")); + // + // label68 + // + this.label68.AutoSize = true; + this.label68.Location = new System.Drawing.Point(277, 10); + this.label68.Margin = new System.Windows.Forms.Padding(10, 10, 3, 7); + this.label68.Name = "label68"; + this.label68.Size = new System.Drawing.Size(34, 13); + this.label68.TabIndex = 83; + this.label68.Text = "Base:"; + // + // exportNamePatternLoop + // + this.exportNamePatternLoop.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.exportNamePatternLoop.ForeColor = System.Drawing.Color.White; + this.exportNamePatternLoop.Location = new System.Drawing.Point(624, 7); + this.exportNamePatternLoop.MinimumSize = new System.Drawing.Size(4, 21); + this.exportNamePatternLoop.Name = "exportNamePatternLoop"; + this.exportNamePatternLoop.Size = new System.Drawing.Size(100, 20); + this.exportNamePatternLoop.TabIndex = 85; + // + // label69 + // + this.label69.AutoSize = true; + this.label69.Location = new System.Drawing.Point(555, 10); + this.label69.Margin = new System.Windows.Forms.Padding(3, 10, 3, 7); + this.label69.Name = "label69"; + this.label69.Size = new System.Drawing.Size(63, 13); + this.label69.TabIndex = 84; + this.label69.Text = "Loop Suffix:"; + // + // panel5 + // + this.panel5.Controls.Add(this.label64); + this.panel5.Controls.Add(this.clearModelCacheBtn); + this.panel5.Controls.Add(this.modelDownloaderBtn); + this.panel5.Location = new System.Drawing.Point(0, 180); + this.panel5.Margin = new System.Windows.Forms.Padding(0); + this.panel5.Name = "panel5"; + this.panel5.Size = new System.Drawing.Size(762, 30); + this.panel5.TabIndex = 6; + // + // label64 + // + this.label64.AutoSize = true; + this.label64.Location = new System.Drawing.Point(10, 10); + this.label64.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); + this.label64.Name = "label64"; + this.label64.Size = new System.Drawing.Size(165, 13); + this.label64.TabIndex = 78; + this.label64.Text = "Manage Downloaded Model Files"; + // + // clearModelCacheBtn + // + this.clearModelCacheBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.clearModelCacheBtn.FlatAppearance.BorderSize = 0; + this.clearModelCacheBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.clearModelCacheBtn.ForeColor = System.Drawing.Color.White; + this.clearModelCacheBtn.Location = new System.Drawing.Point(280, 5); + this.clearModelCacheBtn.Name = "clearModelCacheBtn"; + this.clearModelCacheBtn.Size = new System.Drawing.Size(206, 23); + this.clearModelCacheBtn.TabIndex = 79; + this.clearModelCacheBtn.Text = "Clear Model Cache"; + this.clearModelCacheBtn.UseVisualStyleBackColor = false; + this.clearModelCacheBtn.Click += new System.EventHandler(this.clearModelCacheBtn_Click); + // + // modelDownloaderBtn + // + this.modelDownloaderBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.modelDownloaderBtn.FlatAppearance.BorderSize = 0; + this.modelDownloaderBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.modelDownloaderBtn.ForeColor = System.Drawing.Color.White; + this.modelDownloaderBtn.Location = new System.Drawing.Point(492, 5); + this.modelDownloaderBtn.Name = "modelDownloaderBtn"; + this.modelDownloaderBtn.Size = new System.Drawing.Size(206, 23); + this.modelDownloaderBtn.TabIndex = 86; + this.modelDownloaderBtn.Text = "Open Model Downloader"; + this.modelDownloaderBtn.UseVisualStyleBackColor = false; + this.modelDownloaderBtn.Click += new System.EventHandler(this.modelDownloaderBtn_Click); + // + // panel11 + // + this.panel11.Controls.Add(this.label10); + this.panel11.Controls.Add(this.btnResetHwEnc); + this.panel11.Location = new System.Drawing.Point(0, 210); + this.panel11.Margin = new System.Windows.Forms.Padding(0); + this.panel11.Name = "panel11"; + this.panel11.Size = new System.Drawing.Size(762, 30); + this.panel11.TabIndex = 7; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(10, 10); + this.label10.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(186, 13); + this.label10.TabIndex = 94; + this.label10.Text = "Manage Detected Hardware Features"; + // + // btnResetHwEnc + // + this.btnResetHwEnc.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.btnResetHwEnc.FlatAppearance.BorderSize = 0; + this.btnResetHwEnc.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnResetHwEnc.ForeColor = System.Drawing.Color.White; + this.btnResetHwEnc.Location = new System.Drawing.Point(280, 5); + this.btnResetHwEnc.Name = "btnResetHwEnc"; + this.btnResetHwEnc.Size = new System.Drawing.Size(206, 23); + this.btnResetHwEnc.TabIndex = 95; + this.btnResetHwEnc.Text = "Re-Detected Hardware Encoders"; + this.btnResetHwEnc.UseVisualStyleBackColor = false; + this.btnResetHwEnc.Click += new System.EventHandler(this.btnResetHwEnc_Click); // // tabListPage2 // this.tabListPage2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48))))); - this.tabListPage2.Controls.Add(this.autoEncBlockPanel); - this.tabListPage2.Controls.Add(this.label70); - this.tabListPage2.Controls.Add(this.alwaysWaitForAutoEnc); - this.tabListPage2.Controls.Add(this.label58); - this.tabListPage2.Controls.Add(this.pictureBox2); - this.tabListPage2.Controls.Add(this.label41); - this.tabListPage2.Controls.Add(this.autoEncBackupMode); - this.tabListPage2.Controls.Add(this.label16); - this.tabListPage2.Controls.Add(this.label74); - this.tabListPage2.Controls.Add(this.jpegFrames); - this.tabListPage2.Controls.Add(this.label63); - this.tabListPage2.Controls.Add(this.label18); - this.tabListPage2.Controls.Add(this.keepMeta); - this.tabListPage2.Controls.Add(this.label4); - this.tabListPage2.Controls.Add(this.enableAlpha); - this.tabListPage2.Controls.Add(this.label25); - this.tabListPage2.Controls.Add(this.keepSubs); - this.tabListPage2.Controls.Add(this.scnDetectValue); - this.tabListPage2.Controls.Add(this.sbsAllowAutoEnc); - this.tabListPage2.Controls.Add(this.dedupeSensLabel); - this.tabListPage2.Controls.Add(this.label53); - this.tabListPage2.Controls.Add(this.autoEncMode); - this.tabListPage2.Controls.Add(this.label49); - this.tabListPage2.Controls.Add(this.panel14); - this.tabListPage2.Controls.Add(this.label52); - this.tabListPage2.Controls.Add(this.label51); - this.tabListPage2.Controls.Add(this.scnDetect); - this.tabListPage2.Controls.Add(this.label50); - this.tabListPage2.Controls.Add(this.mpDedupePanel); - this.tabListPage2.Controls.Add(this.magickDedupePanel); - this.tabListPage2.Controls.Add(this.label24); - this.tabListPage2.Controls.Add(this.enableLoop); - this.tabListPage2.Controls.Add(this.label15); - this.tabListPage2.Controls.Add(this.dedupMode); - this.tabListPage2.Controls.Add(this.label2); - this.tabListPage2.Controls.Add(this.keepAudio); - this.tabListPage2.Controls.Add(this.label1); + this.tabListPage2.Controls.Add(this.flowPanelInterpolation); this.tabListPage2.ForeColor = System.Drawing.Color.White; this.tabListPage2.Name = "tabListPage2"; - this.tabListPage2.Size = new System.Drawing.Size(762, 419); + this.tabListPage2.Size = new System.Drawing.Size(762, 771); this.tabListPage2.Text = "Interpolation"; // - // autoEncBlockPanel - // - this.autoEncBlockPanel.Location = new System.Drawing.Point(4, 300); - this.autoEncBlockPanel.Name = "autoEncBlockPanel"; - this.autoEncBlockPanel.Size = new System.Drawing.Size(755, 86); - this.autoEncBlockPanel.TabIndex = 94; - // // label70 // this.label70.AutoSize = true; this.label70.ForeColor = System.Drawing.Color.Silver; - this.label70.Location = new System.Drawing.Point(308, 360); + this.label70.Location = new System.Drawing.Point(308, 10); this.label70.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label70.Name = "label70"; this.label70.Size = new System.Drawing.Size(443, 13); @@ -609,7 +713,7 @@ // alwaysWaitForAutoEnc // this.alwaysWaitForAutoEnc.AutoSize = true; - this.alwaysWaitForAutoEnc.Location = new System.Drawing.Point(280, 360); + this.alwaysWaitForAutoEnc.Location = new System.Drawing.Point(280, 10); this.alwaysWaitForAutoEnc.Name = "alwaysWaitForAutoEnc"; this.alwaysWaitForAutoEnc.Size = new System.Drawing.Size(15, 14); this.alwaysWaitForAutoEnc.TabIndex = 92; @@ -618,7 +722,7 @@ // label58 // this.label58.AutoSize = true; - this.label58.Location = new System.Drawing.Point(10, 360); + this.label58.Location = new System.Drawing.Point(10, 10); this.label58.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label58.Name = "label58"; this.label58.Size = new System.Drawing.Size(229, 13); @@ -629,7 +733,7 @@ // this.pictureBox2.BackgroundImage = global::Flowframes.Properties.Resources.questmark_72px_bordeer; this.pictureBox2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; - this.pictureBox2.Location = new System.Drawing.Point(536, 327); + this.pictureBox2.Location = new System.Drawing.Point(536, 7); this.pictureBox2.Name = "pictureBox2"; this.pictureBox2.Size = new System.Drawing.Size(29, 21); this.pictureBox2.TabIndex = 90; @@ -640,7 +744,7 @@ // this.label41.AutoSize = true; this.label41.ForeColor = System.Drawing.Color.Silver; - this.label41.Location = new System.Drawing.Point(578, 330); + this.label41.Location = new System.Drawing.Point(578, 10); this.label41.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label41.Name = "label41"; this.label41.Size = new System.Drawing.Size(158, 13); @@ -658,7 +762,7 @@ "Disabled", "Enabled (Only Video)", "Enabled (Complete - With Audio, Subtitles)"}); - this.autoEncBackupMode.Location = new System.Drawing.Point(280, 327); + this.autoEncBackupMode.Location = new System.Drawing.Point(280, 7); this.autoEncBackupMode.Name = "autoEncBackupMode"; this.autoEncBackupMode.Size = new System.Drawing.Size(250, 21); this.autoEncBackupMode.TabIndex = 88; @@ -666,7 +770,7 @@ // label16 // this.label16.AutoSize = true; - this.label16.Location = new System.Drawing.Point(10, 330); + this.label16.Location = new System.Drawing.Point(10, 10); this.label16.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label16.Name = "label16"; this.label16.Size = new System.Drawing.Size(114, 13); @@ -677,7 +781,7 @@ // this.label74.AutoSize = true; this.label74.ForeColor = System.Drawing.Color.Silver; - this.label74.Location = new System.Drawing.Point(308, 100); + this.label74.Location = new System.Drawing.Point(308, 10); this.label74.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label74.Name = "label74"; this.label74.Size = new System.Drawing.Size(433, 13); @@ -688,7 +792,7 @@ // jpegFrames // this.jpegFrames.AutoSize = true; - this.jpegFrames.Location = new System.Drawing.Point(280, 100); + this.jpegFrames.Location = new System.Drawing.Point(280, 10); this.jpegFrames.Name = "jpegFrames"; this.jpegFrames.Size = new System.Drawing.Size(15, 14); this.jpegFrames.TabIndex = 85; @@ -697,7 +801,7 @@ // label63 // this.label63.AutoSize = true; - this.label63.Location = new System.Drawing.Point(10, 100); + this.label63.Location = new System.Drawing.Point(10, 10); this.label63.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label63.Name = "label63"; this.label63.Size = new System.Drawing.Size(170, 13); @@ -708,7 +812,7 @@ // this.label18.AutoSize = true; this.label18.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label18.Location = new System.Drawing.Point(10, 150); + this.label18.Location = new System.Drawing.Point(10, 10); this.label18.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label18.Name = "label18"; this.label18.Size = new System.Drawing.Size(152, 16); @@ -718,18 +822,18 @@ // keepMeta // this.keepMeta.AutoSize = true; - this.keepMeta.Location = new System.Drawing.Point(467, 39); + this.keepMeta.Location = new System.Drawing.Point(467, 9); this.keepMeta.Name = "keepMeta"; - this.keepMeta.Size = new System.Drawing.Size(131, 17); + this.keepMeta.Size = new System.Drawing.Size(99, 17); this.keepMeta.TabIndex = 81; - this.keepMeta.Text = "Keep Metadata (MKV)"; + this.keepMeta.Text = "Keep Metadata"; this.keepMeta.UseVisualStyleBackColor = true; // // label4 // this.label4.AutoSize = true; this.label4.ForeColor = System.Drawing.Color.Silver; - this.label4.Location = new System.Drawing.Point(308, 70); + this.label4.Location = new System.Drawing.Point(308, 10); this.label4.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(300, 13); @@ -739,7 +843,7 @@ // enableAlpha // this.enableAlpha.AutoSize = true; - this.enableAlpha.Location = new System.Drawing.Point(280, 70); + this.enableAlpha.Location = new System.Drawing.Point(280, 10); this.enableAlpha.Name = "enableAlpha"; this.enableAlpha.Size = new System.Drawing.Size(15, 14); this.enableAlpha.TabIndex = 77; @@ -748,7 +852,7 @@ // label25 // this.label25.AutoSize = true; - this.label25.Location = new System.Drawing.Point(10, 70); + this.label25.Location = new System.Drawing.Point(10, 10); this.label25.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label25.Name = "label25"; this.label25.Size = new System.Drawing.Size(177, 13); @@ -758,7 +862,7 @@ // keepSubs // this.keepSubs.AutoSize = true; - this.keepSubs.Location = new System.Drawing.Point(367, 39); + this.keepSubs.Location = new System.Drawing.Point(367, 9); this.keepSubs.Name = "keepSubs"; this.keepSubs.Size = new System.Drawing.Size(94, 17); this.keepSubs.TabIndex = 75; @@ -775,7 +879,7 @@ 0, 0, 131072}); - this.scnDetectValue.Location = new System.Drawing.Point(364, 238); + this.scnDetectValue.Location = new System.Drawing.Point(364, 8); this.scnDetectValue.Maximum = new decimal(new int[] { 5, 0, @@ -798,7 +902,7 @@ // sbsAllowAutoEnc // this.sbsAllowAutoEnc.AutoSize = true; - this.sbsAllowAutoEnc.Location = new System.Drawing.Point(280, 300); + this.sbsAllowAutoEnc.Location = new System.Drawing.Point(280, 10); this.sbsAllowAutoEnc.Name = "sbsAllowAutoEnc"; this.sbsAllowAutoEnc.Size = new System.Drawing.Size(15, 14); this.sbsAllowAutoEnc.TabIndex = 72; @@ -807,7 +911,7 @@ // dedupeSensLabel // this.dedupeSensLabel.AutoSize = true; - this.dedupeSensLabel.Location = new System.Drawing.Point(536, 181); + this.dedupeSensLabel.Location = new System.Drawing.Point(536, 11); this.dedupeSensLabel.Margin = new System.Windows.Forms.Padding(3); this.dedupeSensLabel.Name = "dedupeSensLabel"; this.dedupeSensLabel.Size = new System.Drawing.Size(57, 13); @@ -817,7 +921,7 @@ // label53 // this.label53.AutoSize = true; - this.label53.Location = new System.Drawing.Point(10, 300); + this.label53.Location = new System.Drawing.Point(10, 10); this.label53.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label53.Name = "label53"; this.label53.Size = new System.Drawing.Size(203, 13); @@ -835,7 +939,7 @@ "Disabled", "Enabled (Keep Interpolated Frames)", "Enabled (Delete Frames Once Encoded)"}); - this.autoEncMode.Location = new System.Drawing.Point(280, 267); + this.autoEncMode.Location = new System.Drawing.Point(280, 7); this.autoEncMode.Name = "autoEncMode"; this.autoEncMode.Size = new System.Drawing.Size(250, 21); this.autoEncMode.TabIndex = 70; @@ -844,7 +948,7 @@ // label49 // this.label49.AutoSize = true; - this.label49.Location = new System.Drawing.Point(10, 270); + this.label49.Location = new System.Drawing.Point(10, 10); this.label49.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label49.Name = "label49"; this.label49.Size = new System.Drawing.Size(206, 13); @@ -855,7 +959,7 @@ // this.panel14.BackgroundImage = global::Flowframes.Properties.Resources.baseline_create_white_18dp_semiTransparent; this.panel14.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; - this.panel14.Location = new System.Drawing.Point(475, 237); + this.panel14.Location = new System.Drawing.Point(475, 7); this.panel14.Name = "panel14"; this.panel14.Size = new System.Drawing.Size(21, 21); this.panel14.TabIndex = 68; @@ -865,7 +969,7 @@ // this.label52.AutoSize = true; this.label52.ForeColor = System.Drawing.Color.Silver; - this.label52.Location = new System.Drawing.Point(509, 242); + this.label52.Location = new System.Drawing.Point(509, 12); this.label52.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label52.Name = "label52"; this.label52.Size = new System.Drawing.Size(225, 13); @@ -875,7 +979,7 @@ // label51 // this.label51.AutoSize = true; - this.label51.Location = new System.Drawing.Point(301, 241); + this.label51.Location = new System.Drawing.Point(301, 11); this.label51.Margin = new System.Windows.Forms.Padding(3); this.label51.Name = "label51"; this.label51.Size = new System.Drawing.Size(57, 13); @@ -885,7 +989,7 @@ // scnDetect // this.scnDetect.AutoSize = true; - this.scnDetect.Location = new System.Drawing.Point(280, 240); + this.scnDetect.Location = new System.Drawing.Point(280, 10); this.scnDetect.Name = "scnDetect"; this.scnDetect.Size = new System.Drawing.Size(15, 14); this.scnDetect.TabIndex = 64; @@ -894,7 +998,7 @@ // label50 // this.label50.AutoSize = true; - this.label50.Location = new System.Drawing.Point(10, 240); + this.label50.Location = new System.Drawing.Point(10, 10); this.label50.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label50.Name = "label50"; this.label50.Size = new System.Drawing.Size(129, 13); @@ -904,7 +1008,7 @@ // mpDedupePanel // this.mpDedupePanel.Controls.Add(this.mpdecimateMode); - this.mpDedupePanel.Location = new System.Drawing.Point(599, 177); + this.mpDedupePanel.Location = new System.Drawing.Point(599, 7); this.mpDedupePanel.Margin = new System.Windows.Forms.Padding(0); this.mpDedupePanel.Name = "mpDedupePanel"; this.mpDedupePanel.Size = new System.Drawing.Size(135, 21); @@ -930,7 +1034,7 @@ // this.magickDedupePanel.Controls.Add(this.dedupThresh); this.magickDedupePanel.Controls.Add(this.panel3); - this.magickDedupePanel.Location = new System.Drawing.Point(599, 177); + this.magickDedupePanel.Location = new System.Drawing.Point(599, 7); this.magickDedupePanel.Margin = new System.Windows.Forms.Padding(0); this.magickDedupePanel.Name = "magickDedupePanel"; this.magickDedupePanel.Size = new System.Drawing.Size(135, 21); @@ -991,7 +1095,7 @@ // enableLoop // this.enableLoop.AutoSize = true; - this.enableLoop.Location = new System.Drawing.Point(280, 210); + this.enableLoop.Location = new System.Drawing.Point(280, 10); this.enableLoop.Name = "enableLoop"; this.enableLoop.Size = new System.Drawing.Size(15, 14); this.enableLoop.TabIndex = 31; @@ -1000,7 +1104,7 @@ // label15 // this.label15.AutoSize = true; - this.label15.Location = new System.Drawing.Point(10, 210); + this.label15.Location = new System.Drawing.Point(10, 10); this.label15.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label15.Name = "label15"; this.label15.Size = new System.Drawing.Size(217, 13); @@ -1018,7 +1122,7 @@ "Disabled", "1: After Extraction - Slow, Accurate", "2: During Extraction - Fast, Less Accurate"}); - this.dedupMode.Location = new System.Drawing.Point(280, 177); + this.dedupMode.Location = new System.Drawing.Point(280, 7); this.dedupMode.Name = "dedupMode"; this.dedupMode.Size = new System.Drawing.Size(250, 21); this.dedupMode.TabIndex = 27; @@ -1027,7 +1131,7 @@ // label2 // this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(10, 180); + this.label2.Location = new System.Drawing.Point(10, 10); this.label2.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(139, 13); @@ -1037,7 +1141,7 @@ // keepAudio // this.keepAudio.AutoSize = true; - this.keepAudio.Location = new System.Drawing.Point(280, 39); + this.keepAudio.Location = new System.Drawing.Point(280, 9); this.keepAudio.Name = "keepAudio"; this.keepAudio.Size = new System.Drawing.Size(81, 17); this.keepAudio.TabIndex = 25; @@ -1047,7 +1151,7 @@ // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(10, 40); + this.label1.Location = new System.Drawing.Point(10, 10); this.label1.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(124, 13); @@ -1057,39 +1161,17 @@ // aiOptsPage // this.aiOptsPage.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48))))); - this.aiOptsPage.Controls.Add(this.label66); - this.aiOptsPage.Controls.Add(this.rifeCudaFp16); - this.aiOptsPage.Controls.Add(this.label65); - this.aiOptsPage.Controls.Add(this.label35); - this.aiOptsPage.Controls.Add(this.panel12); - this.aiOptsPage.Controls.Add(this.dainNcnnTilesize); - this.aiOptsPage.Controls.Add(this.label27); - this.aiOptsPage.Controls.Add(this.label26); - this.aiOptsPage.Controls.Add(this.ncnnThreads); - this.aiOptsPage.Controls.Add(this.label30); - this.aiOptsPage.Controls.Add(this.panel6); - this.aiOptsPage.Controls.Add(this.uhdThresh); - this.aiOptsPage.Controls.Add(this.label29); - this.aiOptsPage.Controls.Add(this.label28); - this.aiOptsPage.Controls.Add(this.label44); - this.aiOptsPage.Controls.Add(this.label43); - this.aiOptsPage.Controls.Add(this.panel2); - this.aiOptsPage.Controls.Add(this.panel1); - this.aiOptsPage.Controls.Add(this.torchGpus); - this.aiOptsPage.Controls.Add(this.label33); - this.aiOptsPage.Controls.Add(this.ncnnGpus); - this.aiOptsPage.Controls.Add(this.label5); - this.aiOptsPage.Controls.Add(this.label32); + this.aiOptsPage.Controls.Add(this.flowPanelAiOptions); this.aiOptsPage.ForeColor = System.Drawing.Color.White; this.aiOptsPage.Name = "aiOptsPage"; - this.aiOptsPage.Size = new System.Drawing.Size(762, 419); + this.aiOptsPage.Size = new System.Drawing.Size(762, 771); this.aiOptsPage.Text = "AI Specific Options"; // // label66 // this.label66.AutoSize = true; this.label66.ForeColor = System.Drawing.Color.Silver; - this.label66.Location = new System.Drawing.Point(308, 211); + this.label66.Location = new System.Drawing.Point(307, 11); this.label66.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label66.Name = "label66"; this.label66.Size = new System.Drawing.Size(448, 13); @@ -1100,7 +1182,7 @@ // rifeCudaFp16 // this.rifeCudaFp16.AutoSize = true; - this.rifeCudaFp16.Location = new System.Drawing.Point(280, 210); + this.rifeCudaFp16.Location = new System.Drawing.Point(279, 10); this.rifeCudaFp16.Name = "rifeCudaFp16"; this.rifeCudaFp16.Size = new System.Drawing.Size(15, 14); this.rifeCudaFp16.TabIndex = 82; @@ -1109,7 +1191,7 @@ // label65 // this.label65.AutoSize = true; - this.label65.Location = new System.Drawing.Point(11, 210); + this.label65.Location = new System.Drawing.Point(10, 10); this.label65.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label65.Name = "label65"; this.label65.Size = new System.Drawing.Size(165, 13); @@ -1120,18 +1202,18 @@ // this.label35.AutoSize = true; this.label35.ForeColor = System.Drawing.Color.Silver; - this.label35.Location = new System.Drawing.Point(412, 291); + this.label35.Location = new System.Drawing.Point(412, 11); this.label35.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label35.Name = "label35"; - this.label35.Size = new System.Drawing.Size(258, 13); + this.label35.Size = new System.Drawing.Size(294, 13); this.label35.TabIndex = 80; - this.label35.Text = "Lower values decrease VRAM usage but also speed."; + this.label35.Text = "Lower values decrease VRAM usage but also reduce speed."; // // panel12 // this.panel12.BackgroundImage = global::Flowframes.Properties.Resources.baseline_create_white_18dp_semiTransparent; this.panel12.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; - this.panel12.Location = new System.Drawing.Point(378, 287); + this.panel12.Location = new System.Drawing.Point(378, 7); this.panel12.Name = "panel12"; this.panel12.Size = new System.Drawing.Size(21, 21); this.panel12.TabIndex = 78; @@ -1151,7 +1233,7 @@ "1024", "1536", "2048"}); - this.dainNcnnTilesize.Location = new System.Drawing.Point(280, 287); + this.dainNcnnTilesize.Location = new System.Drawing.Point(280, 7); this.dainNcnnTilesize.Margin = new System.Windows.Forms.Padding(3, 3, 8, 3); this.dainNcnnTilesize.Name = "dainNcnnTilesize"; this.dainNcnnTilesize.Size = new System.Drawing.Size(87, 21); @@ -1160,29 +1242,29 @@ // label27 // this.label27.AutoSize = true; - this.label27.Location = new System.Drawing.Point(10, 290); + this.label27.Location = new System.Drawing.Point(10, 10); this.label27.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label27.Name = "label27"; this.label27.Size = new System.Drawing.Size(93, 13); this.label27.TabIndex = 77; this.label27.Text = "Tile Size (Splitting)"; // - // label26 + // label19 // - this.label26.AutoSize = true; - this.label26.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold); - this.label26.Location = new System.Drawing.Point(10, 260); - this.label26.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); - this.label26.Name = "label26"; - this.label26.Size = new System.Drawing.Size(151, 16); - this.label26.TabIndex = 76; - this.label26.Text = "DAIN-NCNN Settings"; + this.label19.AutoSize = true; + this.label19.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold); + this.label19.Location = new System.Drawing.Point(10, 10); + this.label19.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(151, 16); + this.label19.TabIndex = 76; + this.label19.Text = "DAIN-NCNN Settings"; // // ncnnThreads // this.ncnnThreads.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.ncnnThreads.ForeColor = System.Drawing.Color.White; - this.ncnnThreads.Location = new System.Drawing.Point(280, 98); + this.ncnnThreads.Location = new System.Drawing.Point(280, 8); this.ncnnThreads.Maximum = new decimal(new int[] { 8, 0, @@ -1201,18 +1283,18 @@ // this.label30.AutoSize = true; this.label30.ForeColor = System.Drawing.Color.Silver; - this.label30.Location = new System.Drawing.Point(412, 181); + this.label30.Location = new System.Drawing.Point(412, 11); this.label30.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label30.Name = "label30"; - this.label30.Size = new System.Drawing.Size(347, 13); + this.label30.Size = new System.Drawing.Size(335, 13); this.label30.TabIndex = 67; - this.label30.Text = "Minimum height to enable UHD mode which helps high-res interpolations"; + this.label30.Text = "Minimum height to enable UHD mode to improve high-res interpolation"; // // panel6 // this.panel6.BackgroundImage = global::Flowframes.Properties.Resources.baseline_create_white_18dp_semiTransparent; this.panel6.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; - this.panel6.Location = new System.Drawing.Point(378, 177); + this.panel6.Location = new System.Drawing.Point(378, 7); this.panel6.Name = "panel6"; this.panel6.Size = new System.Drawing.Size(21, 21); this.panel6.TabIndex = 65; @@ -1230,7 +1312,7 @@ "1440", "1080", "720"}); - this.uhdThresh.Location = new System.Drawing.Point(280, 177); + this.uhdThresh.Location = new System.Drawing.Point(280, 7); this.uhdThresh.Margin = new System.Windows.Forms.Padding(3, 3, 8, 3); this.uhdThresh.Name = "uhdThresh"; this.uhdThresh.Size = new System.Drawing.Size(87, 21); @@ -1239,29 +1321,29 @@ // label29 // this.label29.AutoSize = true; - this.label29.Location = new System.Drawing.Point(10, 180); + this.label29.Location = new System.Drawing.Point(10, 10); this.label29.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label29.Name = "label29"; this.label29.Size = new System.Drawing.Size(151, 13); this.label29.TabIndex = 62; this.label29.Text = "UHD Mode Threshold (Height)"; // - // label28 + // label11 // - this.label28.AutoSize = true; - this.label28.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold); - this.label28.Location = new System.Drawing.Point(10, 150); - this.label28.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); - this.label28.Name = "label28"; - this.label28.Size = new System.Drawing.Size(101, 16); - this.label28.TabIndex = 61; - this.label28.Text = "RIFE Settings"; + this.label11.AutoSize = true; + this.label11.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold); + this.label11.Location = new System.Drawing.Point(10, 10); + this.label11.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(101, 16); + this.label11.TabIndex = 61; + this.label11.Text = "RIFE Settings"; // // label44 // this.label44.AutoSize = true; this.label44.ForeColor = System.Drawing.Color.Silver; - this.label44.Location = new System.Drawing.Point(370, 101); + this.label44.Location = new System.Drawing.Point(370, 11); this.label44.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label44.Name = "label44"; this.label44.Size = new System.Drawing.Size(330, 13); @@ -1271,18 +1353,18 @@ // label43 // this.label43.AutoSize = true; - this.label43.Location = new System.Drawing.Point(10, 100); + this.label43.Location = new System.Drawing.Point(10, 10); this.label43.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label43.Name = "label43"; - this.label43.Size = new System.Drawing.Size(135, 13); + this.label43.Size = new System.Drawing.Size(161, 13); this.label43.TabIndex = 58; - this.label43.Text = "NCNN Processing Threads"; + this.label43.Text = "NCNN GPU Processing Threads"; // // panel2 // this.panel2.BackgroundImage = global::Flowframes.Properties.Resources.baseline_create_white_18dp_semiTransparent; this.panel2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; - this.panel2.Location = new System.Drawing.Point(536, 67); + this.panel2.Location = new System.Drawing.Point(536, 7); this.panel2.Name = "panel2"; this.panel2.Size = new System.Drawing.Size(21, 21); this.panel2.TabIndex = 57; @@ -1292,7 +1374,7 @@ // this.panel1.BackgroundImage = global::Flowframes.Properties.Resources.baseline_create_white_18dp_semiTransparent; this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; - this.panel1.Location = new System.Drawing.Point(536, 37); + this.panel1.Location = new System.Drawing.Point(536, 7); this.panel1.Name = "panel1"; this.panel1.Size = new System.Drawing.Size(21, 21); this.panel1.TabIndex = 56; @@ -1308,7 +1390,7 @@ "0", "1", "0,1"}); - this.torchGpus.Location = new System.Drawing.Point(280, 37); + this.torchGpus.Location = new System.Drawing.Point(280, 7); this.torchGpus.Name = "torchGpus"; this.torchGpus.Size = new System.Drawing.Size(250, 21); this.torchGpus.TabIndex = 55; @@ -1316,7 +1398,7 @@ // label33 // this.label33.AutoSize = true; - this.label33.Location = new System.Drawing.Point(10, 40); + this.label33.Location = new System.Drawing.Point(10, 10); this.label33.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label33.Name = "label33"; this.label33.Size = new System.Drawing.Size(205, 13); @@ -1333,7 +1415,7 @@ "0", "1", "0,1"}); - this.ncnnGpus.Location = new System.Drawing.Point(280, 67); + this.ncnnGpus.Location = new System.Drawing.Point(280, 7); this.ncnnGpus.Name = "ncnnGpus"; this.ncnnGpus.Size = new System.Drawing.Size(250, 21); this.ncnnGpus.TabIndex = 53; @@ -1341,7 +1423,7 @@ // label5 // this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(10, 70); + this.label5.Location = new System.Drawing.Point(10, 10); this.label5.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(200, 13); @@ -1452,9 +1534,9 @@ this.label55.Location = new System.Drawing.Point(10, 70); this.label55.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7); this.label55.Name = "label55"; - this.label55.Size = new System.Drawing.Size(162, 13); + this.label55.Size = new System.Drawing.Size(150, 13); this.label55.TabIndex = 61; - this.label55.Text = "Minimum Length Encoding Mode"; + this.label55.Text = "Minimum Length Saving Mode"; // // panel8 // @@ -1733,12 +1815,280 @@ this.resetBtn.UseVisualStyleBackColor = false; this.resetBtn.Click += new System.EventHandler(this.resetBtn_Click); // + // flowPanelInterpolation + // + this.flowPanelInterpolation.Controls.Add(this.panTitleInputMedia); + this.flowPanelInterpolation.Controls.Add(this.panCopyInputMedia); + this.flowPanelInterpolation.Controls.Add(this.panEnableAlpha); + this.flowPanelInterpolation.Controls.Add(this.panHqJpegImport); + this.flowPanelInterpolation.Controls.Add(this.panTitleInterpHelpers); + this.flowPanelInterpolation.Controls.Add(this.panDedupe); + this.flowPanelInterpolation.Controls.Add(this.panLoop); + this.flowPanelInterpolation.Controls.Add(this.panSceneChange); + this.flowPanelInterpolation.Controls.Add(this.panAutoEnc); + this.flowPanelInterpolation.Controls.Add(this.panAutoEncInSbsMode); + this.flowPanelInterpolation.Controls.Add(this.panAutoEncBackups); + this.flowPanelInterpolation.Controls.Add(this.panAutoEncLowSpaceMode); + this.flowPanelInterpolation.Dock = System.Windows.Forms.DockStyle.Fill; + this.flowPanelInterpolation.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; + this.flowPanelInterpolation.Location = new System.Drawing.Point(0, 0); + this.flowPanelInterpolation.Margin = new System.Windows.Forms.Padding(0); + this.flowPanelInterpolation.Name = "flowPanelInterpolation"; + this.flowPanelInterpolation.Size = new System.Drawing.Size(762, 771); + this.flowPanelInterpolation.TabIndex = 94; + // + // panCopyInputMedia + // + this.panCopyInputMedia.Controls.Add(this.label1); + this.panCopyInputMedia.Controls.Add(this.keepAudio); + this.panCopyInputMedia.Controls.Add(this.keepSubs); + this.panCopyInputMedia.Controls.Add(this.keepMeta); + this.panCopyInputMedia.Location = new System.Drawing.Point(0, 30); + this.panCopyInputMedia.Margin = new System.Windows.Forms.Padding(0); + this.panCopyInputMedia.Name = "panCopyInputMedia"; + this.panCopyInputMedia.Size = new System.Drawing.Size(762, 30); + this.panCopyInputMedia.TabIndex = 5; + // + // panEnableAlpha + // + this.panEnableAlpha.Controls.Add(this.label25); + this.panEnableAlpha.Controls.Add(this.enableAlpha); + this.panEnableAlpha.Controls.Add(this.label4); + this.panEnableAlpha.Location = new System.Drawing.Point(0, 60); + this.panEnableAlpha.Margin = new System.Windows.Forms.Padding(0); + this.panEnableAlpha.Name = "panEnableAlpha"; + this.panEnableAlpha.Size = new System.Drawing.Size(762, 30); + this.panEnableAlpha.TabIndex = 6; + // + // panTitleInputMedia + // + this.panTitleInputMedia.Controls.Add(this.label24); + this.panTitleInputMedia.Location = new System.Drawing.Point(0, 0); + this.panTitleInputMedia.Margin = new System.Windows.Forms.Padding(0); + this.panTitleInputMedia.Name = "panTitleInputMedia"; + this.panTitleInputMedia.Size = new System.Drawing.Size(762, 30); + this.panTitleInputMedia.TabIndex = 7; + // + // panHqJpegImport + // + this.panHqJpegImport.Controls.Add(this.label63); + this.panHqJpegImport.Controls.Add(this.jpegFrames); + this.panHqJpegImport.Controls.Add(this.label74); + this.panHqJpegImport.Location = new System.Drawing.Point(0, 90); + this.panHqJpegImport.Margin = new System.Windows.Forms.Padding(0); + this.panHqJpegImport.Name = "panHqJpegImport"; + this.panHqJpegImport.Size = new System.Drawing.Size(762, 30); + this.panHqJpegImport.TabIndex = 8; + // + // panTitleInterpHelpers + // + this.panTitleInterpHelpers.Controls.Add(this.label18); + this.panTitleInterpHelpers.Location = new System.Drawing.Point(0, 120); + this.panTitleInterpHelpers.Margin = new System.Windows.Forms.Padding(0); + this.panTitleInterpHelpers.Name = "panTitleInterpHelpers"; + this.panTitleInterpHelpers.Size = new System.Drawing.Size(762, 30); + this.panTitleInterpHelpers.TabIndex = 9; + // + // panDedupe + // + this.panDedupe.Controls.Add(this.label2); + this.panDedupe.Controls.Add(this.dedupMode); + this.panDedupe.Controls.Add(this.dedupeSensLabel); + this.panDedupe.Controls.Add(this.mpDedupePanel); + this.panDedupe.Controls.Add(this.magickDedupePanel); + this.panDedupe.Location = new System.Drawing.Point(0, 150); + this.panDedupe.Margin = new System.Windows.Forms.Padding(0); + this.panDedupe.Name = "panDedupe"; + this.panDedupe.Size = new System.Drawing.Size(762, 30); + this.panDedupe.TabIndex = 10; + // + // panLoop + // + this.panLoop.Controls.Add(this.label15); + this.panLoop.Controls.Add(this.enableLoop); + this.panLoop.Location = new System.Drawing.Point(0, 180); + this.panLoop.Margin = new System.Windows.Forms.Padding(0); + this.panLoop.Name = "panLoop"; + this.panLoop.Size = new System.Drawing.Size(762, 30); + this.panLoop.TabIndex = 11; + // + // panSceneChange + // + this.panSceneChange.Controls.Add(this.label50); + this.panSceneChange.Controls.Add(this.scnDetect); + this.panSceneChange.Controls.Add(this.label51); + this.panSceneChange.Controls.Add(this.label52); + this.panSceneChange.Controls.Add(this.panel14); + this.panSceneChange.Controls.Add(this.scnDetectValue); + this.panSceneChange.Location = new System.Drawing.Point(0, 210); + this.panSceneChange.Margin = new System.Windows.Forms.Padding(0); + this.panSceneChange.Name = "panSceneChange"; + this.panSceneChange.Size = new System.Drawing.Size(762, 30); + this.panSceneChange.TabIndex = 12; + // + // panAutoEnc + // + this.panAutoEnc.Controls.Add(this.label49); + this.panAutoEnc.Controls.Add(this.autoEncMode); + this.panAutoEnc.Location = new System.Drawing.Point(0, 240); + this.panAutoEnc.Margin = new System.Windows.Forms.Padding(0); + this.panAutoEnc.Name = "panAutoEnc"; + this.panAutoEnc.Size = new System.Drawing.Size(762, 30); + this.panAutoEnc.TabIndex = 13; + // + // panAutoEncInSbsMode + // + this.panAutoEncInSbsMode.Controls.Add(this.label53); + this.panAutoEncInSbsMode.Controls.Add(this.sbsAllowAutoEnc); + this.panAutoEncInSbsMode.Location = new System.Drawing.Point(0, 270); + this.panAutoEncInSbsMode.Margin = new System.Windows.Forms.Padding(0); + this.panAutoEncInSbsMode.Name = "panAutoEncInSbsMode"; + this.panAutoEncInSbsMode.Size = new System.Drawing.Size(762, 30); + this.panAutoEncInSbsMode.TabIndex = 14; + // + // panAutoEncBackups + // + this.panAutoEncBackups.Controls.Add(this.label16); + this.panAutoEncBackups.Controls.Add(this.autoEncBackupMode); + this.panAutoEncBackups.Controls.Add(this.label41); + this.panAutoEncBackups.Controls.Add(this.pictureBox2); + this.panAutoEncBackups.Location = new System.Drawing.Point(0, 300); + this.panAutoEncBackups.Margin = new System.Windows.Forms.Padding(0); + this.panAutoEncBackups.Name = "panAutoEncBackups"; + this.panAutoEncBackups.Size = new System.Drawing.Size(762, 30); + this.panAutoEncBackups.TabIndex = 15; + // + // panAutoEncLowSpaceMode + // + this.panAutoEncLowSpaceMode.Controls.Add(this.label58); + this.panAutoEncLowSpaceMode.Controls.Add(this.label70); + this.panAutoEncLowSpaceMode.Controls.Add(this.alwaysWaitForAutoEnc); + this.panAutoEncLowSpaceMode.Location = new System.Drawing.Point(0, 330); + this.panAutoEncLowSpaceMode.Margin = new System.Windows.Forms.Padding(0); + this.panAutoEncLowSpaceMode.Name = "panAutoEncLowSpaceMode"; + this.panAutoEncLowSpaceMode.Size = new System.Drawing.Size(762, 30); + this.panAutoEncLowSpaceMode.TabIndex = 16; + // + // flowPanelAiOptions + // + this.flowPanelAiOptions.Controls.Add(this.panTitleAiFramework); + this.flowPanelAiOptions.Controls.Add(this.panTorchGpus); + this.flowPanelAiOptions.Controls.Add(this.panNcnnGpus); + this.flowPanelAiOptions.Controls.Add(this.panNcnnThreads); + this.flowPanelAiOptions.Controls.Add(this.panTitleRife); + this.flowPanelAiOptions.Controls.Add(this.panUhdThresh); + this.flowPanelAiOptions.Controls.Add(this.panRifeCudaHalfPrec); + this.flowPanelAiOptions.Controls.Add(this.panTitleDainNcnn); + this.flowPanelAiOptions.Controls.Add(this.panDainNcnnTileSize); + this.flowPanelAiOptions.Dock = System.Windows.Forms.DockStyle.Fill; + this.flowPanelAiOptions.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; + this.flowPanelAiOptions.Location = new System.Drawing.Point(0, 0); + this.flowPanelAiOptions.Margin = new System.Windows.Forms.Padding(0); + this.flowPanelAiOptions.Name = "flowPanelAiOptions"; + this.flowPanelAiOptions.Size = new System.Drawing.Size(762, 771); + this.flowPanelAiOptions.TabIndex = 95; + // + // panTitleAiFramework + // + this.panTitleAiFramework.Controls.Add(this.label32); + this.panTitleAiFramework.Location = new System.Drawing.Point(0, 0); + this.panTitleAiFramework.Margin = new System.Windows.Forms.Padding(0); + this.panTitleAiFramework.Name = "panTitleAiFramework"; + this.panTitleAiFramework.Size = new System.Drawing.Size(762, 30); + this.panTitleAiFramework.TabIndex = 7; + // + // panTorchGpus + // + this.panTorchGpus.Controls.Add(this.label33); + this.panTorchGpus.Controls.Add(this.torchGpus); + this.panTorchGpus.Controls.Add(this.panel1); + this.panTorchGpus.Location = new System.Drawing.Point(0, 30); + this.panTorchGpus.Margin = new System.Windows.Forms.Padding(0); + this.panTorchGpus.Name = "panTorchGpus"; + this.panTorchGpus.Size = new System.Drawing.Size(762, 30); + this.panTorchGpus.TabIndex = 5; + // + // panNcnnGpus + // + this.panNcnnGpus.Controls.Add(this.label5); + this.panNcnnGpus.Controls.Add(this.ncnnGpus); + this.panNcnnGpus.Controls.Add(this.panel2); + this.panNcnnGpus.Location = new System.Drawing.Point(0, 60); + this.panNcnnGpus.Margin = new System.Windows.Forms.Padding(0); + this.panNcnnGpus.Name = "panNcnnGpus"; + this.panNcnnGpus.Size = new System.Drawing.Size(762, 30); + this.panNcnnGpus.TabIndex = 6; + // + // panNcnnThreads + // + this.panNcnnThreads.Controls.Add(this.label43); + this.panNcnnThreads.Controls.Add(this.label44); + this.panNcnnThreads.Controls.Add(this.ncnnThreads); + this.panNcnnThreads.Location = new System.Drawing.Point(0, 90); + this.panNcnnThreads.Margin = new System.Windows.Forms.Padding(0); + this.panNcnnThreads.Name = "panNcnnThreads"; + this.panNcnnThreads.Size = new System.Drawing.Size(762, 30); + this.panNcnnThreads.TabIndex = 8; + // + // panTitleRife + // + this.panTitleRife.Controls.Add(this.label11); + this.panTitleRife.Location = new System.Drawing.Point(0, 120); + this.panTitleRife.Margin = new System.Windows.Forms.Padding(0); + this.panTitleRife.Name = "panTitleRife"; + this.panTitleRife.Size = new System.Drawing.Size(762, 30); + this.panTitleRife.TabIndex = 9; + // + // panUhdThresh + // + this.panUhdThresh.Controls.Add(this.label29); + this.panUhdThresh.Controls.Add(this.uhdThresh); + this.panUhdThresh.Controls.Add(this.panel6); + this.panUhdThresh.Controls.Add(this.label30); + this.panUhdThresh.Location = new System.Drawing.Point(0, 150); + this.panUhdThresh.Margin = new System.Windows.Forms.Padding(0); + this.panUhdThresh.Name = "panUhdThresh"; + this.panUhdThresh.Size = new System.Drawing.Size(762, 30); + this.panUhdThresh.TabIndex = 10; + // + // panRifeCudaHalfPrec + // + this.panRifeCudaHalfPrec.Controls.Add(this.label65); + this.panRifeCudaHalfPrec.Controls.Add(this.label66); + this.panRifeCudaHalfPrec.Controls.Add(this.rifeCudaFp16); + this.panRifeCudaHalfPrec.Location = new System.Drawing.Point(0, 180); + this.panRifeCudaHalfPrec.Margin = new System.Windows.Forms.Padding(0); + this.panRifeCudaHalfPrec.Name = "panRifeCudaHalfPrec"; + this.panRifeCudaHalfPrec.Size = new System.Drawing.Size(762, 30); + this.panRifeCudaHalfPrec.TabIndex = 11; + // + // panTitleDainNcnn + // + this.panTitleDainNcnn.Controls.Add(this.label19); + this.panTitleDainNcnn.Location = new System.Drawing.Point(0, 210); + this.panTitleDainNcnn.Margin = new System.Windows.Forms.Padding(0); + this.panTitleDainNcnn.Name = "panTitleDainNcnn"; + this.panTitleDainNcnn.Size = new System.Drawing.Size(762, 30); + this.panTitleDainNcnn.TabIndex = 12; + // + // panDainNcnnTileSize + // + this.panDainNcnnTileSize.Controls.Add(this.label27); + this.panDainNcnnTileSize.Controls.Add(this.label35); + this.panDainNcnnTileSize.Controls.Add(this.dainNcnnTilesize); + this.panDainNcnnTileSize.Controls.Add(this.panel12); + this.panDainNcnnTileSize.Location = new System.Drawing.Point(0, 240); + this.panDainNcnnTileSize.Margin = new System.Windows.Forms.Padding(0); + this.panDainNcnnTileSize.Name = "panDainNcnnTileSize"; + this.panDainNcnnTileSize.Size = new System.Drawing.Size(762, 30); + this.panDainNcnnTileSize.TabIndex = 13; + // // SettingsForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); - this.ClientSize = new System.Drawing.Size(944, 501); + this.ClientSize = new System.Drawing.Size(944, 853); this.Controls.Add(this.resetBtn); this.Controls.Add(this.titleLabel); this.Controls.Add(this.settingsTabList); @@ -1752,23 +2102,81 @@ this.Load += new System.EventHandler(this.SettingsForm_Load); this.settingsTabList.ResumeLayout(false); this.generalTab.ResumeLayout(false); - this.generalTab.PerformLayout(); + this.flowPanelApplication.ResumeLayout(false); + this.panProcessingStyle.ResumeLayout(false); + this.panProcessingStyle.PerformLayout(); + this.panMaxRes.ResumeLayout(false); + this.panMaxRes.PerformLayout(); + this.panTempFolder.ResumeLayout(false); + this.panTempFolder.PerformLayout(); + this.panOutputLocation.ResumeLayout(false); + this.panOutputLocation.PerformLayout(); + this.panKeepTempFolder.ResumeLayout(false); + this.panKeepTempFolder.PerformLayout(); + this.panExportName.ResumeLayout(false); + this.panExportName.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.info1)).EndInit(); + this.panel5.ResumeLayout(false); + this.panel5.PerformLayout(); + this.panel11.ResumeLayout(false); + this.panel11.PerformLayout(); this.tabListPage2.ResumeLayout(false); - this.tabListPage2.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.scnDetectValue)).EndInit(); this.mpDedupePanel.ResumeLayout(false); this.magickDedupePanel.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dedupThresh)).EndInit(); this.aiOptsPage.ResumeLayout(false); - this.aiOptsPage.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.ncnnThreads)).EndInit(); this.vidExportTab.ResumeLayout(false); this.vidExportTab.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.minOutVidLength)).EndInit(); this.debugTab.ResumeLayout(false); this.debugTab.PerformLayout(); + this.flowPanelInterpolation.ResumeLayout(false); + this.panCopyInputMedia.ResumeLayout(false); + this.panCopyInputMedia.PerformLayout(); + this.panEnableAlpha.ResumeLayout(false); + this.panEnableAlpha.PerformLayout(); + this.panTitleInputMedia.ResumeLayout(false); + this.panTitleInputMedia.PerformLayout(); + this.panHqJpegImport.ResumeLayout(false); + this.panHqJpegImport.PerformLayout(); + this.panTitleInterpHelpers.ResumeLayout(false); + this.panTitleInterpHelpers.PerformLayout(); + this.panDedupe.ResumeLayout(false); + this.panDedupe.PerformLayout(); + this.panLoop.ResumeLayout(false); + this.panLoop.PerformLayout(); + this.panSceneChange.ResumeLayout(false); + this.panSceneChange.PerformLayout(); + this.panAutoEnc.ResumeLayout(false); + this.panAutoEnc.PerformLayout(); + this.panAutoEncInSbsMode.ResumeLayout(false); + this.panAutoEncInSbsMode.PerformLayout(); + this.panAutoEncBackups.ResumeLayout(false); + this.panAutoEncBackups.PerformLayout(); + this.panAutoEncLowSpaceMode.ResumeLayout(false); + this.panAutoEncLowSpaceMode.PerformLayout(); + this.flowPanelAiOptions.ResumeLayout(false); + this.panTitleAiFramework.ResumeLayout(false); + this.panTitleAiFramework.PerformLayout(); + this.panTorchGpus.ResumeLayout(false); + this.panTorchGpus.PerformLayout(); + this.panNcnnGpus.ResumeLayout(false); + this.panNcnnGpus.PerformLayout(); + this.panNcnnThreads.ResumeLayout(false); + this.panNcnnThreads.PerformLayout(); + this.panTitleRife.ResumeLayout(false); + this.panTitleRife.PerformLayout(); + this.panUhdThresh.ResumeLayout(false); + this.panUhdThresh.PerformLayout(); + this.panRifeCudaHalfPrec.ResumeLayout(false); + this.panRifeCudaHalfPrec.PerformLayout(); + this.panTitleDainNcnn.ResumeLayout(false); + this.panTitleDainNcnn.PerformLayout(); + this.panDainNcnnTileSize.ResumeLayout(false); + this.panDainNcnnTileSize.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); @@ -1847,7 +2255,7 @@ private System.Windows.Forms.Panel panel6; private System.Windows.Forms.ComboBox uhdThresh; private System.Windows.Forms.Label label29; - private System.Windows.Forms.Label label28; + private System.Windows.Forms.Label label11; private System.Windows.Forms.TextBox ffEncArgs; private System.Windows.Forms.Label label56; private System.Windows.Forms.Label label64; @@ -1864,7 +2272,7 @@ private System.Windows.Forms.Panel panel12; private System.Windows.Forms.ComboBox dainNcnnTilesize; private System.Windows.Forms.Label label27; - private System.Windows.Forms.Label label26; + private System.Windows.Forms.Label label19; private System.Windows.Forms.CheckBox rifeCudaFp16; private System.Windows.Forms.Label label65; private System.Windows.Forms.Label label66; @@ -1890,7 +2298,6 @@ private System.Windows.Forms.Label label70; private System.Windows.Forms.CheckBox alwaysWaitForAutoEnc; private System.Windows.Forms.Label label58; - private System.Windows.Forms.Panel autoEncBlockPanel; private HTAlt.WinForms.HTButton resetBtn; private HTAlt.WinForms.HTButton custOutDirBrowseBtn; private System.Windows.Forms.TextBox custOutDir; @@ -1900,5 +2307,37 @@ private System.Windows.Forms.ComboBox serverCombox; private HTAlt.WinForms.HTButton btnResetHwEnc; private System.Windows.Forms.Label label10; + private System.Windows.Forms.FlowLayoutPanel flowPanelApplication; + public System.Windows.Forms.Panel panProcessingStyle; + public System.Windows.Forms.Panel panMaxRes; + public System.Windows.Forms.Panel panTempFolder; + public System.Windows.Forms.Panel panOutputLocation; + public System.Windows.Forms.Panel panKeepTempFolder; + public System.Windows.Forms.Panel panExportName; + public System.Windows.Forms.Panel panel5; + public System.Windows.Forms.Panel panel11; + private System.Windows.Forms.FlowLayoutPanel flowPanelInterpolation; + public System.Windows.Forms.Panel panCopyInputMedia; + public System.Windows.Forms.Panel panEnableAlpha; + public System.Windows.Forms.Panel panTitleInputMedia; + public System.Windows.Forms.Panel panHqJpegImport; + public System.Windows.Forms.Panel panTitleInterpHelpers; + public System.Windows.Forms.Panel panDedupe; + public System.Windows.Forms.Panel panLoop; + public System.Windows.Forms.Panel panSceneChange; + public System.Windows.Forms.Panel panAutoEnc; + public System.Windows.Forms.Panel panAutoEncInSbsMode; + public System.Windows.Forms.Panel panAutoEncBackups; + public System.Windows.Forms.Panel panAutoEncLowSpaceMode; + private System.Windows.Forms.FlowLayoutPanel flowPanelAiOptions; + public System.Windows.Forms.Panel panTitleAiFramework; + public System.Windows.Forms.Panel panTorchGpus; + public System.Windows.Forms.Panel panNcnnGpus; + public System.Windows.Forms.Panel panNcnnThreads; + public System.Windows.Forms.Panel panTitleRife; + public System.Windows.Forms.Panel panUhdThresh; + public System.Windows.Forms.Panel panRifeCudaHalfPrec; + public System.Windows.Forms.Panel panTitleDainNcnn; + public System.Windows.Forms.Panel panDainNcnnTileSize; } } \ No newline at end of file diff --git a/CodeLegacy/Forms/SettingsForm.cs b/CodeLegacy/Forms/SettingsForm.cs index 872894d..02454c1 100644 --- a/CodeLegacy/Forms/SettingsForm.cs +++ b/CodeLegacy/Forms/SettingsForm.cs @@ -2,9 +2,11 @@ using Flowframes.IO; using Flowframes.Media; using Flowframes.MiscUtils; +using Flowframes.Os; using Flowframes.Ui; using Microsoft.WindowsAPICodePack.Dialogs; using System; +using System.Collections.Generic; using System.Drawing; using System.Threading.Tasks; using System.Windows.Forms; @@ -169,6 +171,28 @@ namespace Flowframes.Forms ConfigParser.LoadGuiElement(ffEncArgs); } + private void SetVisibility () + { + // Dev options + List devOptions = new List { panKeepTempFolder, }; + devOptions.ForEach(c => c.SetVisible(Program.Debug)); + + // Legacy/deprecated/untested options + List legacyUntestedOptions = new List { panProcessingStyle, panEnableAlpha, panHqJpegImport }; + legacyUntestedOptions.ForEach(c => c.SetVisible(Program.Debug)); + + // AutoEnc options + bool autoEncEnabled = autoEncMode.SelectedIndex != 0; + List autoEncOptions = new List { panAutoEncBackups, panAutoEncLowSpaceMode }; + autoEncOptions.ForEach(c => c.SetVisible(autoEncEnabled)); + panAutoEncInSbsMode.SetVisible(autoEncEnabled && panProcessingStyle.Visible); + + var availAis = Implementations.NetworksAvailable; + panTorchGpus.SetVisible(NvApi.NvGpus.Count > 0 && Python.IsPytorchReady()); + panNcnnGpus.SetVisible(VulkanUtils.VkDevices.Count > 0); + panRifeCudaHalfPrec.SetVisible(NvApi.NvGpus.Count > 0 && availAis.Contains(Implementations.rifeCuda)); + } + private void tempFolderLoc_SelectedIndexChanged(object sender, EventArgs e) { tempDirBrowseBtn.Visible = tempFolderLoc.SelectedIndex == 4; @@ -229,7 +253,7 @@ namespace Flowframes.Forms private void autoEncMode_SelectedIndexChanged(object sender, EventArgs e) { - autoEncBlockPanel.Visible = autoEncMode.SelectedIndex == 0; + SetVisibility(); } private async void resetBtn_Click(object sender, EventArgs e) @@ -253,6 +277,8 @@ namespace Flowframes.Forms private void settingsTabList_SelectedIndexChanged(object sender, EventArgs e) { + SetVisibility(); + if (!_sizeFixApplied) { Size = new Size(Width + 1, Height + 1); diff --git a/CodeLegacy/Forms/SettingsForm.resx b/CodeLegacy/Forms/SettingsForm.resx index 95e8249..375324f 100644 --- a/CodeLegacy/Forms/SettingsForm.resx +++ b/CodeLegacy/Forms/SettingsForm.resx @@ -120,6 +120,9 @@ 17, 17 + + 17, 17 + Set the filename patterns using placeholders: [NAME] for the input filename diff --git a/CodeLegacy/IO/Config.cs b/CodeLegacy/IO/Config.cs index cb5db44..f6472d9 100644 --- a/CodeLegacy/IO/Config.cs +++ b/CodeLegacy/IO/Config.cs @@ -1,4 +1,5 @@ using Flowframes.Forms; +using Flowframes.Utilities; using Newtonsoft.Json; using System; using System.Collections.Generic; @@ -157,7 +158,7 @@ namespace Flowframes.IO public static bool GetBool(Key key, bool defaultVal = false) { - WriteIfDoesntExist(key.ToString(), (defaultVal ? "True" : "False")); + WriteIfDoesntExist(key.ToString(), (defaultVal ? true : false).ToString()); return Get(key, Type.Bool).GetBool(); } @@ -168,7 +169,7 @@ namespace Flowframes.IO public static bool GetBool(string key, bool defaultVal) { - WriteIfDoesntExist(key.ToString(), (defaultVal ? "True" : "False")); + WriteIfDoesntExist(key.ToString(), (defaultVal ? true : false).ToString()); return bool.Parse(Get(key, Type.Bool)); } @@ -258,22 +259,22 @@ namespace Flowframes.IO return WriteDefault(keyStr, ""); } - if (key == Key.disablePreview) return WriteDefault(key, "True"); + if (key == Key.disablePreview) return WriteDefault(key, true); if (key == Key.maxVidHeight) return WriteDefault(key, "2160"); - if (key == Key.clearLogOnInput) return WriteDefault(key, "True"); + if (key == Key.clearLogOnInput) return WriteDefault(key, true); if (key == Key.tempDirCustom) return WriteDefault(key, "D:/"); if (key == Key.exportNamePattern) return WriteDefault(key, "[NAME]-[FACTOR]x-[MODEL]-[FPS]fps"); if (key == Key.exportNamePatternLoop) return WriteDefault(key, "-Loop[LOOPS]"); // Interpolation if (key == Key.dedupThresh) return WriteDefault(key, "2"); - if (key == Key.keepAudio) return WriteDefault(key, "True"); - if (key == Key.keepSubs) return WriteDefault(key, "True"); - if (key == Key.keepMeta) return WriteDefault(key, "True"); - if (key == Key.scnDetect) return WriteDefault(key, "True"); + if (key == Key.keepAudio) return WriteDefault(key, true); + if (key == Key.keepSubs) return WriteDefault(key, true); + if (key == Key.keepMeta) return WriteDefault(key, true); + if (key == Key.scnDetect) return WriteDefault(key, true); if (key == Key.scnDetectValue) return WriteDefault(key, "0.2"); if (key == Key.sceneChangeFillMode) return WriteDefault(key, "0"); if (key == Key.autoEncMode) return WriteDefault(key, "2"); - if (key == Key.jpegFrames) return WriteDefault(key, "True"); + if (key == Key.jpegFrames) return WriteDefault(key, true); // Video Export if (key == Key.minOutVidLength) return WriteDefault(key, "5"); if (key == Key.gifDitherType) return WriteDefault(key, "bayer"); @@ -283,15 +284,21 @@ namespace Flowframes.IO if (key == Key.torchGpus) return WriteDefault(key, "0"); if (key == Key.ncnnGpus) return WriteDefault(key, "0"); if (key == Key.ncnnThreads) return WriteDefault(key, "0"); - if (key == Key.dainNcnnTilesize) return WriteDefault(key, "768"); + if (key == Key.dainNcnnTilesize) return WriteDefault(key, NcnnUtils.GetDainNcnnTileSizeBasedOnVram(768).ToString()); // Debug / Other / Experimental if (key == Key.ffEncPreset) return WriteDefault(key, "fast"); - if (key == Key.sbsRunPreviousStepIfNeeded) return WriteDefault(key, "True"); + if (key == Key.sbsRunPreviousStepIfNeeded) return WriteDefault(key, true); if (type == Type.Int || type == Type.Float) return WriteDefault(key, "0"); // Write default int/float (0) - if (type == Type.Bool) return WriteDefault(key, "False"); // Write default bool (False) + if (type == Type.Bool) return WriteDefault(key, false); // Write default bool (False) return WriteDefault(key, ""); } + private static string WriteDefault(Key key, object def) + { + Set(key, def.ToString()); + return def.ToString(); + } + private static string WriteDefault(Key key, string def) { Set(key, def); diff --git a/CodeLegacy/Main/InterpolateUtils.cs b/CodeLegacy/Main/InterpolateUtils.cs index e047694..897868a 100644 --- a/CodeLegacy/Main/InterpolateUtils.cs +++ b/CodeLegacy/Main/InterpolateUtils.cs @@ -161,7 +161,7 @@ namespace Flowframes.Main } } - public static bool CheckAiAvailable(AiInfo ai, ModelCollection.ModelInfo model) + public static bool CheckAiAvailable(AiInfo ai, ModelCollection.ModelInfo model, bool allowNullModel = false) { if (IoUtils.GetAmountOfFiles(Path.Combine(Paths.GetPkgPath(), ai.PkgDir), true) < 1) { @@ -170,14 +170,14 @@ namespace Flowframes.Main return false; } - if (model == null || model.Dir.Trim() == "") + if (!allowNullModel && (model == null || model.Dir.Trim() == "")) { UiUtils.ShowMessageBox("No valid AI model has been selected!", UiUtils.MessageType.Error); I.Cancel("No valid model selected.", true); return false; } - if (I.currentSettings.ai.NameInternal.Upper().Contains("CUDA") && NvApi.gpuList.Count < 1) + if (I.currentSettings.ai.NameInternal.Upper().Contains("CUDA") && NvApi.NvGpus.Count < 1) { UiUtils.ShowMessageBox("Warning: No Nvidia GPU was detected. CUDA might fall back to CPU!\n\nTry an NCNN implementation instead if you don't have an Nvidia GPU.", UiUtils.MessageType.Error); diff --git a/CodeLegacy/Os/NvApi.cs b/CodeLegacy/Os/NvApi.cs index 0e08f7c..8e7cde6 100644 --- a/CodeLegacy/Os/NvApi.cs +++ b/CodeLegacy/Os/NvApi.cs @@ -4,14 +4,15 @@ using NvAPIWrapper.GPU; using System; using System.Collections.Generic; using System.Linq; -using System.Windows.Forms; namespace Flowframes.Os { class NvApi { - public enum Architecture { Undetected, Fermi, Kepler, Maxwell, Pascal, Turing, Ampere }; - public static List gpuList = new List(); + public enum Architecture { Undetected, Fermi, Kepler, Maxwell, Pascal, Turing, Ampere, Ada, Blackwell }; + public static List NvGpus = new List(); + public static PhysicalGPU GpuWithMostVram = null; + public static int GpuWithMostVramId => NvGpus.IndexOf(GpuWithMostVram); public static void Init() { @@ -24,16 +25,22 @@ namespace Flowframes.Os if (gpus.Length == 0) return; - gpuList = gpus.ToList(); - - List gpuNames = new List(); + NvGpus = gpus.ToList(); + float mostVram = -1f; foreach (PhysicalGPU gpu in gpus) - gpuNames.Add(gpu.FullName); + { + float vramGb = gpu.GetVramGb(); + Logger.Log($"Nvidia GPU: {gpu.FullName} ({vramGb.ToString("0.")} GB) {GetArch(gpu)} Architecture", true); - string gpuNamesList = string.Join(", ", gpuNames); + if (vramGb > mostVram) + { + mostVram = vramGb; + GpuWithMostVram = gpu; + } + } - Logger.Log($"Initialized Nvidia API in {sw.ElapsedMs} ms. GPU{(gpus.Length > 1 ? "s" : "")}: {gpuNamesList}", true); + Logger.Log($"Initialized Nvidia API in {sw.ElapsedMs} ms. GPU{(gpus.Length > 1 ? "s" : "")}: {string.Join(", ", gpus.Select(g => g.FullName))}. Most VRAM: {GpuWithMostVram.FullName} ({mostVram} GB)", true); } catch (Exception e) { @@ -46,7 +53,7 @@ namespace Flowframes.Os { try { - return (gpuList[gpu].MemoryInformation.AvailableDedicatedVideoMemoryInkB / 1000f / 1024f); + return (NvGpus[gpu].MemoryInformation.AvailableDedicatedVideoMemoryInkB / 1000f / 1024f); } catch { @@ -58,7 +65,7 @@ namespace Flowframes.Os { try { - return (gpuList[gpu].MemoryInformation.CurrentAvailableDedicatedVideoMemoryInkB / 1000f / 1024f); + return (NvGpus[gpu].MemoryInformation.CurrentAvailableDedicatedVideoMemoryInkB / 1000f / 1024f); } catch { @@ -85,7 +92,7 @@ namespace Flowframes.Os public static bool HasAmpereOrNewer() { - foreach (PhysicalGPU gpu in gpuList) + foreach (PhysicalGPU gpu in NvGpus) { Architecture arch = GetArch(gpu); @@ -98,14 +105,16 @@ namespace Flowframes.Os public static Architecture GetArch(PhysicalGPU gpu) { - string gpuCode = gpu.ArchitectInformation.ShortName; + string arch = gpu.ArchitectInformation.ShortName.Trim(); - if (gpuCode.Trim().StartsWith("GF")) return Architecture.Fermi; - if (gpuCode.Trim().StartsWith("GK")) return Architecture.Kepler; - if (gpuCode.Trim().StartsWith("GM")) return Architecture.Maxwell; - if (gpuCode.Trim().StartsWith("GP")) return Architecture.Pascal; - if (gpuCode.Trim().StartsWith("TU")) return Architecture.Turing; - if (gpuCode.Trim().StartsWith("GA")) return Architecture.Ampere; + if (arch.StartsWith("GF")) return Architecture.Fermi; + if (arch.StartsWith("GK")) return Architecture.Kepler; + if (arch.StartsWith("GM")) return Architecture.Maxwell; + if (arch.StartsWith("GP")) return Architecture.Pascal; + if (arch.StartsWith("TU")) return Architecture.Turing; + if (arch.StartsWith("GA")) return Architecture.Ampere; + if (arch.StartsWith("AD")) return Architecture.Ada; + if (arch.StartsWith("GB")) return Architecture.Blackwell; return Architecture.Undetected; } @@ -114,14 +123,14 @@ namespace Flowframes.Os { try { - if (gpuList == null) + if (NvGpus == null) Init(); - if (gpuList == null) + if (NvGpus == null) return false; - Architecture arch = GetArch(gpuList[gpu]); - return arch == Architecture.Turing || arch == Architecture.Ampere; + Architecture arch = GetArch(NvGpus[gpu]); + return arch >= Architecture.Turing; } catch (Exception e) { diff --git a/CodeLegacy/Os/OsUtils.cs b/CodeLegacy/Os/OsUtils.cs index 8625b88..5bc807e 100644 --- a/CodeLegacy/Os/OsUtils.cs +++ b/CodeLegacy/Os/OsUtils.cs @@ -291,9 +291,9 @@ namespace Flowframes.Os gpusVk.AddRange(VulkanUtils.VkDevices.Select(d => $"{d.Name.Remove("NVIDIA ").Remove("GeForce ").Remove("AMD ").Remove("Intel ").Remove("(TM)")} ({d.Id})")); } - if (NvApi.gpuList != null && NvApi.gpuList.Any()) + if (NvApi.NvGpus != null && NvApi.NvGpus.Any()) { - gpusNv.AddRange(NvApi.gpuList.Select(d => $"{d.FullName.Remove("NVIDIA ").Remove("GeForce ")} ({NvApi.gpuList.IndexOf(d)})")); + gpusNv.AddRange(NvApi.NvGpus.Select(d => $"{d.FullName.Remove("NVIDIA ").Remove("GeForce ")} ({NvApi.NvGpus.IndexOf(d)})")); } if (!gpusVk.Any() && !gpusNv.Any()) diff --git a/CodeLegacy/Program.cs b/CodeLegacy/Program.cs index f1d701b..7b40907 100644 --- a/CodeLegacy/Program.cs +++ b/CodeLegacy/Program.cs @@ -19,6 +19,7 @@ namespace Flowframes { static class Program { + public static bool Debug = false; public static string[] args = new string[0]; public static bool initialRun = true; public static Form1 mainForm; @@ -40,6 +41,7 @@ namespace Flowframes AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); Cli.HandleCli(); + Debug = Cli.Debug || System.Diagnostics.Debugger.IsAttached; CmdMode = Paths.GetExe().EndsWith("Cmd.exe"); // Show splash screen diff --git a/CodeLegacy/Ui/ControlExtensions.cs b/CodeLegacy/Ui/ControlExtensions.cs index d373dca..4af5a70 100644 --- a/CodeLegacy/Ui/ControlExtensions.cs +++ b/CodeLegacy/Ui/ControlExtensions.cs @@ -30,5 +30,36 @@ namespace Flowframes.Ui controls.ForEach(c => list.AddRange(c.GetControls())); return list; } + + public static void SetEnabled(this Control control, bool enabled, bool includeChildren = false) + { + // Set Enabled property of the control only if it's different from the desired value to avoid event firing etc. + if (enabled && !control.Enabled) + { + control.Enabled = true; + } + else if (!enabled && control.Enabled) + { + control.Enabled = false; + } + + if (includeChildren) + { + control.GetControls().ForEach(c => c.SetEnabled(enabled, includeChildren)); + } + } + + public static void SetVisible(this Control control, bool visible) + { + // Set Visible property of the control only if it's different from the desired value to avoid event firing etc. + if (visible && !control.Visible) + { + control.Visible = true; + } + else if (!visible && control.Visible) + { + control.Visible = false; + } + } } } diff --git a/CodeLegacy/Ui/UiUtils.cs b/CodeLegacy/Ui/UiUtils.cs index 4df088a..61d65bd 100644 --- a/CodeLegacy/Ui/UiUtils.cs +++ b/CodeLegacy/Ui/UiUtils.cs @@ -70,7 +70,7 @@ namespace Flowframes.Ui static void SelectNcnnIfNoCudaAvail(ComboBox combox) { - if (NvApi.gpuList.Count < 1) + if (NvApi.NvGpus.Count < 1) { for (int i = 0; i < combox.Items.Count; i++) { @@ -86,7 +86,7 @@ namespace Flowframes.Ui { Logger.Log($"MessageBox: {text} ({type}){(BatchProcessing.busy ? "[Batch Mode - Will not display messagebox]" : "")}", true); - if(Cli.ShowConsole) + if(Program.CmdMode) return DialogResult.OK; if (BatchProcessing.busy) diff --git a/CodeLegacy/Utilities/NcnnUtils.cs b/CodeLegacy/Utilities/NcnnUtils.cs index fd98e2f..7aecd26 100644 --- a/CodeLegacy/Utilities/NcnnUtils.cs +++ b/CodeLegacy/Utilities/NcnnUtils.cs @@ -64,7 +64,7 @@ namespace Flowframes.Utilities { try { - files.ForEach(x => x.Delete()); + files.ForEach(x => IoUtils.DeleteIfExists(x.FullName)); break; } catch (Exception ex) @@ -83,5 +83,24 @@ namespace Flowframes.Utilities } } } + + public static int GetDainNcnnTileSizeBasedOnVram(int defaultTileSize = 512) + { + if(NvApi.NvGpus.Count < 1) + return defaultTileSize; + + float vram = NvApi.GpuWithMostVram.GetVramGb(); + int tileSize = defaultTileSize; + + if (vram > 5.5f) tileSize = 640; // 6 GB VRAM default + else if (vram > 7.5f) tileSize = 768; // 8 GB VRAM default + else if (vram > 11.5f) tileSize = 1024; // 12 GB VRAM default + else if (vram > 15.5f) tileSize = 1536; // 16 GB VRAM default + else if (vram > 19.5f) tileSize = 2048; // 20+ GB VRAM default + + Logger.Log($"Using DAIN NCNN tile size {tileSize} for {vram.ToString("0.")} GB GPU", true); + + return tileSize; + } } }