Added landing page, improved updater for beta versions

This commit is contained in:
N00MKRAD
2020-11-25 20:31:21 +01:00
parent d6aeb96457
commit fb30d7230d
19 changed files with 364 additions and 188 deletions

View File

@@ -18,22 +18,22 @@ namespace Flowframes
static string mpDecDef = "\"mpdecimate\"";
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 = "";
if (size.Width > 1 && size.Height > 1) sizeStr = $"-s {size.Width}x{size.Height}";
string sizeStr = (size.Width > 1 && size.Height > 1) ? $"-s {size.Width}x{size.Height}" : "";
if (!Directory.Exists(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)
{
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 Task.Delay(1);

View File

@@ -1,13 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Flowframes
{
class FFmpegStrings
{
}
}

View File

@@ -197,7 +197,6 @@
<Compile Include="ExtensionMethods.cs" />
<Compile Include="AudioVideo\AvProcess.cs" />
<Compile Include="AudioVideo\FFmpegCommands.cs" />
<Compile Include="AudioVideo\FFmpegStrings.cs" />
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
@@ -221,6 +220,7 @@
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="IO\Setup.cs" />
<Compile Include="UI\FormatUtils.cs" />
<Compile Include="UI\GetWebInfo.cs" />
<Compile Include="UI\UIUtils.cs" />
<Compile Include="UI\UtilsTab.cs" />
<EmbeddedResource Include="Form1.resx">
@@ -280,6 +280,8 @@
<ItemGroup>
<Content Include="FlowFramesFunkyLogo1.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\7za.exe" />
<None Include="Resources\baseline_fact_check_white_48dp.png" />

165
Code/Form1.Designer.cs generated
View File

@@ -32,7 +32,6 @@
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.titleLabel = new System.Windows.Forms.Label();
this.tilesize = new System.Windows.Forms.ComboBox();
this.tileSizeInfoLabel = new System.Windows.Forms.Label();
this.aiCombox = new System.Windows.Forms.ComboBox();
this.label13 = new System.Windows.Forms.Label();
this.outModeCombox = new System.Windows.Forms.ComboBox();
@@ -95,6 +94,15 @@
this.longProgBar = new HTAlt.WinForms.HTProgressBar();
this.cancelBtn = new System.Windows.Forms.Button();
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.tilesizeNotAvailLabel = 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.info1)).BeginInit();
this.mainTabControl.SuspendLayout();
this.welcomeTab.SuspendLayout();
this.panel8.SuspendLayout();
this.panel6.SuspendLayout();
this.interpOptsTab.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
this.videoUtilsTab.SuspendLayout();
@@ -156,18 +167,6 @@
this.tilesize.TabIndex = 25;
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
//
this.aiCombox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
@@ -637,6 +636,7 @@
// logBox
//
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.Location = new System.Drawing.Point(221, 357);
this.logBox.MinimumSize = new System.Drawing.Size(4, 21);
@@ -928,6 +928,7 @@
this.mainTabControl.AllowDrop = true;
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.Controls.Add(this.welcomeTab);
this.mainTabControl.Controls.Add(this.interpOptsTab);
this.mainTabControl.Controls.Add(this.videoUtilsTab);
this.mainTabControl.Controls.Add(this.previewTab);
@@ -936,7 +937,7 @@
this.mainTabControl.DisableDragging = true;
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.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.Location = new System.Drawing.Point(13, 62);
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.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.SelectedIndexChanged += new System.EventHandler(this.mainTabControl_SelectedIndexChanged);
this.mainTabControl.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop);
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
//
this.interpOptsTab.AllowDrop = true;
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.panel7);
this.interpOptsTab.Controls.Add(this.label1);
this.interpOptsTab.Controls.Add(this.browseOutBtn);
this.interpOptsTab.Controls.Add(this.browseInputFileBtn);
this.interpOptsTab.Controls.Add(this.browseInputBtn);
this.interpOptsTab.Controls.Add(this.label4);
this.interpOptsTab.Controls.Add(this.pictureBox4);
this.interpOptsTab.Controls.Add(this.label2);
this.interpOptsTab.Controls.Add(this.pictureBox3);
this.interpOptsTab.Controls.Add(this.label3);
this.interpOptsTab.Controls.Add(this.pictureBox2);
this.interpOptsTab.Controls.Add(this.inputTbox);
this.interpOptsTab.Controls.Add(this.pictureBox1);
this.interpOptsTab.Controls.Add(this.outputTbox);
this.interpOptsTab.Controls.Add(this.info1);
this.interpOptsTab.Controls.Add(this.interpFactorCombox);
this.interpOptsTab.Controls.Add(this.tilesize);
this.interpOptsTab.Controls.Add(this.fpsInTbox);
this.interpOptsTab.Controls.Add(this.tileSizeInfoLabel);
this.interpOptsTab.Controls.Add(this.fpsOutTbox);
this.interpOptsTab.Controls.Add(this.label5);
this.interpOptsTab.Controls.Add(this.aiCombox);
@@ -988,6 +1089,12 @@
this.interpOptsTab.Controls.Add(this.label8);
this.interpOptsTab.Controls.Add(this.label9);
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.Name = "interpOptsTab";
this.interpOptsTab.Padding = new System.Windows.Forms.Padding(3);
@@ -1217,6 +1324,12 @@
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.info1)).EndInit();
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.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
@@ -1258,7 +1371,6 @@
private System.Windows.Forms.Label statusLabel;
private System.Windows.Forms.ComboBox aiCombox;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Label tileSizeInfoLabel;
private System.Windows.Forms.ComboBox tilesize;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Button debugExtractFramesBtn;
@@ -1311,6 +1423,15 @@
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Panel panel3;
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;
}
}

