mirror of
https://github.com/n00mkrad/flowframes.git
synced 2025-12-16 16:37:48 +01:00
Added landing page, improved updater for beta versions
This commit is contained in:
@@ -18,22 +18,22 @@ namespace Flowframes
|
|||||||
static string mpDecDef = "\"mpdecimate\"";
|
static string mpDecDef = "\"mpdecimate\"";
|
||||||
static string mpDecAggr = "\"mpdecimate=hi=64*32:lo=64*32:frac=0.1\"";
|
static string mpDecAggr = "\"mpdecimate=hi=64*32:lo=64*32:frac=0.1\"";
|
||||||
|
|
||||||
public static async Task VideoToFrames(string inputFile, string frameFolderPath, bool deDupe, bool delSrc)
|
public static async Task VideoToFrames(string inputFile, string frameFolderPath, bool deDupe, bool delSrc, bool timecodes = true)
|
||||||
{
|
{
|
||||||
await VideoToFrames(inputFile, frameFolderPath, deDupe, delSrc, new Size());
|
await VideoToFrames(inputFile, frameFolderPath, deDupe, delSrc, new Size(), timecodes);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async Task VideoToFrames(string inputFile, string frameFolderPath, bool deDupe, bool delSrc, Size size)
|
public static async Task VideoToFrames(string inputFile, string frameFolderPath, bool deDupe, bool delSrc, Size size, bool timecodes = true)
|
||||||
{
|
{
|
||||||
string sizeStr = "";
|
string sizeStr = (size.Width > 1 && size.Height > 1) ? $"-s {size.Width}x{size.Height}" : "";
|
||||||
if (size.Width > 1 && size.Height > 1) sizeStr = $"-s {size.Width}x{size.Height}";
|
|
||||||
if (!Directory.Exists(frameFolderPath))
|
if (!Directory.Exists(frameFolderPath))
|
||||||
Directory.CreateDirectory(frameFolderPath);
|
Directory.CreateDirectory(frameFolderPath);
|
||||||
string args = $"-i {inputFile.Wrap()} {pngComprArg} -vsync 0 -pix_fmt rgb24 -copyts -r 1000 -frame_pts true -vf {divisionFilter} {sizeStr} \"{frameFolderPath}/%08d.png\"";
|
string timecodeStr = timecodes ? "-copyts -r 1000 -frame_pts true" : "";
|
||||||
|
string args = $"-i {inputFile.Wrap()} {pngComprArg} -vsync 0 -pix_fmt rgb24 {timecodeStr} -vf {divisionFilter} {sizeStr} \"{frameFolderPath}/%08d.png\"";
|
||||||
if (deDupe)
|
if (deDupe)
|
||||||
{
|
{
|
||||||
string mpStr = (Config.GetInt("mpdecimateMode") == 0) ? mpDecDef : mpDecAggr;
|
string mpStr = (Config.GetInt("mpdecimateMode") == 0) ? mpDecDef : mpDecAggr;
|
||||||
args = $"-i {inputFile.Wrap()} -copyts -r 1000 {pngComprArg} -vsync 0 -pix_fmt rgb24 -frame_pts true -vf {mpStr},{divisionFilter} {sizeStr} \"{frameFolderPath}/%08d.png\"";
|
args = $"-i {inputFile.Wrap()} {pngComprArg} -vsync 0 -pix_fmt rgb24 {timecodeStr} -vf {mpStr},{divisionFilter} {sizeStr} \"{frameFolderPath}/%08d.png\"";
|
||||||
}
|
}
|
||||||
await AvProcess.RunFfmpeg(args, AvProcess.LogMode.OnlyLastLine);
|
await AvProcess.RunFfmpeg(args, AvProcess.LogMode.OnlyLastLine);
|
||||||
await Task.Delay(1);
|
await Task.Delay(1);
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Flowframes
|
|
||||||
{
|
|
||||||
class FFmpegStrings
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -197,7 +197,6 @@
|
|||||||
<Compile Include="ExtensionMethods.cs" />
|
<Compile Include="ExtensionMethods.cs" />
|
||||||
<Compile Include="AudioVideo\AvProcess.cs" />
|
<Compile Include="AudioVideo\AvProcess.cs" />
|
||||||
<Compile Include="AudioVideo\FFmpegCommands.cs" />
|
<Compile Include="AudioVideo\FFmpegCommands.cs" />
|
||||||
<Compile Include="AudioVideo\FFmpegStrings.cs" />
|
|
||||||
<Compile Include="Form1.cs">
|
<Compile Include="Form1.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -221,6 +220,7 @@
|
|||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<Compile Include="IO\Setup.cs" />
|
<Compile Include="IO\Setup.cs" />
|
||||||
<Compile Include="UI\FormatUtils.cs" />
|
<Compile Include="UI\FormatUtils.cs" />
|
||||||
|
<Compile Include="UI\GetWebInfo.cs" />
|
||||||
<Compile Include="UI\UIUtils.cs" />
|
<Compile Include="UI\UIUtils.cs" />
|
||||||
<Compile Include="UI\UtilsTab.cs" />
|
<Compile Include="UI\UtilsTab.cs" />
|
||||||
<EmbeddedResource Include="Form1.resx">
|
<EmbeddedResource Include="Form1.resx">
|
||||||
@@ -280,6 +280,8 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="FlowFramesFunkyLogo1.ico" />
|
<Content Include="FlowFramesFunkyLogo1.ico" />
|
||||||
<Content Include="FlowFramesFunkyLogo2.ico" />
|
<Content Include="FlowFramesFunkyLogo2.ico" />
|
||||||
|
<None Include="Resources\flowframesIcoNew-512px.png" />
|
||||||
|
<None Include="Resources\flowframesIcoNew.png" />
|
||||||
<None Include="Resources\questmark-72px-bordeer.png" />
|
<None Include="Resources\questmark-72px-bordeer.png" />
|
||||||
<None Include="Resources\7za.exe" />
|
<None Include="Resources\7za.exe" />
|
||||||
<None Include="Resources\baseline_fact_check_white_48dp.png" />
|
<None Include="Resources\baseline_fact_check_white_48dp.png" />
|
||||||
|
|||||||
165
Code/Form1.Designer.cs
generated
165
Code/Form1.Designer.cs
generated
@@ -32,7 +32,6 @@
|
|||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
|
||||||
this.titleLabel = new System.Windows.Forms.Label();
|
this.titleLabel = new System.Windows.Forms.Label();
|
||||||
this.tilesize = new System.Windows.Forms.ComboBox();
|
this.tilesize = new System.Windows.Forms.ComboBox();
|
||||||
this.tileSizeInfoLabel = new System.Windows.Forms.Label();
|
|
||||||
this.aiCombox = new System.Windows.Forms.ComboBox();
|
this.aiCombox = new System.Windows.Forms.ComboBox();
|
||||||
this.label13 = new System.Windows.Forms.Label();
|
this.label13 = new System.Windows.Forms.Label();
|
||||||
this.outModeCombox = new System.Windows.Forms.ComboBox();
|
this.outModeCombox = new System.Windows.Forms.ComboBox();
|
||||||
@@ -95,6 +94,15 @@
|
|||||||
this.longProgBar = new HTAlt.WinForms.HTProgressBar();
|
this.longProgBar = new HTAlt.WinForms.HTProgressBar();
|
||||||
this.cancelBtn = new System.Windows.Forms.Button();
|
this.cancelBtn = new System.Windows.Forms.Button();
|
||||||
this.mainTabControl = new HTAlt.WinForms.HTTabControl();
|
this.mainTabControl = new HTAlt.WinForms.HTTabControl();
|
||||||
|
this.welcomeTab = new System.Windows.Forms.TabPage();
|
||||||
|
this.label22 = new System.Windows.Forms.Label();
|
||||||
|
this.panel8 = new System.Windows.Forms.Panel();
|
||||||
|
this.patronsLabel = new System.Windows.Forms.Label();
|
||||||
|
this.label21 = new System.Windows.Forms.Label();
|
||||||
|
this.panel6 = new System.Windows.Forms.Panel();
|
||||||
|
this.newsLabel = new System.Windows.Forms.Label();
|
||||||
|
this.label15 = new System.Windows.Forms.Label();
|
||||||
|
this.label11 = new System.Windows.Forms.Label();
|
||||||
this.interpOptsTab = new System.Windows.Forms.TabPage();
|
this.interpOptsTab = new System.Windows.Forms.TabPage();
|
||||||
this.tilesizeNotAvailLabel = new System.Windows.Forms.Label();
|
this.tilesizeNotAvailLabel = new System.Windows.Forms.Label();
|
||||||
this.label1 = new System.Windows.Forms.Label();
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
@@ -115,6 +123,9 @@
|
|||||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.info1)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.info1)).BeginInit();
|
||||||
this.mainTabControl.SuspendLayout();
|
this.mainTabControl.SuspendLayout();
|
||||||
|
this.welcomeTab.SuspendLayout();
|
||||||
|
this.panel8.SuspendLayout();
|
||||||
|
this.panel6.SuspendLayout();
|
||||||
this.interpOptsTab.SuspendLayout();
|
this.interpOptsTab.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
|
||||||
this.videoUtilsTab.SuspendLayout();
|
this.videoUtilsTab.SuspendLayout();
|
||||||
@@ -156,18 +167,6 @@
|
|||||||
this.tilesize.TabIndex = 25;
|
this.tilesize.TabIndex = 25;
|
||||||
this.tilesize.SelectedIndexChanged += new System.EventHandler(this.tilesize_SelectedIndexChanged);
|
this.tilesize.SelectedIndexChanged += new System.EventHandler(this.tilesize_SelectedIndexChanged);
|
||||||
//
|
//
|
||||||
// tileSizeInfoLabel
|
|
||||||
//
|
|
||||||
this.tileSizeInfoLabel.AutoSize = true;
|
|
||||||
this.tileSizeInfoLabel.ForeColor = System.Drawing.Color.Silver;
|
|
||||||
this.tileSizeInfoLabel.Location = new System.Drawing.Point(532, 135);
|
|
||||||
this.tileSizeInfoLabel.Margin = new System.Windows.Forms.Padding(8, 0, 3, 0);
|
|
||||||
this.tileSizeInfoLabel.Name = "tileSizeInfoLabel";
|
|
||||||
this.tileSizeInfoLabel.Size = new System.Drawing.Size(327, 15);
|
|
||||||
this.tileSizeInfoLabel.TabIndex = 24;
|
|
||||||
this.tileSizeInfoLabel.Text = "Note: You can use much higher values with CAIN than DAIN.";
|
|
||||||
this.tileSizeInfoLabel.Visible = false;
|
|
||||||
//
|
|
||||||
// aiCombox
|
// aiCombox
|
||||||
//
|
//
|
||||||
this.aiCombox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
this.aiCombox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
@@ -637,6 +636,7 @@
|
|||||||
// logBox
|
// logBox
|
||||||
//
|
//
|
||||||
this.logBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
this.logBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.logBox.Cursor = System.Windows.Forms.Cursors.Arrow;
|
||||||
this.logBox.ForeColor = System.Drawing.Color.White;
|
this.logBox.ForeColor = System.Drawing.Color.White;
|
||||||
this.logBox.Location = new System.Drawing.Point(221, 357);
|
this.logBox.Location = new System.Drawing.Point(221, 357);
|
||||||
this.logBox.MinimumSize = new System.Drawing.Size(4, 21);
|
this.logBox.MinimumSize = new System.Drawing.Size(4, 21);
|
||||||
@@ -928,6 +928,7 @@
|
|||||||
this.mainTabControl.AllowDrop = true;
|
this.mainTabControl.AllowDrop = true;
|
||||||
this.mainTabControl.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(48)))));
|
this.mainTabControl.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(48)))));
|
||||||
this.mainTabControl.BorderTabLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(122)))), ((int)(((byte)(204)))));
|
this.mainTabControl.BorderTabLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(122)))), ((int)(((byte)(204)))));
|
||||||
|
this.mainTabControl.Controls.Add(this.welcomeTab);
|
||||||
this.mainTabControl.Controls.Add(this.interpOptsTab);
|
this.mainTabControl.Controls.Add(this.interpOptsTab);
|
||||||
this.mainTabControl.Controls.Add(this.videoUtilsTab);
|
this.mainTabControl.Controls.Add(this.videoUtilsTab);
|
||||||
this.mainTabControl.Controls.Add(this.previewTab);
|
this.mainTabControl.Controls.Add(this.previewTab);
|
||||||
@@ -936,7 +937,7 @@
|
|||||||
this.mainTabControl.DisableDragging = true;
|
this.mainTabControl.DisableDragging = true;
|
||||||
this.mainTabControl.Font = new System.Drawing.Font("Segoe UI", 9F);
|
this.mainTabControl.Font = new System.Drawing.Font("Segoe UI", 9F);
|
||||||
this.mainTabControl.HoverTabButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(82)))), ((int)(((byte)(176)))), ((int)(((byte)(239)))));
|
this.mainTabControl.HoverTabButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(82)))), ((int)(((byte)(176)))), ((int)(((byte)(239)))));
|
||||||
this.mainTabControl.HoverTabColor = System.Drawing.Color.FromArgb(((int)(((byte)(28)))), ((int)(((byte)(151)))), ((int)(((byte)(234)))));
|
this.mainTabControl.HoverTabColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(63)))), ((int)(((byte)(70)))));
|
||||||
this.mainTabControl.HoverUnselectedTabButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(85)))), ((int)(((byte)(85)))), ((int)(((byte)(85)))));
|
this.mainTabControl.HoverUnselectedTabButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(85)))), ((int)(((byte)(85)))), ((int)(((byte)(85)))));
|
||||||
this.mainTabControl.Location = new System.Drawing.Point(13, 62);
|
this.mainTabControl.Location = new System.Drawing.Point(13, 62);
|
||||||
this.mainTabControl.Name = "mainTabControl";
|
this.mainTabControl.Name = "mainTabControl";
|
||||||
@@ -952,33 +953,133 @@
|
|||||||
this.mainTabControl.UnselectedTabColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(63)))), ((int)(((byte)(70)))));
|
this.mainTabControl.UnselectedTabColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(63)))), ((int)(((byte)(70)))));
|
||||||
this.mainTabControl.UpDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(63)))), ((int)(((byte)(70)))));
|
this.mainTabControl.UpDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(63)))), ((int)(((byte)(70)))));
|
||||||
this.mainTabControl.UpDownTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(112)))));
|
this.mainTabControl.UpDownTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(112)))));
|
||||||
|
this.mainTabControl.SelectedIndexChanged += new System.EventHandler(this.mainTabControl_SelectedIndexChanged);
|
||||||
this.mainTabControl.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop);
|
this.mainTabControl.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop);
|
||||||
this.mainTabControl.DragEnter += new System.Windows.Forms.DragEventHandler(this.Form1_DragEnter);
|
this.mainTabControl.DragEnter += new System.Windows.Forms.DragEventHandler(this.Form1_DragEnter);
|
||||||
//
|
//
|
||||||
|
// welcomeTab
|
||||||
|
//
|
||||||
|
this.welcomeTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
|
||||||
|
this.welcomeTab.Controls.Add(this.label22);
|
||||||
|
this.welcomeTab.Controls.Add(this.panel8);
|
||||||
|
this.welcomeTab.Controls.Add(this.panel6);
|
||||||
|
this.welcomeTab.Controls.Add(this.label11);
|
||||||
|
this.welcomeTab.Location = new System.Drawing.Point(4, 27);
|
||||||
|
this.welcomeTab.Name = "welcomeTab";
|
||||||
|
this.welcomeTab.Padding = new System.Windows.Forms.Padding(3);
|
||||||
|
this.welcomeTab.Size = new System.Drawing.Size(901, 258);
|
||||||
|
this.welcomeTab.TabIndex = 4;
|
||||||
|
this.welcomeTab.Text = "Welcome";
|
||||||
|
//
|
||||||
|
// label22
|
||||||
|
//
|
||||||
|
this.label22.AutoSize = true;
|
||||||
|
this.label22.Font = new System.Drawing.Font("Yu Gothic UI", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.label22.ForeColor = System.Drawing.Color.Gray;
|
||||||
|
this.label22.Location = new System.Drawing.Point(142, 3);
|
||||||
|
this.label22.Margin = new System.Windows.Forms.Padding(3, 0, 3, 10);
|
||||||
|
this.label22.Name = "label22";
|
||||||
|
this.label22.Size = new System.Drawing.Size(478, 40);
|
||||||
|
this.label22.TabIndex = 5;
|
||||||
|
this.label22.Text = "Click The Interpolation Tab To Begin.";
|
||||||
|
//
|
||||||
|
// panel8
|
||||||
|
//
|
||||||
|
this.panel8.AutoScroll = true;
|
||||||
|
this.panel8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.panel8.Controls.Add(this.patronsLabel);
|
||||||
|
this.panel8.Controls.Add(this.label21);
|
||||||
|
this.panel8.Location = new System.Drawing.Point(593, 57);
|
||||||
|
this.panel8.Margin = new System.Windows.Forms.Padding(5);
|
||||||
|
this.panel8.Name = "panel8";
|
||||||
|
this.panel8.Size = new System.Drawing.Size(300, 193);
|
||||||
|
this.panel8.TabIndex = 4;
|
||||||
|
//
|
||||||
|
// patronsLabel
|
||||||
|
//
|
||||||
|
this.patronsLabel.AutoSize = true;
|
||||||
|
this.patronsLabel.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.patronsLabel.Location = new System.Drawing.Point(8, 31);
|
||||||
|
this.patronsLabel.Margin = new System.Windows.Forms.Padding(8, 8, 3, 0);
|
||||||
|
this.patronsLabel.Name = "patronsLabel";
|
||||||
|
this.patronsLabel.Size = new System.Drawing.Size(0, 15);
|
||||||
|
this.patronsLabel.TabIndex = 9;
|
||||||
|
//
|
||||||
|
// label21
|
||||||
|
//
|
||||||
|
this.label21.AutoSize = true;
|
||||||
|
this.label21.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.label21.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.label21.Location = new System.Drawing.Point(8, 8);
|
||||||
|
this.label21.Margin = new System.Windows.Forms.Padding(8, 8, 3, 0);
|
||||||
|
this.label21.Name = "label21";
|
||||||
|
this.label21.Size = new System.Drawing.Size(119, 15);
|
||||||
|
this.label21.TabIndex = 8;
|
||||||
|
this.label21.Text = "Patreon Supporters:";
|
||||||
|
//
|
||||||
|
// panel6
|
||||||
|
//
|
||||||
|
this.panel6.AutoScroll = true;
|
||||||
|
this.panel6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.panel6.Controls.Add(this.newsLabel);
|
||||||
|
this.panel6.Controls.Add(this.label15);
|
||||||
|
this.panel6.Location = new System.Drawing.Point(8, 57);
|
||||||
|
this.panel6.Margin = new System.Windows.Forms.Padding(5);
|
||||||
|
this.panel6.Name = "panel6";
|
||||||
|
this.panel6.Size = new System.Drawing.Size(575, 193);
|
||||||
|
this.panel6.TabIndex = 3;
|
||||||
|
//
|
||||||
|
// newsLabel
|
||||||
|
//
|
||||||
|
this.newsLabel.AutoSize = true;
|
||||||
|
this.newsLabel.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.newsLabel.Location = new System.Drawing.Point(8, 31);
|
||||||
|
this.newsLabel.Margin = new System.Windows.Forms.Padding(8, 8, 3, 0);
|
||||||
|
this.newsLabel.Name = "newsLabel";
|
||||||
|
this.newsLabel.Size = new System.Drawing.Size(0, 15);
|
||||||
|
this.newsLabel.TabIndex = 8;
|
||||||
|
//
|
||||||
|
// label15
|
||||||
|
//
|
||||||
|
this.label15.AutoSize = true;
|
||||||
|
this.label15.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.label15.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.label15.Location = new System.Drawing.Point(8, 8);
|
||||||
|
this.label15.Margin = new System.Windows.Forms.Padding(8, 8, 3, 0);
|
||||||
|
this.label15.Name = "label15";
|
||||||
|
this.label15.Size = new System.Drawing.Size(41, 15);
|
||||||
|
this.label15.TabIndex = 7;
|
||||||
|
this.label15.Text = "News:";
|
||||||
|
//
|
||||||
|
// label11
|
||||||
|
//
|
||||||
|
this.label11.AutoSize = true;
|
||||||
|
this.label11.Font = new System.Drawing.Font("Yu Gothic UI", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.label11.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.label11.Location = new System.Drawing.Point(6, 3);
|
||||||
|
this.label11.Margin = new System.Windows.Forms.Padding(3, 0, 3, 10);
|
||||||
|
this.label11.Name = "label11";
|
||||||
|
this.label11.Size = new System.Drawing.Size(143, 40);
|
||||||
|
this.label11.TabIndex = 1;
|
||||||
|
this.label11.Text = "Welcome!";
|
||||||
|
//
|
||||||
// interpOptsTab
|
// interpOptsTab
|
||||||
//
|
//
|
||||||
this.interpOptsTab.AllowDrop = true;
|
this.interpOptsTab.AllowDrop = true;
|
||||||
this.interpOptsTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
|
this.interpOptsTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
|
||||||
this.interpOptsTab.Controls.Add(this.tilesizeNotAvailLabel);
|
this.interpOptsTab.Controls.Add(this.tilesizeNotAvailLabel);
|
||||||
this.interpOptsTab.Controls.Add(this.panel7);
|
|
||||||
this.interpOptsTab.Controls.Add(this.label1);
|
this.interpOptsTab.Controls.Add(this.label1);
|
||||||
this.interpOptsTab.Controls.Add(this.browseOutBtn);
|
this.interpOptsTab.Controls.Add(this.browseOutBtn);
|
||||||
this.interpOptsTab.Controls.Add(this.browseInputFileBtn);
|
this.interpOptsTab.Controls.Add(this.browseInputFileBtn);
|
||||||
this.interpOptsTab.Controls.Add(this.browseInputBtn);
|
this.interpOptsTab.Controls.Add(this.browseInputBtn);
|
||||||
this.interpOptsTab.Controls.Add(this.label4);
|
this.interpOptsTab.Controls.Add(this.label4);
|
||||||
this.interpOptsTab.Controls.Add(this.pictureBox4);
|
|
||||||
this.interpOptsTab.Controls.Add(this.label2);
|
this.interpOptsTab.Controls.Add(this.label2);
|
||||||
this.interpOptsTab.Controls.Add(this.pictureBox3);
|
|
||||||
this.interpOptsTab.Controls.Add(this.label3);
|
this.interpOptsTab.Controls.Add(this.label3);
|
||||||
this.interpOptsTab.Controls.Add(this.pictureBox2);
|
|
||||||
this.interpOptsTab.Controls.Add(this.inputTbox);
|
this.interpOptsTab.Controls.Add(this.inputTbox);
|
||||||
this.interpOptsTab.Controls.Add(this.pictureBox1);
|
|
||||||
this.interpOptsTab.Controls.Add(this.outputTbox);
|
this.interpOptsTab.Controls.Add(this.outputTbox);
|
||||||
this.interpOptsTab.Controls.Add(this.info1);
|
|
||||||
this.interpOptsTab.Controls.Add(this.interpFactorCombox);
|
this.interpOptsTab.Controls.Add(this.interpFactorCombox);
|
||||||
this.interpOptsTab.Controls.Add(this.tilesize);
|
this.interpOptsTab.Controls.Add(this.tilesize);
|
||||||
this.interpOptsTab.Controls.Add(this.fpsInTbox);
|
this.interpOptsTab.Controls.Add(this.fpsInTbox);
|
||||||
this.interpOptsTab.Controls.Add(this.tileSizeInfoLabel);
|
|
||||||
this.interpOptsTab.Controls.Add(this.fpsOutTbox);
|
this.interpOptsTab.Controls.Add(this.fpsOutTbox);
|
||||||
this.interpOptsTab.Controls.Add(this.label5);
|
this.interpOptsTab.Controls.Add(this.label5);
|
||||||
this.interpOptsTab.Controls.Add(this.aiCombox);
|
this.interpOptsTab.Controls.Add(this.aiCombox);
|
||||||
@@ -988,6 +1089,12 @@
|
|||||||
this.interpOptsTab.Controls.Add(this.label8);
|
this.interpOptsTab.Controls.Add(this.label8);
|
||||||
this.interpOptsTab.Controls.Add(this.label9);
|
this.interpOptsTab.Controls.Add(this.label9);
|
||||||
this.interpOptsTab.Controls.Add(this.outModeCombox);
|
this.interpOptsTab.Controls.Add(this.outModeCombox);
|
||||||
|
this.interpOptsTab.Controls.Add(this.panel7);
|
||||||
|
this.interpOptsTab.Controls.Add(this.pictureBox4);
|
||||||
|
this.interpOptsTab.Controls.Add(this.pictureBox3);
|
||||||
|
this.interpOptsTab.Controls.Add(this.pictureBox2);
|
||||||
|
this.interpOptsTab.Controls.Add(this.pictureBox1);
|
||||||
|
this.interpOptsTab.Controls.Add(this.info1);
|
||||||
this.interpOptsTab.Location = new System.Drawing.Point(4, 27);
|
this.interpOptsTab.Location = new System.Drawing.Point(4, 27);
|
||||||
this.interpOptsTab.Name = "interpOptsTab";
|
this.interpOptsTab.Name = "interpOptsTab";
|
||||||
this.interpOptsTab.Padding = new System.Windows.Forms.Padding(3);
|
this.interpOptsTab.Padding = new System.Windows.Forms.Padding(3);
|
||||||
@@ -1217,6 +1324,12 @@
|
|||||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.info1)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.info1)).EndInit();
|
||||||
this.mainTabControl.ResumeLayout(false);
|
this.mainTabControl.ResumeLayout(false);
|
||||||
|
this.welcomeTab.ResumeLayout(false);
|
||||||
|
this.welcomeTab.PerformLayout();
|
||||||
|
this.panel8.ResumeLayout(false);
|
||||||
|
this.panel8.PerformLayout();
|
||||||
|
this.panel6.ResumeLayout(false);
|
||||||
|
this.panel6.PerformLayout();
|
||||||
this.interpOptsTab.ResumeLayout(false);
|
this.interpOptsTab.ResumeLayout(false);
|
||||||
this.interpOptsTab.PerformLayout();
|
this.interpOptsTab.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
|
||||||
@@ -1258,7 +1371,6 @@
|
|||||||
private System.Windows.Forms.Label statusLabel;
|
private System.Windows.Forms.Label statusLabel;
|
||||||
private System.Windows.Forms.ComboBox aiCombox;
|
private System.Windows.Forms.ComboBox aiCombox;
|
||||||
private System.Windows.Forms.Label label13;
|
private System.Windows.Forms.Label label13;
|
||||||
private System.Windows.Forms.Label tileSizeInfoLabel;
|
|
||||||
private System.Windows.Forms.ComboBox tilesize;
|
private System.Windows.Forms.ComboBox tilesize;
|
||||||
private System.Windows.Forms.Label label14;
|
private System.Windows.Forms.Label label14;
|
||||||
private System.Windows.Forms.Button debugExtractFramesBtn;
|
private System.Windows.Forms.Button debugExtractFramesBtn;
|
||||||
@@ -1311,6 +1423,15 @@
|
|||||||
private System.Windows.Forms.Panel panel2;
|
private System.Windows.Forms.Panel panel2;
|
||||||
private System.Windows.Forms.Panel panel3;
|
private System.Windows.Forms.Panel panel3;
|
||||||
private HTAlt.WinForms.HTButton updateBtn;
|
private HTAlt.WinForms.HTButton updateBtn;
|
||||||
|
private System.Windows.Forms.TabPage welcomeTab;
|
||||||
|
private System.Windows.Forms.Label label11;
|
||||||
|
private System.Windows.Forms.Panel panel6;
|
||||||
|
private System.Windows.Forms.Label label15;
|
||||||
|
private System.Windows.Forms.Panel panel8;
|
||||||
|
private System.Windows.Forms.Label patronsLabel;
|
||||||
|
private System.Windows.Forms.Label label21;
|
||||||
|
private System.Windows.Forms.Label newsLabel;
|
||||||
|
private System.Windows.Forms.Label label22;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,8 @@ namespace Flowframes
|
|||||||
Setup.Init();
|
Setup.Init();
|
||||||
Initialized();
|
Initialized();
|
||||||
|
|
||||||
|
GetWebInfo.LoadNews(newsLabel);
|
||||||
|
GetWebInfo.LoadPatronList(patronsLabel);
|
||||||
Updater.AsyncUpdateCheck();
|
Updater.AsyncUpdateCheck();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -60,6 +62,17 @@ namespace Flowframes
|
|||||||
|
|
||||||
public bool IsInFocus() { return (ActiveForm == this); }
|
public bool IsInFocus() { return (ActiveForm == this); }
|
||||||
|
|
||||||
|
public void SetTab (string tabName)
|
||||||
|
{
|
||||||
|
foreach(TabPage tab in mainTabControl.TabPages)
|
||||||
|
{
|
||||||
|
if (tab.Text.ToLower() == tabName.ToLower())
|
||||||
|
mainTabControl.SelectedTab = tab;
|
||||||
|
}
|
||||||
|
mainTabControl.Refresh();
|
||||||
|
mainTabControl.Update();
|
||||||
|
}
|
||||||
|
|
||||||
public BatchEntry GetBatchEntry()
|
public BatchEntry GetBatchEntry()
|
||||||
{
|
{
|
||||||
return new BatchEntry(inputTbox.Text.Trim(), outputTbox.Text.Trim(), GetAi(), fpsInTbox.GetFloat(), interpFactorCombox.GetInt(), GetOutMode());
|
return new BatchEntry(inputTbox.Text.Trim(), outputTbox.Text.Trim(), GetAi(), fpsInTbox.GetFloat(), interpFactorCombox.GetInt(), GetOutMode());
|
||||||
@@ -158,7 +171,7 @@ namespace Flowframes
|
|||||||
public void runBtn_Click(object sender, EventArgs e)
|
public void runBtn_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (!BatchProcessing.busy)
|
if (!BatchProcessing.busy)
|
||||||
mainTabControl.SelectedIndex = 0;
|
SetTab("interpolation");
|
||||||
if (fpsInTbox.Visible)
|
if (fpsInTbox.Visible)
|
||||||
Interpolate.SetFps(fpsInTbox.GetFloat());
|
Interpolate.SetFps(fpsInTbox.GetFloat());
|
||||||
if (interpFactorCombox.Visible)
|
if (interpFactorCombox.Visible)
|
||||||
@@ -245,7 +258,6 @@ namespace Flowframes
|
|||||||
private void aiCombox_SelectedIndexChanged(object sender, EventArgs e)
|
private void aiCombox_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
tilesize.Visible = GetAi().supportsTiling;
|
tilesize.Visible = GetAi().supportsTiling;
|
||||||
tileSizeInfoLabel.Visible = tilesize.Visible;
|
|
||||||
tilesizeNotAvailLabel.Visible = !tilesize.Visible;
|
tilesizeNotAvailLabel.Visible = !tilesize.Visible;
|
||||||
interpFactorCombox_SelectedIndexChanged(null, null);
|
interpFactorCombox_SelectedIndexChanged(null, null);
|
||||||
if(GetAi().supportsTiling)
|
if(GetAi().supportsTiling)
|
||||||
@@ -282,7 +294,7 @@ namespace Flowframes
|
|||||||
private void Form1_DragDrop(object sender, DragEventArgs e)
|
private void Form1_DragDrop(object sender, DragEventArgs e)
|
||||||
{
|
{
|
||||||
if (Program.busy) return;
|
if (Program.busy) return;
|
||||||
mainTabControl.SelectedIndex = 0; // Select main tab
|
SetTab("interpolation");
|
||||||
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
|
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
|
||||||
inputTbox.Text = files[0];
|
inputTbox.Text = files[0];
|
||||||
Logger.Log("Selected video/directory: " + Path.GetFileName(files[0]));
|
Logger.Log("Selected video/directory: " + Path.GetFileName(files[0]));
|
||||||
@@ -311,7 +323,7 @@ namespace Flowframes
|
|||||||
|
|
||||||
private void cancelBtn_Click(object sender, EventArgs e)
|
private void cancelBtn_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
mainTabControl.SelectedIndex = 0;
|
SetTab("interpolation");
|
||||||
Interpolate.Cancel();
|
Interpolate.Cancel();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -368,5 +380,10 @@ namespace Flowframes
|
|||||||
if (!initialized || !GetAi().supportsTiling) return;
|
if (!initialized || !GetAi().supportsTiling) return;
|
||||||
Config.Set($"tilesize_{GetAi().aiName}", tilesize.GetInt().ToString());
|
Config.Set($"tilesize_{GetAi().aiName}", tilesize.GetInt().ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void mainTabControl_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
mainTabControl.Refresh();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -123,7 +123,8 @@
|
|||||||
Based on:
|
Based on:
|
||||||
- dain-ncnn-vulkan by nihui, originally based on DAIN (Depth-Aware Video Frame Interpolation) by baowenbo
|
- dain-ncnn-vulkan by nihui, originally based on DAIN (Depth-Aware Video Frame Interpolation) by baowenbo
|
||||||
- cain-ncnn-vulkan by nihui, originally based on and CAIN (Channel Attention Is All You Need for Video Frame Interpolation) by myungsub
|
- cain-ncnn-vulkan by nihui, originally based on and CAIN (Channel Attention Is All You Need for Video Frame Interpolation) by myungsub
|
||||||
- RIFE by hzwer</value>
|
- RIFE by hzwer
|
||||||
|
- rife-ncnn-vulkan by nihui</value>
|
||||||
</data>
|
</data>
|
||||||
<metadata name="inFolderDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="inFolderDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>17, 17</value>
|
<value>17, 17</value>
|
||||||
|
|||||||
231
Code/Forms/SettingsForm.Designer.cs
generated
231
Code/Forms/SettingsForm.Designer.cs
generated
@@ -69,6 +69,10 @@
|
|||||||
this.enableAudio = new System.Windows.Forms.CheckBox();
|
this.enableAudio = new System.Windows.Forms.CheckBox();
|
||||||
this.label1 = new System.Windows.Forms.Label();
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
this.aiOptsPage = new Cyotek.Windows.Forms.TabListPage();
|
this.aiOptsPage = new Cyotek.Windows.Forms.TabListPage();
|
||||||
|
this.panel12 = new System.Windows.Forms.Panel();
|
||||||
|
this.label44 = new System.Windows.Forms.Label();
|
||||||
|
this.ncnnThreads = new System.Windows.Forms.ComboBox();
|
||||||
|
this.label43 = new System.Windows.Forms.Label();
|
||||||
this.panel2 = new System.Windows.Forms.Panel();
|
this.panel2 = new System.Windows.Forms.Panel();
|
||||||
this.panel1 = new System.Windows.Forms.Panel();
|
this.panel1 = new System.Windows.Forms.Panel();
|
||||||
this.torchGpus = new System.Windows.Forms.ComboBox();
|
this.torchGpus = new System.Windows.Forms.ComboBox();
|
||||||
@@ -108,6 +112,10 @@
|
|||||||
this.label8 = new System.Windows.Forms.Label();
|
this.label8 = new System.Windows.Forms.Label();
|
||||||
this.minOutVidLength = new System.Windows.Forms.ComboBox();
|
this.minOutVidLength = new System.Windows.Forms.ComboBox();
|
||||||
this.debugTab = new Cyotek.Windows.Forms.TabListPage();
|
this.debugTab = new Cyotek.Windows.Forms.TabListPage();
|
||||||
|
this.ffEncPreset = new System.Windows.Forms.ComboBox();
|
||||||
|
this.label47 = new System.Windows.Forms.Label();
|
||||||
|
this.label46 = new System.Windows.Forms.Label();
|
||||||
|
this.label45 = new System.Windows.Forms.Label();
|
||||||
this.label41 = new System.Windows.Forms.Label();
|
this.label41 = new System.Windows.Forms.Label();
|
||||||
this.ffprobeCountFrames = new System.Windows.Forms.CheckBox();
|
this.ffprobeCountFrames = new System.Windows.Forms.CheckBox();
|
||||||
this.label40 = new System.Windows.Forms.Label();
|
this.label40 = new System.Windows.Forms.Label();
|
||||||
@@ -122,14 +130,6 @@
|
|||||||
this.cmdDebugMode = new System.Windows.Forms.ComboBox();
|
this.cmdDebugMode = new System.Windows.Forms.ComboBox();
|
||||||
this.titleLabel = new System.Windows.Forms.Label();
|
this.titleLabel = new System.Windows.Forms.Label();
|
||||||
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||||
this.label43 = new System.Windows.Forms.Label();
|
|
||||||
this.ncnnThreads = new System.Windows.Forms.ComboBox();
|
|
||||||
this.label44 = new System.Windows.Forms.Label();
|
|
||||||
this.panel12 = new System.Windows.Forms.Panel();
|
|
||||||
this.label45 = new System.Windows.Forms.Label();
|
|
||||||
this.label46 = new System.Windows.Forms.Label();
|
|
||||||
this.label47 = new System.Windows.Forms.Label();
|
|
||||||
this.ffEncPreset = new System.Windows.Forms.ComboBox();
|
|
||||||
this.settingsTabList.SuspendLayout();
|
this.settingsTabList.SuspendLayout();
|
||||||
this.generalTab.SuspendLayout();
|
this.generalTab.SuspendLayout();
|
||||||
this.tabListPage2.SuspendLayout();
|
this.tabListPage2.SuspendLayout();
|
||||||
@@ -204,15 +204,12 @@
|
|||||||
// tempDirBrowseBtn
|
// tempDirBrowseBtn
|
||||||
//
|
//
|
||||||
this.tempDirBrowseBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
this.tempDirBrowseBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
this.tempDirBrowseBtn.FlatAppearance.BorderSize = 0;
|
|
||||||
this.tempDirBrowseBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
|
||||||
this.tempDirBrowseBtn.ForeColor = System.Drawing.Color.White;
|
this.tempDirBrowseBtn.ForeColor = System.Drawing.Color.White;
|
||||||
this.tempDirBrowseBtn.Location = new System.Drawing.Point(709, 66);
|
this.tempDirBrowseBtn.Location = new System.Drawing.Point(709, 66);
|
||||||
this.tempDirBrowseBtn.Name = "tempDirBrowseBtn";
|
this.tempDirBrowseBtn.Name = "tempDirBrowseBtn";
|
||||||
this.tempDirBrowseBtn.Size = new System.Drawing.Size(50, 23);
|
this.tempDirBrowseBtn.Size = new System.Drawing.Size(50, 23);
|
||||||
this.tempDirBrowseBtn.TabIndex = 70;
|
this.tempDirBrowseBtn.TabIndex = 70;
|
||||||
this.tempDirBrowseBtn.Text = "Browse";
|
this.tempDirBrowseBtn.Text = "Browse";
|
||||||
this.tempDirBrowseBtn.UseVisualStyleBackColor = false;
|
|
||||||
this.tempDirBrowseBtn.Click += new System.EventHandler(this.tempDirBrowseBtn_Click);
|
this.tempDirBrowseBtn.Click += new System.EventHandler(this.tempDirBrowseBtn_Click);
|
||||||
//
|
//
|
||||||
// tempDirCustom
|
// tempDirCustom
|
||||||
@@ -627,6 +624,53 @@
|
|||||||
this.aiOptsPage.Size = new System.Drawing.Size(762, 419);
|
this.aiOptsPage.Size = new System.Drawing.Size(762, 419);
|
||||||
this.aiOptsPage.Text = "AI Specific Settings";
|
this.aiOptsPage.Text = "AI Specific Settings";
|
||||||
//
|
//
|
||||||
|
// 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(336, 187);
|
||||||
|
this.panel12.Name = "panel12";
|
||||||
|
this.panel12.Size = new System.Drawing.Size(21, 21);
|
||||||
|
this.panel12.TabIndex = 58;
|
||||||
|
this.toolTip1.SetToolTip(this.panel12, "Allows custom input.");
|
||||||
|
//
|
||||||
|
// label44
|
||||||
|
//
|
||||||
|
this.label44.AutoSize = true;
|
||||||
|
this.label44.ForeColor = System.Drawing.Color.Silver;
|
||||||
|
this.label44.Location = new System.Drawing.Point(370, 191);
|
||||||
|
this.label44.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
|
||||||
|
this.label44.Name = "label44";
|
||||||
|
this.label44.Size = new System.Drawing.Size(358, 13);
|
||||||
|
this.label44.TabIndex = 60;
|
||||||
|
this.label44.Text = "Use 1 for small videos, 2 for >1080p, higher values might cause slowdown!";
|
||||||
|
//
|
||||||
|
// ncnnThreads
|
||||||
|
//
|
||||||
|
this.ncnnThreads.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.ncnnThreads.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||||
|
this.ncnnThreads.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.ncnnThreads.FormattingEnabled = true;
|
||||||
|
this.ncnnThreads.Items.AddRange(new object[] {
|
||||||
|
"1",
|
||||||
|
"2",
|
||||||
|
"3",
|
||||||
|
"4"});
|
||||||
|
this.ncnnThreads.Location = new System.Drawing.Point(280, 187);
|
||||||
|
this.ncnnThreads.Name = "ncnnThreads";
|
||||||
|
this.ncnnThreads.Size = new System.Drawing.Size(50, 21);
|
||||||
|
this.ncnnThreads.TabIndex = 59;
|
||||||
|
//
|
||||||
|
// label43
|
||||||
|
//
|
||||||
|
this.label43.AutoSize = true;
|
||||||
|
this.label43.Location = new System.Drawing.Point(10, 190);
|
||||||
|
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.TabIndex = 58;
|
||||||
|
this.label43.Text = "NCNN Processing Threads";
|
||||||
|
//
|
||||||
// panel2
|
// panel2
|
||||||
//
|
//
|
||||||
this.panel2.BackgroundImage = global::Flowframes.Properties.Resources.baseline_create_white_18dp_semiTransparent;
|
this.panel2.BackgroundImage = global::Flowframes.Properties.Resources.baseline_create_white_18dp_semiTransparent;
|
||||||
@@ -1122,11 +1166,63 @@
|
|||||||
this.debugTab.Size = new System.Drawing.Size(762, 419);
|
this.debugTab.Size = new System.Drawing.Size(762, 419);
|
||||||
this.debugTab.Text = "Debugging / Experimental";
|
this.debugTab.Text = "Debugging / Experimental";
|
||||||
//
|
//
|
||||||
|
// ffEncPreset
|
||||||
|
//
|
||||||
|
this.ffEncPreset.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
|
this.ffEncPreset.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.ffEncPreset.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||||
|
this.ffEncPreset.ForeColor = System.Drawing.Color.White;
|
||||||
|
this.ffEncPreset.FormattingEnabled = true;
|
||||||
|
this.ffEncPreset.Items.AddRange(new object[] {
|
||||||
|
"veryfast",
|
||||||
|
"faster",
|
||||||
|
"fast",
|
||||||
|
"medium",
|
||||||
|
"slow",
|
||||||
|
"slower",
|
||||||
|
"veryslow"});
|
||||||
|
this.ffEncPreset.Location = new System.Drawing.Point(280, 217);
|
||||||
|
this.ffEncPreset.Name = "ffEncPreset";
|
||||||
|
this.ffEncPreset.Size = new System.Drawing.Size(250, 21);
|
||||||
|
this.ffEncPreset.TabIndex = 78;
|
||||||
|
//
|
||||||
|
// label47
|
||||||
|
//
|
||||||
|
this.label47.AutoSize = true;
|
||||||
|
this.label47.Location = new System.Drawing.Point(10, 220);
|
||||||
|
this.label47.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
|
||||||
|
this.label47.Name = "label47";
|
||||||
|
this.label47.Size = new System.Drawing.Size(85, 13);
|
||||||
|
this.label47.TabIndex = 77;
|
||||||
|
this.label47.Text = "Encoding Preset";
|
||||||
|
//
|
||||||
|
// label46
|
||||||
|
//
|
||||||
|
this.label46.AutoSize = true;
|
||||||
|
this.label46.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.label46.Location = new System.Drawing.Point(10, 160);
|
||||||
|
this.label46.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
|
||||||
|
this.label46.Name = "label46";
|
||||||
|
this.label46.Size = new System.Drawing.Size(65, 16);
|
||||||
|
this.label46.TabIndex = 76;
|
||||||
|
this.label46.Text = "FFmpeg";
|
||||||
|
//
|
||||||
|
// label45
|
||||||
|
//
|
||||||
|
this.label45.AutoSize = true;
|
||||||
|
this.label45.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.label45.Location = new System.Drawing.Point(10, 10);
|
||||||
|
this.label45.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
|
||||||
|
this.label45.Name = "label45";
|
||||||
|
this.label45.Size = new System.Drawing.Size(63, 16);
|
||||||
|
this.label45.TabIndex = 75;
|
||||||
|
this.label45.Text = "General";
|
||||||
|
//
|
||||||
// label41
|
// label41
|
||||||
//
|
//
|
||||||
this.label41.AutoSize = true;
|
this.label41.AutoSize = true;
|
||||||
this.label41.ForeColor = System.Drawing.Color.Silver;
|
this.label41.ForeColor = System.Drawing.Color.Silver;
|
||||||
this.label41.Location = new System.Drawing.Point(308, 280);
|
this.label41.Location = new System.Drawing.Point(308, 250);
|
||||||
this.label41.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
|
this.label41.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
|
||||||
this.label41.Name = "label41";
|
this.label41.Name = "label41";
|
||||||
this.label41.Size = new System.Drawing.Size(423, 13);
|
this.label41.Size = new System.Drawing.Size(423, 13);
|
||||||
@@ -1137,7 +1233,7 @@
|
|||||||
// ffprobeCountFrames
|
// ffprobeCountFrames
|
||||||
//
|
//
|
||||||
this.ffprobeCountFrames.AutoSize = true;
|
this.ffprobeCountFrames.AutoSize = true;
|
||||||
this.ffprobeCountFrames.Location = new System.Drawing.Point(280, 280);
|
this.ffprobeCountFrames.Location = new System.Drawing.Point(280, 250);
|
||||||
this.ffprobeCountFrames.Name = "ffprobeCountFrames";
|
this.ffprobeCountFrames.Name = "ffprobeCountFrames";
|
||||||
this.ffprobeCountFrames.Size = new System.Drawing.Size(15, 14);
|
this.ffprobeCountFrames.Size = new System.Drawing.Size(15, 14);
|
||||||
this.ffprobeCountFrames.TabIndex = 73;
|
this.ffprobeCountFrames.TabIndex = 73;
|
||||||
@@ -1146,7 +1242,7 @@
|
|||||||
// label40
|
// label40
|
||||||
//
|
//
|
||||||
this.label40.AutoSize = true;
|
this.label40.AutoSize = true;
|
||||||
this.label40.Location = new System.Drawing.Point(10, 280);
|
this.label40.Location = new System.Drawing.Point(10, 250);
|
||||||
this.label40.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
|
this.label40.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
|
||||||
this.label40.Name = "label40";
|
this.label40.Name = "label40";
|
||||||
this.label40.Size = new System.Drawing.Size(162, 13);
|
this.label40.Size = new System.Drawing.Size(162, 13);
|
||||||
@@ -1157,7 +1253,7 @@
|
|||||||
//
|
//
|
||||||
this.label38.AutoSize = true;
|
this.label38.AutoSize = true;
|
||||||
this.label38.ForeColor = System.Drawing.Color.Silver;
|
this.label38.ForeColor = System.Drawing.Color.Silver;
|
||||||
this.label38.Location = new System.Drawing.Point(570, 224);
|
this.label38.Location = new System.Drawing.Point(570, 194);
|
||||||
this.label38.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
|
this.label38.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
|
||||||
this.label38.Name = "label38";
|
this.label38.Name = "label38";
|
||||||
this.label38.Size = new System.Drawing.Size(131, 13);
|
this.label38.Size = new System.Drawing.Size(131, 13);
|
||||||
@@ -1168,7 +1264,7 @@
|
|||||||
//
|
//
|
||||||
this.panel11.BackgroundImage = global::Flowframes.Properties.Resources.baseline_create_white_18dp_semiTransparent;
|
this.panel11.BackgroundImage = global::Flowframes.Properties.Resources.baseline_create_white_18dp_semiTransparent;
|
||||||
this.panel11.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
|
this.panel11.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
|
||||||
this.panel11.Location = new System.Drawing.Point(536, 220);
|
this.panel11.Location = new System.Drawing.Point(536, 190);
|
||||||
this.panel11.Name = "panel11";
|
this.panel11.Name = "panel11";
|
||||||
this.panel11.Size = new System.Drawing.Size(21, 21);
|
this.panel11.Size = new System.Drawing.Size(21, 21);
|
||||||
this.panel11.TabIndex = 61;
|
this.panel11.TabIndex = 61;
|
||||||
@@ -1178,7 +1274,7 @@
|
|||||||
//
|
//
|
||||||
this.ffEncThreads.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
this.ffEncThreads.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||||
this.ffEncThreads.ForeColor = System.Drawing.Color.White;
|
this.ffEncThreads.ForeColor = System.Drawing.Color.White;
|
||||||
this.ffEncThreads.Location = new System.Drawing.Point(280, 220);
|
this.ffEncThreads.Location = new System.Drawing.Point(280, 190);
|
||||||
this.ffEncThreads.MinimumSize = new System.Drawing.Size(4, 21);
|
this.ffEncThreads.MinimumSize = new System.Drawing.Size(4, 21);
|
||||||
this.ffEncThreads.Name = "ffEncThreads";
|
this.ffEncThreads.Name = "ffEncThreads";
|
||||||
this.ffEncThreads.Size = new System.Drawing.Size(250, 21);
|
this.ffEncThreads.Size = new System.Drawing.Size(250, 21);
|
||||||
@@ -1187,7 +1283,7 @@
|
|||||||
// label37
|
// label37
|
||||||
//
|
//
|
||||||
this.label37.AutoSize = true;
|
this.label37.AutoSize = true;
|
||||||
this.label37.Location = new System.Drawing.Point(10, 220);
|
this.label37.Location = new System.Drawing.Point(10, 190);
|
||||||
this.label37.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
|
this.label37.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
|
||||||
this.label37.Name = "label37";
|
this.label37.Name = "label37";
|
||||||
this.label37.Size = new System.Drawing.Size(204, 13);
|
this.label37.Size = new System.Drawing.Size(204, 13);
|
||||||
@@ -1271,105 +1367,6 @@
|
|||||||
this.titleLabel.TabIndex = 1;
|
this.titleLabel.TabIndex = 1;
|
||||||
this.titleLabel.Text = "Settings";
|
this.titleLabel.Text = "Settings";
|
||||||
//
|
//
|
||||||
// label43
|
|
||||||
//
|
|
||||||
this.label43.AutoSize = true;
|
|
||||||
this.label43.Location = new System.Drawing.Point(10, 190);
|
|
||||||
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.TabIndex = 58;
|
|
||||||
this.label43.Text = "NCNN Processing Threads";
|
|
||||||
//
|
|
||||||
// ncnnThreads
|
|
||||||
//
|
|
||||||
this.ncnnThreads.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
|
||||||
this.ncnnThreads.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
|
||||||
this.ncnnThreads.ForeColor = System.Drawing.Color.White;
|
|
||||||
this.ncnnThreads.FormattingEnabled = true;
|
|
||||||
this.ncnnThreads.Items.AddRange(new object[] {
|
|
||||||
"1",
|
|
||||||
"2",
|
|
||||||
"3",
|
|
||||||
"4"});
|
|
||||||
this.ncnnThreads.Location = new System.Drawing.Point(280, 187);
|
|
||||||
this.ncnnThreads.Name = "ncnnThreads";
|
|
||||||
this.ncnnThreads.Size = new System.Drawing.Size(50, 21);
|
|
||||||
this.ncnnThreads.TabIndex = 59;
|
|
||||||
//
|
|
||||||
// label44
|
|
||||||
//
|
|
||||||
this.label44.AutoSize = true;
|
|
||||||
this.label44.ForeColor = System.Drawing.Color.Silver;
|
|
||||||
this.label44.Location = new System.Drawing.Point(370, 191);
|
|
||||||
this.label44.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
|
|
||||||
this.label44.Name = "label44";
|
|
||||||
this.label44.Size = new System.Drawing.Size(358, 13);
|
|
||||||
this.label44.TabIndex = 60;
|
|
||||||
this.label44.Text = "Use 1 for small videos, 2 for >1080p, higher values might cause slowdown!";
|
|
||||||
//
|
|
||||||
// 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(336, 187);
|
|
||||||
this.panel12.Name = "panel12";
|
|
||||||
this.panel12.Size = new System.Drawing.Size(21, 21);
|
|
||||||
this.panel12.TabIndex = 58;
|
|
||||||
this.toolTip1.SetToolTip(this.panel12, "Allows custom input.");
|
|
||||||
//
|
|
||||||
// label45
|
|
||||||
//
|
|
||||||
this.label45.AutoSize = true;
|
|
||||||
this.label45.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
|
||||||
this.label45.Location = new System.Drawing.Point(10, 10);
|
|
||||||
this.label45.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
|
|
||||||
this.label45.Name = "label45";
|
|
||||||
this.label45.Size = new System.Drawing.Size(63, 16);
|
|
||||||
this.label45.TabIndex = 75;
|
|
||||||
this.label45.Text = "General";
|
|
||||||
//
|
|
||||||
// label46
|
|
||||||
//
|
|
||||||
this.label46.AutoSize = true;
|
|
||||||
this.label46.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
|
||||||
this.label46.Location = new System.Drawing.Point(10, 190);
|
|
||||||
this.label46.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
|
|
||||||
this.label46.Name = "label46";
|
|
||||||
this.label46.Size = new System.Drawing.Size(65, 16);
|
|
||||||
this.label46.TabIndex = 76;
|
|
||||||
this.label46.Text = "FFmpeg";
|
|
||||||
//
|
|
||||||
// label47
|
|
||||||
//
|
|
||||||
this.label47.AutoSize = true;
|
|
||||||
this.label47.Location = new System.Drawing.Point(10, 250);
|
|
||||||
this.label47.Margin = new System.Windows.Forms.Padding(10, 10, 10, 7);
|
|
||||||
this.label47.Name = "label47";
|
|
||||||
this.label47.Size = new System.Drawing.Size(85, 13);
|
|
||||||
this.label47.TabIndex = 77;
|
|
||||||
this.label47.Text = "Encoding Preset";
|
|
||||||
//
|
|
||||||
// ffEncPreset
|
|
||||||
//
|
|
||||||
this.ffEncPreset.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
|
||||||
this.ffEncPreset.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
||||||
this.ffEncPreset.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
|
||||||
this.ffEncPreset.ForeColor = System.Drawing.Color.White;
|
|
||||||
this.ffEncPreset.FormattingEnabled = true;
|
|
||||||
this.ffEncPreset.Items.AddRange(new object[] {
|
|
||||||
"veryfast",
|
|
||||||
"faster",
|
|
||||||
"fast",
|
|
||||||
"medium",
|
|
||||||
"slow",
|
|
||||||
"slower",
|
|
||||||
"veryslow"});
|
|
||||||
this.ffEncPreset.Location = new System.Drawing.Point(280, 247);
|
|
||||||
this.ffEncPreset.Name = "ffEncPreset";
|
|
||||||
this.ffEncPreset.Size = new System.Drawing.Size(250, 21);
|
|
||||||
this.ffEncPreset.TabIndex = 78;
|
|
||||||
//
|
|
||||||
// SettingsForm
|
// SettingsForm
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
|||||||
@@ -31,10 +31,18 @@ namespace Flowframes.Forms
|
|||||||
statusLabel.Text = "Latest Version Is Installed.";
|
statusLabel.Text = "Latest Version Is Installed.";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if(installed < latest)
|
||||||
{
|
{
|
||||||
updateBtn.Text = "Update To Latest Version!";
|
updateBtn.Text = "Update To Latest Version!";
|
||||||
statusLabel.Text = "Update Available!";
|
statusLabel.Text = "Update Available!";
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
updateBtn.Text = "Rollback To Public Version";
|
||||||
|
statusLabel.Text = "Using Newer Version Than Latest Public Release.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
updateBtn.Enabled = true;
|
updateBtn.Enabled = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ namespace Flowframes.Main
|
|||||||
public static async void Start()
|
public static async void Start()
|
||||||
{
|
{
|
||||||
stopped = false;
|
stopped = false;
|
||||||
Program.mainForm.GetMainTabControl().SelectedIndex = 2;
|
Program.mainForm.SetTab("preview");
|
||||||
int initTaskCount = Program.batchQueue.Count;
|
int initTaskCount = Program.batchQueue.Count;
|
||||||
|
|
||||||
for (int i = 0; i < initTaskCount; i++)
|
for (int i = 0; i < initTaskCount; i++)
|
||||||
@@ -35,7 +35,7 @@ namespace Flowframes.Main
|
|||||||
}
|
}
|
||||||
Logger.Log("[Queue] Finished queue processing.");
|
Logger.Log("[Queue] Finished queue processing.");
|
||||||
SetBusy(false);
|
SetBusy(false);
|
||||||
Program.mainForm.GetMainTabControl().SelectedIndex = 0;
|
Program.mainForm.SetTab("interpolation");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void Stop()
|
public static void Stop()
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ namespace Flowframes
|
|||||||
{
|
{
|
||||||
public class Interpolate
|
public class Interpolate
|
||||||
{
|
{
|
||||||
public enum OutMode { VidMp4, VidGif, ImgPng, ImgJpg }
|
public enum OutMode { VidMp4, VidGif, ImgPng }
|
||||||
|
|
||||||
public static string currentTempDir;
|
public static string currentTempDir;
|
||||||
static string framesPath;
|
static string framesPath;
|
||||||
@@ -29,6 +29,7 @@ namespace Flowframes
|
|||||||
public static float currentOutFps;
|
public static float currentOutFps;
|
||||||
|
|
||||||
public static string lastInputPath;
|
public static string lastInputPath;
|
||||||
|
public static AI lastAi;
|
||||||
|
|
||||||
public static bool canceled = false;
|
public static bool canceled = false;
|
||||||
|
|
||||||
@@ -52,6 +53,7 @@ namespace Flowframes
|
|||||||
if (!Utils.CheckDeleteOldTempFolder()) return; // Try to delete temp folder if an old one exists
|
if (!Utils.CheckDeleteOldTempFolder()) return; // Try to delete temp folder if an old one exists
|
||||||
if(!Utils.CheckPathValid(inPath)) return; // Check if input path/file is valid
|
if(!Utils.CheckPathValid(inPath)) return; // Check if input path/file is valid
|
||||||
Utils.PathAsciiCheck(inPath, outDir);
|
Utils.PathAsciiCheck(inPath, outDir);
|
||||||
|
lastAi = ai;
|
||||||
Program.mainForm.SetStatus("Starting...");
|
Program.mainForm.SetStatus("Starting...");
|
||||||
Program.mainForm.SetWorking(true);
|
Program.mainForm.SetWorking(true);
|
||||||
await Task.Delay(10);
|
await Task.Delay(10);
|
||||||
@@ -131,8 +133,6 @@ namespace Flowframes
|
|||||||
if (Config.GetInt("dedupMode") == 1)
|
if (Config.GetInt("dedupMode") == 1)
|
||||||
await MagickDedupe.Run(framesPath);
|
await MagickDedupe.Run(framesPath);
|
||||||
|
|
||||||
//await Task.Delay(10000);
|
|
||||||
|
|
||||||
if (Config.GetInt("timingMode") == 1 && Config.GetInt("dedupMode") != 0)
|
if (Config.GetInt("timingMode") == 1 && Config.GetInt("dedupMode") != 0)
|
||||||
await VfrDedupe.CreateTimecodeFile(framesPath, Config.GetBool("enableLoop"), interpFactor, firstFrameFix);
|
await VfrDedupe.CreateTimecodeFile(framesPath, Config.GetBool("enableLoop"), interpFactor, firstFrameFix);
|
||||||
|
|
||||||
@@ -140,8 +140,11 @@ namespace Flowframes
|
|||||||
MagickDedupe.RenameCounterDir(framesPath, "png");
|
MagickDedupe.RenameCounterDir(framesPath, "png");
|
||||||
MagickDedupe.ZeroPadDir(framesPath, "png", 8);
|
MagickDedupe.ZeroPadDir(framesPath, "png", 8);
|
||||||
|
|
||||||
if (firstFrameFix)
|
if (lastAi.aiName == Networks.rifeCuda.aiName)
|
||||||
IOUtils.TryCopy(new DirectoryInfo(framesPath).GetFiles("*.png")[0].FullName, Path.Combine(framesPath, "00000000.png"), true);
|
{
|
||||||
|
bool s = IOUtils.TryCopy(new DirectoryInfo(framesPath).GetFiles("*.png")[0].FullName, Path.Combine(framesPath, "00000000.png"), true);
|
||||||
|
Logger.Log("FirstFrameFix TryCopy Success:" + s, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static async Task RunAi(string outpath, int targetFrames, int tilesize, AI ai)
|
static async Task RunAi(string outpath, int targetFrames, int tilesize, AI ai)
|
||||||
@@ -170,7 +173,7 @@ namespace Flowframes
|
|||||||
if (AiProcess.processTime.IsRunning && Directory.Exists(outdir))
|
if (AiProcess.processTime.IsRunning && Directory.Exists(outdir))
|
||||||
{
|
{
|
||||||
if (firstProgUpd && Program.mainForm.IsInFocus())
|
if (firstProgUpd && Program.mainForm.IsInFocus())
|
||||||
Program.mainForm.GetMainTabControl().SelectedIndex = 2;
|
Program.mainForm.SetTab("preview");
|
||||||
firstProgUpd = false;
|
firstProgUpd = false;
|
||||||
string[] frames = Directory.GetFiles(outdir, $"*.{Utils.lastExt}");
|
string[] frames = Directory.GetFiles(outdir, $"*.{Utils.lastExt}");
|
||||||
if (frames.Length > 1)
|
if (frames.Length > 1)
|
||||||
@@ -197,7 +200,7 @@ namespace Flowframes
|
|||||||
if(!Config.GetBool("keepTempFolder"))
|
if(!Config.GetBool("keepTempFolder"))
|
||||||
IOUtils.TryDeleteIfExists(currentTempDir);
|
IOUtils.TryDeleteIfExists(currentTempDir);
|
||||||
Program.mainForm.SetWorking(false);
|
Program.mainForm.SetWorking(false);
|
||||||
Program.mainForm.mainTabControl.SelectedIndex = 0;
|
Program.mainForm.SetTab("interpolation");
|
||||||
Logger.Log("Canceled interpolation.");
|
Logger.Log("Canceled interpolation.");
|
||||||
if (!string.IsNullOrWhiteSpace(reason) && !noMsgBox)
|
if (!string.IsNullOrWhiteSpace(reason) && !noMsgBox)
|
||||||
Utils.ShowMessage($"Canceled:\n\n{reason}");
|
Utils.ShowMessage($"Canceled:\n\n{reason}");
|
||||||
|
|||||||
@@ -22,10 +22,9 @@ namespace Flowframes
|
|||||||
|
|
||||||
public static int lastStartupTimeMs = 1000;
|
public static int lastStartupTimeMs = 1000;
|
||||||
|
|
||||||
static void Init (Process proc, int startupTimeMs, string defaultExt = "png", bool needsFirstFrameFix = false)
|
static void Init (Process proc, int startupTimeMs, string defaultExt = "png")
|
||||||
{
|
{
|
||||||
lastStartupTimeMs = startupTimeMs;
|
lastStartupTimeMs = startupTimeMs;
|
||||||
Interpolate.firstFrameFix = needsFirstFrameFix;
|
|
||||||
InterpolateUtils.lastExt = defaultExt;
|
InterpolateUtils.lastExt = defaultExt;
|
||||||
if (Config.GetBool("jpegInterps")) InterpolateUtils.lastExt = "jpg";
|
if (Config.GetBool("jpegInterps")) InterpolateUtils.lastExt = "jpg";
|
||||||
processTime.Restart();
|
processTime.Restart();
|
||||||
@@ -134,8 +133,7 @@ namespace Flowframes
|
|||||||
|
|
||||||
string rifeDir = Path.Combine(Paths.GetPkgPath(), Path.GetFileNameWithoutExtension(Packages.rifeCuda.fileName));
|
string rifeDir = Path.Combine(Paths.GetPkgPath(), Path.GetFileNameWithoutExtension(Packages.rifeCuda.fileName));
|
||||||
Process rifePy = OSUtils.NewProcess(!OSUtils.ShowHiddenCmd());
|
Process rifePy = OSUtils.NewProcess(!OSUtils.ShowHiddenCmd());
|
||||||
Logger.Log("HIDDEN: " + !OSUtils.ShowHiddenCmd());
|
Init(rifePy, 3000, "png");
|
||||||
Init(rifePy, 3000, "png", true);
|
|
||||||
string args = $" --input {framesPath.Wrap()} --times {(int)Math.Log(interpFactor, 2)}";
|
string args = $" --input {framesPath.Wrap()} --times {(int)Math.Log(interpFactor, 2)}";
|
||||||
rifePy.StartInfo.Arguments = $"{OSUtils.GetHiddenCmdArg()} cd /D {rifeDir.Wrap()} & " +
|
rifePy.StartInfo.Arguments = $"{OSUtils.GetHiddenCmdArg()} cd /D {rifeDir.Wrap()} & " +
|
||||||
$"set CUDA_VISIBLE_DEVICES={Config.Get("torchGpus")} & {Python.GetPyCmd()} {script} {args} --imgformat {InterpolateUtils.lastExt}";
|
$"set CUDA_VISIBLE_DEVICES={Config.Get("torchGpus")} & {Python.GetPyCmd()} {script} {args} --imgformat {InterpolateUtils.lastExt}";
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ namespace Flowframes.OS
|
|||||||
int latest = latestVer.GetInt();
|
int latest = latestVer.GetInt();
|
||||||
int installed = GetInstalledVer();
|
int installed = GetInstalledVer();
|
||||||
|
|
||||||
if (installed != latest)
|
if (installed < latest)
|
||||||
Logger.Log("An update for Flowframes is available! Download it using the Updater.");
|
Logger.Log("An update for Flowframes is available! Download it using the Updater.");
|
||||||
else
|
else
|
||||||
Logger.Log("Flowframes is up to date.");
|
Logger.Log("Flowframes is up to date.");
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ namespace Flowframes
|
|||||||
{
|
{
|
||||||
static class Program
|
static class Program
|
||||||
{
|
{
|
||||||
public const int version = 15;
|
public const int version = 16;
|
||||||
|
|
||||||
public static Form1 mainForm;
|
public static Form1 mainForm;
|
||||||
|
|
||||||
|
|||||||
10
Code/Properties/Resources.Designer.cs
generated
10
Code/Properties/Resources.Designer.cs
generated
@@ -170,6 +170,16 @@ namespace Flowframes.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap flowframesIcoNew_512px {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("flowframesIcoNew_512px", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -121,9 +121,6 @@
|
|||||||
<data name="baseline_image_white_48dp-4x" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="baseline_image_white_48dp-4x" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\baseline_image_white_48dp-4x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\baseline_image_white_48dp-4x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="baseline_image_white_48dp" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Resources\baseline_image_white_48dp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
|
||||||
<data name="baseline_queue_white_48dp" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="baseline_queue_white_48dp" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\baseline_queue_white_48dp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\baseline_queue_white_48dp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -139,6 +136,9 @@
|
|||||||
<data name="baseline_system_update_alt_white_48dp" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="baseline_system_update_alt_white_48dp" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\baseline_system_update_alt_white_48dp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\baseline_system_update_alt_white_48dp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="patreon256px" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\patreon256px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
<data name="questmark-72px-bordeer" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="questmark-72px-bordeer" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\questmark-72px-bordeer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\questmark-72px-bordeer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -157,8 +157,8 @@
|
|||||||
<data name="separatorTest1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="separatorTest1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\separatorTest1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\separatorTest1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="patreon256px" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="baseline_image_white_48dp" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\patreon256px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\baseline_image_white_48dp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="baseline_create_white_18dp-semiTransparent" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="baseline_create_white_18dp-semiTransparent" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\baseline_create_white_18dp-semiTransparent.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\baseline_create_white_18dp-semiTransparent.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
@@ -169,4 +169,7 @@
|
|||||||
<data name="baseline_image_white_48dp-4x-25pcAlpha" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="baseline_image_white_48dp-4x-25pcAlpha" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\baseline_image_white_48dp-4x-25pcAlpha.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\baseline_image_white_48dp-4x-25pcAlpha.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="flowframesIcoNew_512px" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\flowframesIcoNew-512px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
BIN
Code/Resources/flowframesIcoNew-512px.png
Normal file
BIN
Code/Resources/flowframesIcoNew-512px.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.8 KiB |
BIN
Code/Resources/flowframesIcoNew.png
Normal file
BIN
Code/Resources/flowframesIcoNew.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 334 KiB |
29
Code/UI/GetWebInfo.cs
Normal file
29
Code/UI/GetWebInfo.cs
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Net;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Flowframes.UI
|
||||||
|
{
|
||||||
|
class GetWebInfo
|
||||||
|
{
|
||||||
|
public static async Task LoadNews (Label newsLabel)
|
||||||
|
{
|
||||||
|
string url = $"https://dl.nmkd.de/flowframes/changelog.txt";
|
||||||
|
var client = new WebClient();
|
||||||
|
var str = await client.DownloadStringTaskAsync(new Uri(url));
|
||||||
|
newsLabel.Text = str;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static async Task LoadPatronList(Label patronsLabel)
|
||||||
|
{
|
||||||
|
string url = $"https://dl.nmkd.de/flowframes/patreon.txt";
|
||||||
|
var client = new WebClient();
|
||||||
|
var str = await client.DownloadStringTaskAsync(new Uri(url));
|
||||||
|
patronsLabel.Text = str;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -19,7 +19,7 @@ namespace Flowframes.UI
|
|||||||
{
|
{
|
||||||
string outPath = Path.ChangeExtension(videoPath, null) + "-extracted";
|
string outPath = Path.ChangeExtension(videoPath, null) + "-extracted";
|
||||||
Program.mainForm.SetWorking(true);
|
Program.mainForm.SetWorking(true);
|
||||||
await FFmpegCommands.VideoToFrames(videoPath, Path.Combine(outPath, "frames"), false, false);
|
await FFmpegCommands.VideoToFrames(videoPath, Path.Combine(outPath, "frames"), false, false, false);
|
||||||
File.WriteAllText(Path.Combine(outPath, "fps.ini"), Interpolate.currentInFps.ToString());
|
File.WriteAllText(Path.Combine(outPath, "fps.ini"), Interpolate.currentInFps.ToString());
|
||||||
if (withAudio)
|
if (withAudio)
|
||||||
await FFmpegCommands.ExtractAudio(videoPath, Path.Combine(outPath, "audio"));
|
await FFmpegCommands.ExtractAudio(videoPath, Path.Combine(outPath, "audio"));
|
||||||
|
|||||||
Reference in New Issue
Block a user