Removed obsolete frame timing option, improved dedupe settings UI

This commit is contained in:
N00MKRAD 2021-01-15 23:26:24 +01:00
parent 325f34e6fb
commit e3d494c940
4 changed files with 43 additions and 115 deletions

View File

@ -32,6 +32,8 @@
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.clearModelCacheBtn = new HTAlt.WinForms.HTButton();
this.label64 = new System.Windows.Forms.Label();
this.modelSuffix = new System.Windows.Forms.CheckBox();
this.label63 = new System.Windows.Forms.Label();
this.label62 = new System.Windows.Forms.Label();
@ -63,15 +65,11 @@
this.scnDetect = new System.Windows.Forms.CheckBox();
this.label50 = new System.Windows.Forms.Label();
this.mpDedupePanel = new System.Windows.Forms.Panel();
this.panel13 = new System.Windows.Forms.Panel();
this.mpdecimateMode = new System.Windows.Forms.ComboBox();
this.label42 = new System.Windows.Forms.Label();
this.magickDedupePanel = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.dedupThresh = new System.Windows.Forms.ComboBox();
this.label4 = new System.Windows.Forms.Label();
this.timingMode = new System.Windows.Forms.ComboBox();
this.label35 = new System.Windows.Forms.Label();
this.label27 = new System.Windows.Forms.Label();
this.jpegInterps = new System.Windows.Forms.CheckBox();
this.label25 = new System.Windows.Forms.Label();
@ -159,8 +157,6 @@
this.cmdDebugMode = new System.Windows.Forms.ComboBox();
this.titleLabel = new System.Windows.Forms.Label();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.label64 = new System.Windows.Forms.Label();
this.clearModelCacheBtn = new HTAlt.WinForms.HTButton();
this.settingsTabList.SuspendLayout();
this.generalTab.SuspendLayout();
this.tabListPage2.SuspendLayout();
@ -213,6 +209,30 @@
this.generalTab.Size = new System.Drawing.Size(762, 419);
this.generalTab.Text = "General";
//
// 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, 216);
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, 221);
this.label64.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
this.label64.Name = "label64";
this.label64.Size = new System.Drawing.Size(157, 13);
this.label64.TabIndex = 78;
this.label64.Text = "Delete Downloaded Model Files";
//
// modelSuffix
//
this.modelSuffix.AutoSize = true;
@ -432,6 +452,7 @@
//
this.tabListPage2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
this.tabListPage2.Controls.Add(this.sbsAllowAutoEnc);
this.tabListPage2.Controls.Add(this.label4);
this.tabListPage2.Controls.Add(this.label53);
this.tabListPage2.Controls.Add(this.autoEncMode);
this.tabListPage2.Controls.Add(this.label49);
@ -443,8 +464,6 @@
this.tabListPage2.Controls.Add(this.label50);
this.tabListPage2.Controls.Add(this.mpDedupePanel);
this.tabListPage2.Controls.Add(this.magickDedupePanel);
this.tabListPage2.Controls.Add(this.timingMode);
this.tabListPage2.Controls.Add(this.label35);
this.tabListPage2.Controls.Add(this.label27);
this.tabListPage2.Controls.Add(this.jpegInterps);
this.tabListPage2.Controls.Add(this.label25);
@ -576,25 +595,13 @@
//
// mpDedupePanel
//
this.mpDedupePanel.Controls.Add(this.panel13);
this.mpDedupePanel.Controls.Add(this.mpdecimateMode);
this.mpDedupePanel.Controls.Add(this.label42);
this.mpDedupePanel.Location = new System.Drawing.Point(536, 67);
this.mpDedupePanel.Location = new System.Drawing.Point(599, 67);
this.mpDedupePanel.Margin = new System.Windows.Forms.Padding(0);
this.mpDedupePanel.Name = "mpDedupePanel";
this.mpDedupePanel.Size = new System.Drawing.Size(218, 21);
this.mpDedupePanel.Size = new System.Drawing.Size(135, 21);
this.mpDedupePanel.TabIndex = 61;
//
// panel13
//
this.panel13.BackgroundImage = global::Flowframes.Properties.Resources.baseline_create_white_18dp_semiTransparent;
this.panel13.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.panel13.Location = new System.Drawing.Point(164, 0);
this.panel13.Name = "panel13";
this.panel13.Size = new System.Drawing.Size(21, 21);
this.panel13.TabIndex = 57;
this.toolTip1.SetToolTip(this.panel13, "Allows custom input.");
//
// mpdecimateMode
//
this.mpdecimateMode.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
@ -605,38 +612,27 @@
this.mpdecimateMode.Items.AddRange(new object[] {
"Normal",
"Aggressive"});
this.mpdecimateMode.Location = new System.Drawing.Point(46, 0);
this.mpdecimateMode.Location = new System.Drawing.Point(0, 0);
this.mpdecimateMode.Margin = new System.Windows.Forms.Padding(3, 3, 8, 3);
this.mpdecimateMode.Name = "mpdecimateMode";
this.mpdecimateMode.Size = new System.Drawing.Size(107, 21);
this.mpdecimateMode.Size = new System.Drawing.Size(135, 21);
this.mpdecimateMode.TabIndex = 28;
//
// label42
//
this.label42.AutoSize = true;
this.label42.Location = new System.Drawing.Point(3, 3);
this.label42.Margin = new System.Windows.Forms.Padding(3);
this.label42.Name = "label42";
this.label42.Size = new System.Drawing.Size(37, 13);
this.label42.TabIndex = 29;
this.label42.Text = "Mode:";
//
// magickDedupePanel
//
this.magickDedupePanel.Controls.Add(this.panel3);
this.magickDedupePanel.Controls.Add(this.dedupThresh);
this.magickDedupePanel.Controls.Add(this.label4);
this.magickDedupePanel.Location = new System.Drawing.Point(536, 67);
this.magickDedupePanel.Location = new System.Drawing.Point(599, 67);
this.magickDedupePanel.Margin = new System.Windows.Forms.Padding(0);
this.magickDedupePanel.Name = "magickDedupePanel";
this.magickDedupePanel.Size = new System.Drawing.Size(218, 21);
this.magickDedupePanel.Size = new System.Drawing.Size(135, 21);
this.magickDedupePanel.TabIndex = 60;
//
// panel3
//
this.panel3.BackgroundImage = global::Flowframes.Properties.Resources.baseline_create_white_18dp_semiTransparent;
this.panel3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.panel3.Location = new System.Drawing.Point(164, 0);
this.panel3.Location = new System.Drawing.Point(114, 0);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(21, 21);
this.panel3.TabIndex = 57;
@ -655,47 +651,22 @@
"4%",
"5%",
"10%"});
this.dedupThresh.Location = new System.Drawing.Point(66, 0);
this.dedupThresh.Location = new System.Drawing.Point(0, 0);
this.dedupThresh.Margin = new System.Windows.Forms.Padding(3, 3, 8, 3);
this.dedupThresh.Name = "dedupThresh";
this.dedupThresh.Size = new System.Drawing.Size(87, 21);
this.dedupThresh.Size = new System.Drawing.Size(103, 21);
this.dedupThresh.TabIndex = 28;
this.dedupThresh.Leave += new System.EventHandler(this.dedupThresh_Leave);
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(3, 3);
this.label4.Location = new System.Drawing.Point(536, 71);
this.label4.Margin = new System.Windows.Forms.Padding(3);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(57, 13);
this.label4.TabIndex = 29;
this.label4.Text = "Threshold:";
//
// timingMode
//
this.timingMode.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.timingMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.timingMode.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.timingMode.ForeColor = System.Drawing.Color.White;
this.timingMode.FormattingEnabled = true;
this.timingMode.Items.AddRange(new object[] {
"Disabled (Static)",
"Use Timecodes From Source Video"});
this.timingMode.Location = new System.Drawing.Point(280, 97);
this.timingMode.Name = "timingMode";
this.timingMode.Size = new System.Drawing.Size(250, 21);
this.timingMode.TabIndex = 59;
//
// label35
//
this.label35.AutoSize = true;
this.label35.Location = new System.Drawing.Point(10, 100);
this.label35.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
this.label35.Name = "label35";
this.label35.Size = new System.Drawing.Size(117, 13);
this.label35.TabIndex = 58;
this.label35.Text = "Dynamic Frame Timing ";
this.label4.Text = "Sensitivity:";
//
// label27
//
@ -778,8 +749,8 @@
this.dedupMode.FormattingEnabled = true;
this.dedupMode.Items.AddRange(new object[] {
"Disabled",
"Remove After Extraction - Slow, Accurate",
"Remove During Extraction - Fast, Less Accurate"});
"1: After Extraction - Slow, Accurate",
"2: During Extraction - Fast, Less Accurate"});
this.dedupMode.Location = new System.Drawing.Point(280, 67);
this.dedupMode.Name = "dedupMode";
this.dedupMode.Size = new System.Drawing.Size(250, 21);
@ -792,9 +763,9 @@
this.label2.Location = new System.Drawing.Point(10, 70);
this.label2.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(132, 13);
this.label2.Size = new System.Drawing.Size(139, 13);
this.label2.TabIndex = 26;
this.label2.Text = "Remove Duplicate Frames";
this.label2.Text = "Frame De-Duplication Mode";
//
// enableAudio
//
@ -1777,30 +1748,6 @@
this.titleLabel.TabIndex = 1;
this.titleLabel.Text = "Settings";
//
// label64
//
this.label64.AutoSize = true;
this.label64.Location = new System.Drawing.Point(10, 221);
this.label64.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
this.label64.Name = "label64";
this.label64.Size = new System.Drawing.Size(157, 13);
this.label64.TabIndex = 78;
this.label64.Text = "Delete 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, 216);
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);
//
// SettingsForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -1823,9 +1770,7 @@
this.tabListPage2.ResumeLayout(false);
this.tabListPage2.PerformLayout();
this.mpDedupePanel.ResumeLayout(false);
this.mpDedupePanel.PerformLayout();
this.magickDedupePanel.ResumeLayout(false);
this.magickDedupePanel.PerformLayout();
this.aiOptsPage.ResumeLayout(false);
this.aiOptsPage.PerformLayout();
this.vidExportTab.ResumeLayout(false);
@ -1904,8 +1849,6 @@
private System.Windows.Forms.Panel panel10;
private System.Windows.Forms.ComboBox maxVidHeight;
private System.Windows.Forms.Label label31;
private System.Windows.Forms.ComboBox timingMode;
private System.Windows.Forms.Label label35;
private System.Windows.Forms.Label label36;
private System.Windows.Forms.ComboBox tempFolderLoc;
private System.Windows.Forms.CheckBox keepTempFolder;
@ -1921,9 +1864,7 @@
private System.Windows.Forms.CheckBox ffprobeCountFrames;
private System.Windows.Forms.Label label40;
private System.Windows.Forms.Panel mpDedupePanel;
private System.Windows.Forms.Panel panel13;
private System.Windows.Forms.ComboBox mpdecimateMode;
private System.Windows.Forms.Label label42;
private System.Windows.Forms.Panel magickDedupePanel;
private System.Windows.Forms.Label label44;
private System.Windows.Forms.ComboBox ncnnThreads;