View File

@@ -53,6 +53,8 @@ namespace Flowframes
Setup.Init();
Initialized();
GetWebInfo.LoadNews(newsLabel);
GetWebInfo.LoadPatronList(patronsLabel);
Updater.AsyncUpdateCheck();
}
@@ -60,6 +62,17 @@ namespace Flowframes
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()
{
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)
{
if (!BatchProcessing.busy)
mainTabControl.SelectedIndex = 0;
SetTab("interpolation");
if (fpsInTbox.Visible)
Interpolate.SetFps(fpsInTbox.GetFloat());
if (interpFactorCombox.Visible)
@@ -245,7 +258,6 @@ namespace Flowframes
private void aiCombox_SelectedIndexChanged(object sender, EventArgs e)
{
tilesize.Visible = GetAi().supportsTiling;
tileSizeInfoLabel.Visible = tilesize.Visible;
tilesizeNotAvailLabel.Visible = !tilesize.Visible;
interpFactorCombox_SelectedIndexChanged(null, null);
if(GetAi().supportsTiling)
@@ -282,7 +294,7 @@ namespace Flowframes
private void Form1_DragDrop(object sender, DragEventArgs e)
{
if (Program.busy) return;
mainTabControl.SelectedIndex = 0; // Select main tab
SetTab("interpolation");
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
inputTbox.Text = 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)
{
mainTabControl.SelectedIndex = 0;
SetTab("interpolation");
Interpolate.Cancel();
}
@@ -368,5 +380,10 @@ namespace Flowframes
if (!initialized || !GetAi().supportsTiling) return;
Config.Set($"tilesize_{GetAi().aiName}", tilesize.GetInt().ToString());
}
private void mainTabControl_SelectedIndexChanged(object sender, EventArgs e)
{
mainTabControl.Refresh();
}
}
}

View File

@@ -123,7 +123,8 @@
Based on:
- 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
- RIFE by hzwer</value>
- RIFE by hzwer
- rife-ncnn-vulkan by nihui</value>
</data>
<metadata name="inFolderDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>

View File