View File

@ -75,7 +75,6 @@ namespace Flowframes.Forms
ConfigParser.SaveComboxIndex(dedupMode);
ConfigParser.SaveComboxIndex(mpdecimateMode);
ConfigParser.SaveGuiElement(dedupThresh, ConfigParser.StringMode.Float);
ConfigParser.SaveComboxIndex(timingMode);
ConfigParser.SaveGuiElement(enableLoop);
ConfigParser.SaveGuiElement(jpegInterps);
ConfigParser.SaveGuiElement(scnDetect);
@ -124,7 +123,6 @@ namespace Flowframes.Forms
ConfigParser.LoadComboxIndex(dedupMode);
ConfigParser.LoadComboxIndex(mpdecimateMode);
ConfigParser.LoadGuiElement(dedupThresh, "%");
ConfigParser.LoadComboxIndex(timingMode);
ConfigParser.LoadGuiElement(enableLoop);
ConfigParser.LoadGuiElement(jpegInterps);
ConfigParser.LoadGuiElement(scnDetect);

View File

@ -125,7 +125,6 @@ namespace Flowframes.IO
if (key == "enableAudio") return WriteDefault(key, "True");
if (key == "autoDedupFrames") return WriteDefault(key, "100");
if (key == "vfrDedupe") return WriteDefault(key, "True");
if (key == "timingMode") return WriteDefault(key, "1");
if (key == "scnDetectValue") return WriteDefault(key, "0.2");
if (key == "autoEncMode") return WriteDefault(key, "2");
// Video Export

View File

@ -97,15 +97,6 @@ namespace Flowframes
if (audioFile != null && !File.Exists(audioFile))
await FFmpegCommands.ExtractAudio(inPath, audioFile);
}
if (!canceled && Config.GetBool("enableLoop") && Config.GetInt("timingMode") != 1)
{
string lastFrame = IOUtils.GetHighestFrameNumPath(outPath);
int newNum = Path.GetFileName(lastFrame).GetInt() + 1;
string newFilename = Path.Combine(lastFrame.GetParentDir(), newNum.ToString().PadLeft(Padding.inputFrames, '0') + ".png");
string firstFrame = new DirectoryInfo(outPath).GetFiles("*.png")[0].FullName;
File.Copy(firstFrame, newFilename);
}
}
public static async Task PostProcessFrames (bool sbsMode = false)
@ -133,8 +124,7 @@ namespace Flowframes
if (canceled) return;
bool useTimestamps = Config.GetInt("timingMode") == 1; // TODO: Auto-Disable timestamps if input frames are sequential, not timestamped
await FrameOrder.CreateTimecodeFiles(current.framesFolder, FrameOrder.Mode.CFR, Config.GetBool("enableLoop"), current.interpFactor, !useTimestamps);
await FrameOrder.CreateTimecodeFiles(current.framesFolder, FrameOrder.Mode.CFR, Config.GetBool("enableLoop"), current.interpFactor, false);
if (canceled) return;