@@ -69,6 +69,10 @@
this.enableAudio = new System.Windows.Forms.CheckBox();
this.label1 = new System.Windows.Forms.Label();
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.panel1 = new System.Windows.Forms.Panel();
this.torchGpus = new System.Windows.Forms.ComboBox();
@@ -108,6 +112,10 @@
this.label8 = new System.Windows.Forms.Label();
this.minOutVidLength = new System.Windows.Forms.ComboBox();
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.ffprobeCountFrames = new System.Windows.Forms.CheckBox();
this.label40 = new System.Windows.Forms.Label();
@@ -122,14 +130,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.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.generalTab.SuspendLayout();
this.tabListPage2.SuspendLayout();
@@ -204,15 +204,12 @@
// tempDirBrowseBtn
//
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.Location = new System.Drawing.Point(709, 66);
this.tempDirBrowseBtn.Name = "tempDirBrowseBtn";
this.tempDirBrowseBtn.Size = new System.Drawing.Size(50, 23);
this.tempDirBrowseBtn.TabIndex = 70;
this.tempDirBrowseBtn.Text = "Browse";
this.tempDirBrowseBtn.UseVisualStyleBackColor = false;
this.tempDirBrowseBtn.Click += new System.EventHandler(this.tempDirBrowseBtn_Click);
//
// tempDirCustom
@@ -627,6 +624,53 @@
this.aiOptsPage.Size = new System.Drawing.Size(762, 419);
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
//
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.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
//
this.label41.AutoSize = true;
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.Name = "label41";
this.label41.Size = new System.Drawing.Size(423, 13);
@@ -1137,7 +1233,7 @@
// ffprobeCountFrames
//
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.Size = new System.Drawing.Size(15, 14);
this.ffprobeCountFrames.TabIndex = 73;
@@ -1146,7 +1242,7 @@
// label40
//
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.Name = "label40";
this.label40.Size = new System.Drawing.Size(162, 13);
@@ -1157,7 +1253,7 @@
//
this.label38.AutoSize = true;
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.Name = "label38";
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.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.Size = new System.Drawing.Size(21, 21);
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.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.Name = "ffEncThreads";
this.ffEncThreads.Size = new System.Drawing.Size(250, 21);
@@ -1187,7 +1283,7 @@
// label37
//
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.Name = "label37";
this.label37.Size = new System.Drawing.Size(204, 13);
@@ -1271,105 +1367,6 @@
this.titleLabel.TabIndex = 1;
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
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);

View File

@@ -32,8 +32,16 @@ namespace Flowframes.Forms
}
else
{
updateBtn.Text = "Update To Latest Version!";
statusLabel.Text = "Update Available!";
if(installed < latest)
{
updateBtn.Text = "Update To Latest Version!";
statusLabel.Text = "Update Available!";
}
else
{
updateBtn.Text = "Rollback To Public Version";
statusLabel.Text = "Using Newer Version Than Latest Public Release.";
}
}
updateBtn.Enabled = true;

View File

@@ -19,7 +19,7 @@ namespace Flowframes.Main
public static async void Start()
{
stopped = false;
Program.mainForm.GetMainTabControl().SelectedIndex = 2;
Program.mainForm.SetTab("preview");
int initTaskCount = Program.batchQueue.Count;
for (int i = 0; i < initTaskCount; i++)
@@ -35,7 +35,7 @@ namespace Flowframes.Main
}
Logger.Log("[Queue] Finished queue processing.");
SetBusy(false);
Program.mainForm.GetMainTabControl().SelectedIndex = 0;
Program.mainForm.SetTab("interpolation");
}
public static void Stop()

View File

@@ -20,7 +20,7 @@ namespace Flowframes
{
public class Interpolate
{
public enum OutMode { VidMp4, VidGif, ImgPng, ImgJpg }
public enum OutMode { VidMp4, VidGif, ImgPng }
public static string currentTempDir;
static string framesPath;
@@ -29,6 +29,7 @@ namespace Flowframes
public static float currentOutFps;
public static string lastInputPath;
public static AI lastAi;
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.CheckPathValid(inPath)) return; // Check if input path/file is valid
Utils.PathAsciiCheck(inPath, outDir);
lastAi = ai;
Program.mainForm.SetStatus("Starting...");
Program.mainForm.SetWorking(true);
await Task.Delay(10);
@@ -131,8 +133,6 @@ namespace Flowframes
if (Config.GetInt("dedupMode") == 1)
await MagickDedupe.Run(framesPath);
//await Task.Delay(10000);
if (Config.GetInt("timingMode") == 1 && Config.GetInt("dedupMode") != 0)
await VfrDedupe.CreateTimecodeFile(framesPath, Config.GetBool("enableLoop"), interpFactor, firstFrameFix);
@@ -140,8 +140,11 @@ namespace Flowframes
MagickDedupe.RenameCounterDir(framesPath, "png");
MagickDedupe.ZeroPadDir(framesPath, "png", 8);
if (firstFrameFix)
IOUtils.TryCopy(new DirectoryInfo(framesPath).GetFiles("*.png")[0].FullName, Path.Combine(framesPath, "00000000.png"), true);
if (lastAi.aiName == Networks.rifeCuda.aiName)
{
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)
@@ -170,7 +173,7 @@ namespace Flowframes
if (AiProcess.processTime.IsRunning && Directory.Exists(outdir))
{
if (firstProgUpd && Program.mainForm.IsInFocus())
Program.mainForm.GetMainTabControl().SelectedIndex = 2;
Program.mainForm.SetTab("preview");
firstProgUpd = false;
string[] frames = Directory.GetFiles(outdir, $"*.{Utils.lastExt}");
if (frames.Length > 1)
@@ -197,7 +200,7 @@ namespace Flowframes
if(!Config.GetBool("keepTempFolder"))
IOUtils.TryDeleteIfExists(currentTempDir);
Program.mainForm.SetWorking(false);
Program.mainForm.mainTabControl.SelectedIndex = 0;
Program.mainForm.SetTab("interpolation");
Logger.Log("Canceled interpolation.");
if (!string.IsNullOrWhiteSpace(reason) && !noMsgBox)
Utils.ShowMessage($"Canceled:\n\n{reason}");

View File

@@ -22,10 +22,9 @@ namespace Flowframes
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;
Interpolate.firstFrameFix = needsFirstFrameFix;
InterpolateUtils.lastExt = defaultExt;
if (Config.GetBool("jpegInterps")) InterpolateUtils.lastExt = "jpg";
processTime.Restart();
@@ -134,8 +133,7 @@ namespace Flowframes
string rifeDir = Path.Combine(Paths.GetPkgPath(), Path.GetFileNameWithoutExtension(Packages.rifeCuda.fileName));
Process rifePy = OSUtils.NewProcess(!OSUtils.ShowHiddenCmd());
Logger.Log("HIDDEN: " + !OSUtils.ShowHiddenCmd());
Init(rifePy, 3000, "png", true);
Init(rifePy, 3000, "png");
string args = $" --input {framesPath.Wrap()} --times {(int)Math.Log(interpFactor, 2)}";
rifePy.StartInfo.Arguments = $"{OSUtils.GetHiddenCmdArg()} cd /D {rifeDir.Wrap()} & " +
$"set CUDA_VISIBLE_DEVICES={Config.Get("torchGpus")} & {Python.GetPyCmd()} {script} {args} --imgformat {InterpolateUtils.lastExt}";

View File

@@ -82,7 +82,7 @@ namespace Flowframes.OS
int latest = latestVer.GetInt();
int installed = GetInstalledVer();
if (installed != latest)
if (installed < latest)
Logger.Log("An update for Flowframes is available! Download it using the Updater.");
else
Logger.Log("Flowframes is up to date.");

View File

@@ -12,7 +12,7 @@ namespace Flowframes
{
static class Program
{
public const int version = 15;
public const int version = 16;
public static Form1 mainForm;

View File

@@ -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>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>

View File

@@ -121,9 +121,6 @@
<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>
</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">
<value>..\Resources\baseline_queue_white_48dp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -139,6 +136,9 @@
<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>
</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">
<value>..\Resources\questmark-72px-bordeer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -157,8 +157,8 @@
<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>
</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 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_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>
@@ -169,4 +169,7 @@
<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>
</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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 KiB

29
Code/UI/GetWebInfo.cs Normal file
View 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;
}
}
}

View File

@@ -19,7 +19,7 @@ namespace Flowframes.UI
{
string outPath = Path.ChangeExtension(videoPath, null) + "-extracted";
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());
if (withAudio)
await FFmpegCommands.ExtractAudio(videoPath, Path.Combine(outPath, "audio"));