From 071c577ba1a57fdd3f72c8d327a542de06e63032 Mon Sep 17 00:00:00 2001 From: Vaiz Date: Sat, 16 Mar 2024 13:35:55 +0100 Subject: [PATCH 01/12] update project --- GPUmembyproc/GPUmembyproc.vcxproj | 10 +++++----- qlaunch/qlaunch/qlaunch.vcxproj | 10 +++++----- whisperer/App.config | 8 ++++---- whisperer/Properties/Resources.Designer.cs | 2 +- whisperer/Properties/Settings.Designer.cs | 2 +- whisperer/whisperer.csproj | 3 ++- 6 files changed, 18 insertions(+), 17 deletions(-) diff --git a/GPUmembyproc/GPUmembyproc.vcxproj b/GPUmembyproc/GPUmembyproc.vcxproj index b1f4a2b..55f88b8 100644 --- a/GPUmembyproc/GPUmembyproc.vcxproj +++ b/GPUmembyproc/GPUmembyproc.vcxproj @@ -22,29 +22,29 @@ 15.0 {0C26F83B-359F-4A65-ACD8-55F4757E0A9B} Win32Proj - 10.0.16299.0 + 10.0 GPUmembyproc Application true - v141 + v143 Application false - v141 + v143 Application true - v141 + v143 Application false - v141 + v143 diff --git a/qlaunch/qlaunch/qlaunch.vcxproj b/qlaunch/qlaunch/qlaunch.vcxproj index 092e816..885eaa0 100644 --- a/qlaunch/qlaunch/qlaunch.vcxproj +++ b/qlaunch/qlaunch/qlaunch.vcxproj @@ -23,20 +23,20 @@ {74844A38-7133-4DA8-A75F-82460F90754B} Win32Proj qlaunch - 10.0.18362.0 + 10.0 Application true - v141 + v143 MultiByte Static Application false - v141 + v143 true MultiByte Static @@ -44,14 +44,14 @@ Application true - v141 + v143 MultiByte Static Application false - v141 + v143 true MultiByte Static diff --git a/whisperer/App.config b/whisperer/App.config index 52a8933..74f0986 100644 --- a/whisperer/App.config +++ b/whisperer/App.config @@ -1,9 +1,9 @@ - + - + - + - \ No newline at end of file + diff --git a/whisperer/Properties/Resources.Designer.cs b/whisperer/Properties/Resources.Designer.cs index 12e6cb9..a65c22c 100644 --- a/whisperer/Properties/Resources.Designer.cs +++ b/whisperer/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace whisperer.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { diff --git a/whisperer/Properties/Settings.Designer.cs b/whisperer/Properties/Settings.Designer.cs index 492c0e6..a3b8b86 100644 --- a/whisperer/Properties/Settings.Designer.cs +++ b/whisperer/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace whisperer.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.9.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); diff --git a/whisperer/whisperer.csproj b/whisperer/whisperer.csproj index f42829e..e7a6fa2 100644 --- a/whisperer/whisperer.csproj +++ b/whisperer/whisperer.csproj @@ -8,11 +8,12 @@ WinExe whisperer whisperer - v4.5.1 + v4.8 512 true + AnyCPU From 453a35a1f14fd9b43fd9e0e98c37d0cafbc6676f Mon Sep 17 00:00:00 2001 From: Vaiz Date: Sat, 16 Mar 2024 13:44:43 +0100 Subject: [PATCH 02/12] rename button3 to goButton --- whisperer/Form1.Designer.cs | 26 +++++++++++++------------- whisperer/Form1.cs | 8 ++++---- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/whisperer/Form1.Designer.cs b/whisperer/Form1.Designer.cs index 6b21825..dfc4ea3 100644 --- a/whisperer/Form1.Designer.cs +++ b/whisperer/Form1.Designer.cs @@ -35,7 +35,7 @@ private void InitializeComponent() this.fastObjectListView1 = new BrightIdeasSoftware.FastObjectListView(); this.olvColumn1 = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); this.button2 = new System.Windows.Forms.Button(); - this.button3 = new System.Windows.Forms.Button(); + this.goButton = new System.Windows.Forms.Button(); this.label1 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.textBox1 = new System.Windows.Forms.TextBox(); @@ -143,16 +143,16 @@ private void InitializeComponent() // // button3 // - this.button3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.button3.Font = new System.Drawing.Font("Calibri", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.button3.Location = new System.Drawing.Point(213, 454); - this.button3.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.button3.Name = "button3"; - this.button3.Size = new System.Drawing.Size(101, 25); - this.button3.TabIndex = 32; - this.button3.Text = "Go"; - this.button3.UseVisualStyleBackColor = true; - this.button3.Click += new System.EventHandler(this.button3_Click); + this.goButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.goButton.Font = new System.Drawing.Font("Calibri", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.goButton.Location = new System.Drawing.Point(213, 454); + this.goButton.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.goButton.Name = "button3"; + this.goButton.Size = new System.Drawing.Size(101, 25); + this.goButton.TabIndex = 32; + this.goButton.Text = "Go"; + this.goButton.UseVisualStyleBackColor = true; + this.goButton.Click += new System.EventHandler(this.button3_Click); // // label1 // @@ -565,7 +565,7 @@ private void InitializeComponent() this.Controls.Add(this.textBox1); this.Controls.Add(this.label2); this.Controls.Add(this.label1); - this.Controls.Add(this.button3); + this.Controls.Add(this.goButton); this.Controls.Add(this.button2); this.Controls.Add(this.fastObjectListView1); this.Controls.Add(this.button1); @@ -589,7 +589,7 @@ private void InitializeComponent() private BrightIdeasSoftware.FastObjectListView fastObjectListView1; private BrightIdeasSoftware.OLVColumn olvColumn1; private System.Windows.Forms.Button button2; - private System.Windows.Forms.Button button3; + private System.Windows.Forms.Button goButton; private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label2; private System.Windows.Forms.TextBox textBox1; diff --git a/whisperer/Form1.cs b/whisperer/Form1.cs index f2be839..ae7c4b5 100644 --- a/whisperer/Form1.cs +++ b/whisperer/Form1.cs @@ -701,7 +701,7 @@ void button3_Click(object sender, EventArgs e) { try { - if (button3.Text == "Go") + if (goButton.Text == "Go") { if (fastObjectListView1.SelectedObjects.Count == 0 && textBox3.Text.Trim() == "") { @@ -752,7 +752,7 @@ void button3_Click(object sender, EventArgs e) foreach (filenameline filename in fastObjectListView1.SelectedObjects) glbarray.Add(filename.filename); cancel = false; - button3.Text = "Cancel"; + goButton.Text = "Cancel"; completed = 0; label5.Text = "0"; glbsamefolder = checkBox3.Checked; @@ -776,7 +776,7 @@ void button3_Click(object sender, EventArgs e) quitq = true; Invoke(new Action(() => { - button3.Text = "Go"; + goButton.Text = "Go"; timer1.Enabled = false; whendone(); })); @@ -910,7 +910,7 @@ void watchwait() using (var stream = new NamedPipeServerStream("whispererwatchpipe", PipeDirection.InOut)) stream.WaitForConnection(); - if (button3.Text == "Go") + if (goButton.Text == "Go") { Program.iswatch = true; Invoke(new Action(() => From 2850495786f96dd8c24f6dc0a39bd1997920b785 Mon Sep 17 00:00:00 2001 From: Vaiz Date: Sat, 16 Mar 2024 13:46:07 +0100 Subject: [PATCH 03/12] rename textBox2 to modelPathTextBox --- whisperer/Form1.Designer.cs | 22 +++++++++++----------- whisperer/Form1.cs | 8 ++++---- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/whisperer/Form1.Designer.cs b/whisperer/Form1.Designer.cs index dfc4ea3..c29183a 100644 --- a/whisperer/Form1.Designer.cs +++ b/whisperer/Form1.Designer.cs @@ -43,7 +43,7 @@ private void InitializeComponent() this.label4 = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label(); this.checkBox1 = new System.Windows.Forms.CheckBox(); - this.textBox2 = new System.Windows.Forms.TextBox(); + this.modelPathTextBox = new System.Windows.Forms.TextBox(); this.checkBox2 = new System.Windows.Forms.CheckBox(); this.label6 = new System.Windows.Forms.Label(); this.comboBox1 = new System.Windows.Forms.ComboBox(); @@ -237,14 +237,14 @@ private void InitializeComponent() // // textBox2 // - this.textBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.textBox2.Font = new System.Drawing.Font("Calibri", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.textBox2.Location = new System.Drawing.Point(299, 421); - this.textBox2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.textBox2.Name = "textBox2"; - this.textBox2.Size = new System.Drawing.Size(188, 23); - this.textBox2.TabIndex = 41; - this.textBox2.Text = "P:\\Models\\ggml-base.bin"; + this.modelPathTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.modelPathTextBox.Font = new System.Drawing.Font("Calibri", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.modelPathTextBox.Location = new System.Drawing.Point(299, 421); + this.modelPathTextBox.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.modelPathTextBox.Name = "textBox2"; + this.modelPathTextBox.Size = new System.Drawing.Size(188, 23); + this.modelPathTextBox.TabIndex = 41; + this.modelPathTextBox.Text = "P:\\Models\\ggml-base.bin"; // // checkBox2 // @@ -557,7 +557,7 @@ private void InitializeComponent() this.Controls.Add(this.comboBox1); this.Controls.Add(this.label6); this.Controls.Add(this.checkBox2); - this.Controls.Add(this.textBox2); + this.Controls.Add(this.modelPathTextBox); this.Controls.Add(this.checkBox1); this.Controls.Add(this.label5); this.Controls.Add(this.label4); @@ -597,7 +597,7 @@ private void InitializeComponent() private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label5; private System.Windows.Forms.CheckBox checkBox1; - private System.Windows.Forms.TextBox textBox2; + private System.Windows.Forms.TextBox modelPathTextBox; private System.Windows.Forms.CheckBox checkBox2; private System.Windows.Forms.Label label6; private System.Windows.Forms.ComboBox comboBox1; diff --git a/whisperer/Form1.cs b/whisperer/Form1.cs index ae7c4b5..47b006e 100644 --- a/whisperer/Form1.cs +++ b/whisperer/Form1.cs @@ -144,7 +144,7 @@ void loadsettings() { Cursor = Cursors.WaitCursor; textBox1.Text = readreg("outputdir", textBox1.Text); - textBox2.Text = readreg("modelpath", textBox2.Text); + modelPathTextBox.Text = readreg("modelpath", modelPathTextBox.Text); comboBox1.Text = toproper(readreg("language", "English")); checkBox4.Checked = Convert.ToBoolean(readreg("srt", "True")); checkBox5.Checked = Convert.ToBoolean(readreg("txt", "False")); @@ -713,7 +713,7 @@ void button3_Click(object sender, EventArgs e) if (!checkdir()) return; glbarray.Clear(); - glbmodel = textBox2.Text; + glbmodel = modelPathTextBox.Text; if (!File.Exists(glbmodel)) { ShowError(glbmodel + " not found!"); @@ -840,7 +840,7 @@ void checkBox3_CheckedChanged(object sender, EventArgs e) void button4_Click(object sender, EventArgs e) { if (openFileDialog2.ShowDialog() == DialogResult.OK) - textBox2.Text = openFileDialog2.FileName; + modelPathTextBox.Text = openFileDialog2.FileName; } void button5_Click(object sender, EventArgs e) @@ -865,7 +865,7 @@ void savefilelist() void savesettings() { - writereg("modelpath", textBox2.Text); + writereg("modelpath", modelPathTextBox.Text); writereg("outputdir", textBox1.Text); writereg("language", comboBox1.Text); writereg("srt", checkBox4.Checked.ToString()); From 4e6a741c87642b223b581885ed2238c877a2ee4f Mon Sep 17 00:00:00 2001 From: Vaiz Date: Sat, 16 Mar 2024 13:50:08 +0100 Subject: [PATCH 04/12] rename subtitle checkboxes --- whisperer/Form1.Designer.cs | 82 ++++++++++++++++++------------------- whisperer/Form1.cs | 32 +++++++-------- 2 files changed, 57 insertions(+), 57 deletions(-) diff --git a/whisperer/Form1.Designer.cs b/whisperer/Form1.Designer.cs index c29183a..48ef7ec 100644 --- a/whisperer/Form1.Designer.cs +++ b/whisperer/Form1.Designer.cs @@ -52,9 +52,9 @@ private void InitializeComponent() this.checkBox3 = new System.Windows.Forms.CheckBox(); this.label8 = new System.Windows.Forms.Label(); this.comboBox2 = new System.Windows.Forms.ComboBox(); - this.checkBox4 = new System.Windows.Forms.CheckBox(); - this.checkBox5 = new System.Windows.Forms.CheckBox(); - this.checkBox6 = new System.Windows.Forms.CheckBox(); + this.srtCheckBox = new System.Windows.Forms.CheckBox(); + this.txtCheckBox = new System.Windows.Forms.CheckBox(); + this.vttCheckBox = new System.Windows.Forms.CheckBox(); this.openFileDialog2 = new System.Windows.Forms.OpenFileDialog(); this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog(); this.button4 = new System.Windows.Forms.Button(); @@ -361,44 +361,44 @@ private void InitializeComponent() // // checkBox4 // - this.checkBox4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.checkBox4.AutoSize = true; - this.checkBox4.Checked = true; - this.checkBox4.CheckState = System.Windows.Forms.CheckState.Checked; - this.checkBox4.Font = new System.Drawing.Font("Calibri", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.checkBox4.Location = new System.Drawing.Point(153, 422); - this.checkBox4.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.checkBox4.Name = "checkBox4"; - this.checkBox4.Size = new System.Drawing.Size(45, 21); - this.checkBox4.TabIndex = 50; - this.checkBox4.Text = "srt"; - this.checkBox4.UseVisualStyleBackColor = true; + this.srtCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.srtCheckBox.AutoSize = true; + this.srtCheckBox.Checked = true; + this.srtCheckBox.CheckState = System.Windows.Forms.CheckState.Checked; + this.srtCheckBox.Font = new System.Drawing.Font("Calibri", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.srtCheckBox.Location = new System.Drawing.Point(153, 422); + this.srtCheckBox.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.srtCheckBox.Name = "checkBox4"; + this.srtCheckBox.Size = new System.Drawing.Size(45, 21); + this.srtCheckBox.TabIndex = 50; + this.srtCheckBox.Text = "srt"; + this.srtCheckBox.UseVisualStyleBackColor = true; // // checkBox5 // - this.checkBox5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.checkBox5.AutoSize = true; - this.checkBox5.Font = new System.Drawing.Font("Calibri", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.checkBox5.Location = new System.Drawing.Point(153, 445); - this.checkBox5.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.checkBox5.Name = "checkBox5"; - this.checkBox5.Size = new System.Drawing.Size(46, 21); - this.checkBox5.TabIndex = 51; - this.checkBox5.Text = "txt"; - this.checkBox5.UseVisualStyleBackColor = true; + this.txtCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.txtCheckBox.AutoSize = true; + this.txtCheckBox.Font = new System.Drawing.Font("Calibri", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.txtCheckBox.Location = new System.Drawing.Point(153, 445); + this.txtCheckBox.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.txtCheckBox.Name = "checkBox5"; + this.txtCheckBox.Size = new System.Drawing.Size(46, 21); + this.txtCheckBox.TabIndex = 51; + this.txtCheckBox.Text = "txt"; + this.txtCheckBox.UseVisualStyleBackColor = true; // // checkBox6 // - this.checkBox6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.checkBox6.AutoSize = true; - this.checkBox6.Font = new System.Drawing.Font("Calibri", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.checkBox6.Location = new System.Drawing.Point(153, 467); - this.checkBox6.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.checkBox6.Name = "checkBox6"; - this.checkBox6.Size = new System.Drawing.Size(45, 21); - this.checkBox6.TabIndex = 52; - this.checkBox6.Text = "vtt"; - this.checkBox6.UseVisualStyleBackColor = true; + this.vttCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.vttCheckBox.AutoSize = true; + this.vttCheckBox.Font = new System.Drawing.Font("Calibri", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.vttCheckBox.Location = new System.Drawing.Point(153, 467); + this.vttCheckBox.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.vttCheckBox.Name = "checkBox6"; + this.vttCheckBox.Size = new System.Drawing.Size(45, 21); + this.vttCheckBox.TabIndex = 52; + this.vttCheckBox.Text = "vtt"; + this.vttCheckBox.UseVisualStyleBackColor = true; // // openFileDialog2 // @@ -546,9 +546,9 @@ private void InitializeComponent() this.Controls.Add(this.label9); this.Controls.Add(this.button5); this.Controls.Add(this.button4); - this.Controls.Add(this.checkBox6); - this.Controls.Add(this.checkBox5); - this.Controls.Add(this.checkBox4); + this.Controls.Add(this.vttCheckBox); + this.Controls.Add(this.txtCheckBox); + this.Controls.Add(this.srtCheckBox); this.Controls.Add(this.comboBox2); this.Controls.Add(this.label8); this.Controls.Add(this.checkBox3); @@ -606,9 +606,9 @@ private void InitializeComponent() private System.Windows.Forms.CheckBox checkBox3; private System.Windows.Forms.Label label8; private System.Windows.Forms.ComboBox comboBox2; - private System.Windows.Forms.CheckBox checkBox4; - private System.Windows.Forms.CheckBox checkBox5; - private System.Windows.Forms.CheckBox checkBox6; + private System.Windows.Forms.CheckBox srtCheckBox; + private System.Windows.Forms.CheckBox txtCheckBox; + private System.Windows.Forms.CheckBox vttCheckBox; private System.Windows.Forms.OpenFileDialog openFileDialog2; private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1; private System.Windows.Forms.Button button4; diff --git a/whisperer/Form1.cs b/whisperer/Form1.cs index 47b006e..56a2985 100644 --- a/whisperer/Form1.cs +++ b/whisperer/Form1.cs @@ -102,9 +102,9 @@ void Form1_Load(object sender, EventArgs e) loadsettings(); - checkBox4.CheckedChanged += outputtype_CheckedChanged; - checkBox5.CheckedChanged += outputtype_CheckedChanged; - checkBox6.CheckedChanged += outputtype_CheckedChanged; + srtCheckBox.CheckedChanged += outputtype_CheckedChanged; + txtCheckBox.CheckedChanged += outputtype_CheckedChanged; + vttCheckBox.CheckedChanged += outputtype_CheckedChanged; if (totmem == 0) { @@ -146,9 +146,9 @@ void loadsettings() textBox1.Text = readreg("outputdir", textBox1.Text); modelPathTextBox.Text = readreg("modelpath", modelPathTextBox.Text); comboBox1.Text = toproper(readreg("language", "English")); - checkBox4.Checked = Convert.ToBoolean(readreg("srt", "True")); - checkBox5.Checked = Convert.ToBoolean(readreg("txt", "False")); - checkBox6.Checked = Convert.ToBoolean(readreg("vtt", "False")); + srtCheckBox.Checked = Convert.ToBoolean(readreg("srt", "True")); + txtCheckBox.Checked = Convert.ToBoolean(readreg("txt", "False")); + vttCheckBox.Checked = Convert.ToBoolean(readreg("vtt", "False")); numericUpDown1.Value = Convert.ToDecimal(readreg("maxatonce", "10")); comboBox2.Text = readreg("whendone", "Do nothing"); checkBox3.Checked = Convert.ToBoolean(readreg("sameasinputfolder", "False")); @@ -173,7 +173,7 @@ string toproper(string s) void outputtype_CheckedChanged(object sender, EventArgs e) { CheckBox clickedCheckBox = sender as CheckBox; - if (!clickedCheckBox.Checked && !checkBox4.Checked && !checkBox5.Checked && !checkBox6.Checked) + if (!clickedCheckBox.Checked && !srtCheckBox.Checked && !txtCheckBox.Checked && !vttCheckBox.Checked) { clickedCheckBox.CheckedChanged -= outputtype_CheckedChanged; clickedCheckBox.Checked = true; @@ -336,11 +336,11 @@ bool outputexists(string filename) filename = filename.Remove(filename.LastIndexOf('.')); bool res = true; - if (checkBox4.Checked) + if (srtCheckBox.Checked) res = File.Exists(filename + ".srt"); - if (checkBox5.Checked) + if (txtCheckBox.Checked) res &= File.Exists(filename + ".txt"); - if (checkBox6.Checked) + if (vttCheckBox.Checked) res &= File.Exists(filename + ".vtt"); return res; } @@ -440,11 +440,11 @@ void qwhisper(string filename) proc.StartInfo.FileName = "main.exe"; string outtypes = ""; - if (checkBox4.Checked) + if (srtCheckBox.Checked) outtypes = "--output-srt "; - if (checkBox5.Checked) + if (txtCheckBox.Checked) outtypes += "--output-txt "; - if (checkBox6.Checked) + if (vttCheckBox.Checked) outtypes += "--output-vtt "; string prompt = " "; @@ -868,9 +868,9 @@ void savesettings() writereg("modelpath", modelPathTextBox.Text); writereg("outputdir", textBox1.Text); writereg("language", comboBox1.Text); - writereg("srt", checkBox4.Checked.ToString()); - writereg("txt", checkBox5.Checked.ToString()); - writereg("vtt", checkBox6.Checked.ToString()); + writereg("srt", srtCheckBox.Checked.ToString()); + writereg("txt", txtCheckBox.Checked.ToString()); + writereg("vtt", vttCheckBox.Checked.ToString()); writereg("maxatonce", numericUpDown1.Value.ToString()); writereg("whendone", comboBox2.Text); writereg("sameasinputfolder", checkBox3.Checked.ToString()); From b67083d9c9551fe4a40c618865e410c62796b177 Mon Sep 17 00:00:00 2001 From: Vaiz Date: Sat, 16 Mar 2024 13:56:34 +0100 Subject: [PATCH 05/12] rename checkBox1 to skipIfExistCheckBox --- whisperer/Form1.Designer.cs | 30 +++++++++++++++--------------- whisperer/Form1.cs | 6 +++--- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/whisperer/Form1.Designer.cs b/whisperer/Form1.Designer.cs index 48ef7ec..f517974 100644 --- a/whisperer/Form1.Designer.cs +++ b/whisperer/Form1.Designer.cs @@ -42,7 +42,7 @@ private void InitializeComponent() this.label3 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label(); - this.checkBox1 = new System.Windows.Forms.CheckBox(); + this.skipIfExistCheckBox = new System.Windows.Forms.CheckBox(); this.modelPathTextBox = new System.Windows.Forms.TextBox(); this.checkBox2 = new System.Windows.Forms.CheckBox(); this.label6 = new System.Windows.Forms.Label(); @@ -222,18 +222,18 @@ private void InitializeComponent() // // checkBox1 // - this.checkBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.checkBox1.AutoSize = true; - this.checkBox1.Checked = true; - this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked; - this.checkBox1.Font = new System.Drawing.Font("Calibri", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.checkBox1.Location = new System.Drawing.Point(619, 475); - this.checkBox1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.checkBox1.Name = "checkBox1"; - this.checkBox1.Size = new System.Drawing.Size(137, 21); - this.checkBox1.TabIndex = 40; - this.checkBox1.Text = "Skip if output exists"; - this.checkBox1.UseVisualStyleBackColor = true; + this.skipIfExistCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.skipIfExistCheckBox.AutoSize = true; + this.skipIfExistCheckBox.Checked = true; + this.skipIfExistCheckBox.CheckState = System.Windows.Forms.CheckState.Checked; + this.skipIfExistCheckBox.Font = new System.Drawing.Font("Calibri", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.skipIfExistCheckBox.Location = new System.Drawing.Point(619, 475); + this.skipIfExistCheckBox.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.skipIfExistCheckBox.Name = "checkBox1"; + this.skipIfExistCheckBox.Size = new System.Drawing.Size(137, 21); + this.skipIfExistCheckBox.TabIndex = 40; + this.skipIfExistCheckBox.Text = "Skip if output exists"; + this.skipIfExistCheckBox.UseVisualStyleBackColor = true; // // textBox2 // @@ -558,7 +558,7 @@ private void InitializeComponent() this.Controls.Add(this.label6); this.Controls.Add(this.checkBox2); this.Controls.Add(this.modelPathTextBox); - this.Controls.Add(this.checkBox1); + this.Controls.Add(this.skipIfExistCheckBox); this.Controls.Add(this.label5); this.Controls.Add(this.label4); this.Controls.Add(this.label3); @@ -596,7 +596,7 @@ private void InitializeComponent() private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label5; - private System.Windows.Forms.CheckBox checkBox1; + private System.Windows.Forms.CheckBox skipIfExistCheckBox; private System.Windows.Forms.TextBox modelPathTextBox; private System.Windows.Forms.CheckBox checkBox2; private System.Windows.Forms.Label label6; diff --git a/whisperer/Form1.cs b/whisperer/Form1.cs index 56a2985..ce82279 100644 --- a/whisperer/Form1.cs +++ b/whisperer/Form1.cs @@ -152,7 +152,7 @@ void loadsettings() numericUpDown1.Value = Convert.ToDecimal(readreg("maxatonce", "10")); comboBox2.Text = readreg("whendone", "Do nothing"); checkBox3.Checked = Convert.ToBoolean(readreg("sameasinputfolder", "False")); - checkBox1.Checked = Convert.ToBoolean(readreg("skipifexists", "True")); + skipIfExistCheckBox.Checked = Convert.ToBoolean(readreg("skipifexists", "True")); checkBox2.Checked = Convert.ToBoolean(readreg("translate", "False")); textBox3.Text = readreg("watchfolders", textBox3.Text); textBox4.Text = readreg("prompt", textBox4.Text); @@ -328,7 +328,7 @@ long getwhispersize(bool filltotmem = false) bool outputexists(string filename) { - if (!checkBox1.Checked && !Program.iswatch) + if (!skipIfExistCheckBox.Checked && !Program.iswatch) return false; filename = filename.Remove(filename.LastIndexOf('.')); @@ -874,7 +874,7 @@ void savesettings() writereg("maxatonce", numericUpDown1.Value.ToString()); writereg("whendone", comboBox2.Text); writereg("sameasinputfolder", checkBox3.Checked.ToString()); - writereg("skipifexists", checkBox1.Checked.ToString()); + writereg("skipifexists", skipIfExistCheckBox.Checked.ToString()); writereg("translate", checkBox2.Checked.ToString()); writereg("watchfolders", textBox3.Text); writereg("prompt", textBox4.Text); From 753e81a48decde01f6a8ec762012feb3c4a78d7c Mon Sep 17 00:00:00 2001 From: Vaiz Date: Sat, 16 Mar 2024 14:29:22 +0100 Subject: [PATCH 06/12] check main.exe exit code --- whisperer/Form1.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/whisperer/Form1.cs b/whisperer/Form1.cs index ce82279..20e52bd 100644 --- a/whisperer/Form1.cs +++ b/whisperer/Form1.cs @@ -537,6 +537,10 @@ void whisper_Exited(object sender, EventArgs e) { try { + var proc = sender as Process; + if (proc.ExitCode != 0) + ShowError($"main.exe has finished with error. Exit code: {proc.ExitCode}"); + string filename = getfilename((Process)sender); if (File.Exists(filename)) File.Delete(filename); From 1848f865785e7785c23d6c6dd678cf40dab272d4 Mon Sep 17 00:00:00 2001 From: Vaiz Date: Sat, 16 Mar 2024 18:52:25 +0100 Subject: [PATCH 07/12] Caputre and show error output --- whisperer/Form1.cs | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/whisperer/Form1.cs b/whisperer/Form1.cs index 20e52bd..00cc715 100644 --- a/whisperer/Form1.cs +++ b/whisperer/Form1.cs @@ -121,7 +121,7 @@ bool IsAtLeastWindows10() try { string productName = (string)Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "ProductName", ""); - return productName.Contains("Windows 1") || productName.Contains("Windows 2") || productName.Contains("Windows 3"); + return productName.Contains("Windows 1") || productName.Contains("Windows 2") || productName.Contains("Windows 3"); } catch { } @@ -434,6 +434,7 @@ void qwhisper(string filename) while (Process.GetProcessesByName("main").Length >= numericUpDown1.Value && !cancel) Thread.Sleep(1000); Process proc = new Process(); + string errorOutput = ""; string translate = " "; if (checkBox2.Checked) translate = " -tr "; @@ -455,10 +456,20 @@ void qwhisper(string filename) glbmodel + "\"" + prompt + "\"" + filename + "\""; proc.StartInfo.UseShellExecute = false; proc.StartInfo.CreateNoWindow = true; + proc.StartInfo.RedirectStandardError = true; + proc.ErrorDataReceived += (sender, e) => + { + if (!string.IsNullOrEmpty(e.Data)) + { + Debug.WriteLine(e.Data); + errorOutput += e.Data; + errorOutput += "\n"; + } + }; if (outputexists(filename)) { - whisper_Exited(proc, null); + whisper_Exited(proc, null, null); return; } if (!File.Exists(filename)) @@ -482,8 +493,11 @@ void qwhisper(string filename) int wlen = Process.GetProcessesByName("main").Length; proc.EnableRaisingEvents = true; - proc.Exited += whisper_Exited; + proc.Exited += (sender, e) => { whisper_Exited(sender, e, errorOutput); }; + + Debug.WriteLine($"Starting main.exe. Arguments: {proc.StartInfo.Arguments}"); proc.Start(); + proc.BeginErrorReadLine(); while (Process.GetProcessesByName("main").Length == wlen) Thread.Sleep(10); @@ -533,14 +547,16 @@ string getfilename(Process p) return filename.Substring(filename.LastIndexOf('"') + 1); } - void whisper_Exited(object sender, EventArgs e) + void whisper_Exited(object sender, EventArgs e, string errorOutput) { try { - var proc = sender as Process; + var proc = sender as Process; if (proc.ExitCode != 0) - ShowError($"main.exe has finished with error. Exit code: {proc.ExitCode}"); - + { + ShowError($"main.exe has finished with error. Exit code: {proc.ExitCode}\n\n{errorOutput}"); + } + string filename = getfilename((Process)sender); if (File.Exists(filename)) File.Delete(filename); @@ -672,7 +688,7 @@ bool isagen(string[] exts, ref string fname) ".IT", ".KAR", ".M4A", ".M4B", ".M4P", ".M4R", ".M5P", ".MID", ".MKA", ".MLP", ".MOD", ".MPA", ".MP1", ".MP2", ".MP3", ".MPC", ".MPGA", ".MUS", ".OGA", ".OGG", ".OMA", ".OPUS", ".QCP", ".RA", ".RMI", ".S3M", ".SID", ".SPX", ".TAK", ".THD", ".TTA", ".VOC", ".VOX", ".VQF", ".W64", ".WAV", ".WMA", ".WV", ".XA", ".XM" }; - + readonly string[] videoext = {".3G2", ".3GP", ".3GP2", ".3GPP", ".AMV", ".ASF", ".AVI", ".BIK", ".BIN", ".CRF", ".DIVX", ".DRC", ".DV", ".DVR-MS", ".EVO", ".F4V", ".FLV", ".GVI", ".GXF", ".ISO", ".M1V", ".M2V", ".M2T", ".M2TS", ".M4V", ".MKV", ".MOV", ".MP2", ".MP2V", ".MP4", ".MP4V", ".MPE", ".MPEG", ".MPEG1", From 5459fcd4389323dd8314c2cd68aa58f562541a37 Mon Sep 17 00:00:00 2001 From: Vaiz Date: Sat, 16 Mar 2024 19:20:16 +0100 Subject: [PATCH 08/12] enable goButton only after loading performance counters --- whisperer/Form1.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/whisperer/Form1.cs b/whisperer/Form1.cs index 00cc715..c257702 100644 --- a/whisperer/Form1.cs +++ b/whisperer/Form1.cs @@ -69,6 +69,8 @@ void Form1_Load(object sender, EventArgs e) return; } + goButton.Enabled = false; + Thread thr = new Thread(initperfcounter); thr.IsBackground = true; thr.Start(); @@ -216,6 +218,8 @@ void initperfcounter() { try { + Debug.WriteLine("Initializing GPU counters..."); + var category = new PerformanceCounterCategory("GPU Adapter Memory"); var counterNames = category.GetInstanceNames(); foreach (string counterName in counterNames) @@ -223,9 +227,15 @@ void initperfcounter() foreach (var counter in category.GetCounters(counterName)) { if (counter.CounterName == "Dedicated Usage") + { + Debug.WriteLine($" {counter.InstanceName}"); gpuCountersDedicated.Add(counter); + } } } + + Debug.WriteLine("GPU counters have been initialized"); + goButton.BeginInvoke((Action)delegate { goButton.Enabled = true; }); } catch (Exception ex) { @@ -238,9 +248,12 @@ void initperfcounter() long getfreegpumem() { var result = 0f; + Debug.WriteLine("Calculating free VRAM..."); gpuCountersDedicated.ForEach(x => { - result += x.NextValue(); + float value = x.NextValue(); + Debug.WriteLine($" {x.CounterName}: {value}"); + result += value; }); return Convert.ToInt64(totmem - result); } From 3be80366dde6ce854b2dedb1e2b10aedc14c4fbf Mon Sep 17 00:00:00 2001 From: Vaiz Date: Sun, 17 Mar 2024 09:24:19 +0100 Subject: [PATCH 09/12] register GPUmembyproc as a build dependency for whisperer --- whisperer.sln | 3 +++ 1 file changed, 3 insertions(+) diff --git a/whisperer.sln b/whisperer.sln index 9f7084a..09bf3e3 100644 --- a/whisperer.sln +++ b/whisperer.sln @@ -4,6 +4,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00 VisualStudioVersion = 15.0.28307.1525 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "whisperer", "whisperer\whisperer.csproj", "{1FCB32CA-014B-4C4D-9B61-D8592F3C98B8}" + ProjectSection(ProjectDependencies) = postProject + {0C26F83B-359F-4A65-ACD8-55F4757E0A9B} = {0C26F83B-359F-4A65-ACD8-55F4757E0A9B} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GPUmembyproc", "GPUmembyproc\GPUmembyproc.vcxproj", "{0C26F83B-359F-4A65-ACD8-55F4757E0A9B}" EndProject From fa6ea8f9e47e802a788ab5c4a08e2ca9e9dd6357 Mon Sep 17 00:00:00 2001 From: Vaiz Date: Sun, 17 Mar 2024 10:27:49 +0100 Subject: [PATCH 10/12] Throw exception if usedMem is larger than totmem --- whisperer/Form1.cs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/whisperer/Form1.cs b/whisperer/Form1.cs index c257702..a1d185a 100644 --- a/whisperer/Form1.cs +++ b/whisperer/Form1.cs @@ -234,7 +234,11 @@ void initperfcounter() } } - Debug.WriteLine("GPU counters have been initialized"); + Debug.WriteLine($"GPU counters have been initialized. Counters count: {gpuCountersDedicated.Count}"); + + if (gpuCountersDedicated.Count == 0) + ShowError("Failed to initialize GPU performance counters"); + goButton.BeginInvoke((Action)delegate { goButton.Enabled = true; }); } catch (Exception ex) @@ -247,15 +251,17 @@ void initperfcounter() long getfreegpumem() { - var result = 0f; + var usedMem = 0f; Debug.WriteLine("Calculating free VRAM..."); gpuCountersDedicated.ForEach(x => { float value = x.NextValue(); - Debug.WriteLine($" {x.CounterName}: {value}"); - result += value; + Debug.WriteLine($" {x.InstanceName}: {value}"); + usedMem += value; }); - return Convert.ToInt64(totmem - result); + if (totmem < usedMem) + throw new Exception($"Failed to calculate free GPU memory. Used memory: {usedMem/1024/1024} MB, Total memory: {totmem/1024/1024} MB"); + return Convert.ToInt64(totmem - usedMem); } void fillmemvars() From 8cb6d07d43c32c39bb14d8dda7bd25ff0c354a83 Mon Sep 17 00:00:00 2001 From: Vaiz Date: Sun, 17 Mar 2024 10:50:25 +0100 Subject: [PATCH 11/12] Revert "register GPUmembyproc as a build dependency for whisperer" This reverts commit 3be80366dde6ce854b2dedb1e2b10aedc14c4fbf. --- whisperer.sln | 3 --- 1 file changed, 3 deletions(-) diff --git a/whisperer.sln b/whisperer.sln index 09bf3e3..9f7084a 100644 --- a/whisperer.sln +++ b/whisperer.sln @@ -4,9 +4,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 VisualStudioVersion = 15.0.28307.1525 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "whisperer", "whisperer\whisperer.csproj", "{1FCB32CA-014B-4C4D-9B61-D8592F3C98B8}" - ProjectSection(ProjectDependencies) = postProject - {0C26F83B-359F-4A65-ACD8-55F4757E0A9B} = {0C26F83B-359F-4A65-ACD8-55F4757E0A9B} - EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GPUmembyproc", "GPUmembyproc\GPUmembyproc.vcxproj", "{0C26F83B-359F-4A65-ACD8-55F4757E0A9B}" EndProject From 0d287d4576e77525e4bf2eff3417d45a2f72a3d7 Mon Sep 17 00:00:00 2001 From: Vaiz Date: Sun, 17 Mar 2024 10:50:41 +0100 Subject: [PATCH 12/12] Revert "update project" This reverts commit 071c577ba1a57fdd3f72c8d327a542de06e63032. --- GPUmembyproc/GPUmembyproc.vcxproj | 10 +++++----- qlaunch/qlaunch/qlaunch.vcxproj | 10 +++++----- whisperer/App.config | 8 ++++---- whisperer/Properties/Resources.Designer.cs | 2 +- whisperer/Properties/Settings.Designer.cs | 2 +- whisperer/whisperer.csproj | 3 +-- 6 files changed, 17 insertions(+), 18 deletions(-) diff --git a/GPUmembyproc/GPUmembyproc.vcxproj b/GPUmembyproc/GPUmembyproc.vcxproj index 55f88b8..b1f4a2b 100644 --- a/GPUmembyproc/GPUmembyproc.vcxproj +++ b/GPUmembyproc/GPUmembyproc.vcxproj @@ -22,29 +22,29 @@ 15.0 {0C26F83B-359F-4A65-ACD8-55F4757E0A9B} Win32Proj - 10.0 + 10.0.16299.0 GPUmembyproc Application true - v143 + v141 Application false - v143 + v141 Application true - v143 + v141 Application false - v143 + v141 diff --git a/qlaunch/qlaunch/qlaunch.vcxproj b/qlaunch/qlaunch/qlaunch.vcxproj index 885eaa0..092e816 100644 --- a/qlaunch/qlaunch/qlaunch.vcxproj +++ b/qlaunch/qlaunch/qlaunch.vcxproj @@ -23,20 +23,20 @@ {74844A38-7133-4DA8-A75F-82460F90754B} Win32Proj qlaunch - 10.0 + 10.0.18362.0 Application true - v143 + v141 MultiByte Static Application false - v143 + v141 true MultiByte Static @@ -44,14 +44,14 @@ Application true - v143 + v141 MultiByte Static Application false - v143 + v141 true MultiByte Static diff --git a/whisperer/App.config b/whisperer/App.config index 74f0986..52a8933 100644 --- a/whisperer/App.config +++ b/whisperer/App.config @@ -1,9 +1,9 @@ - + - + - + - + \ No newline at end of file diff --git a/whisperer/Properties/Resources.Designer.cs b/whisperer/Properties/Resources.Designer.cs index a65c22c..12e6cb9 100644 --- a/whisperer/Properties/Resources.Designer.cs +++ b/whisperer/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace whisperer.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { diff --git a/whisperer/Properties/Settings.Designer.cs b/whisperer/Properties/Settings.Designer.cs index a3b8b86..492c0e6 100644 --- a/whisperer/Properties/Settings.Designer.cs +++ b/whisperer/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace whisperer.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.9.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); diff --git a/whisperer/whisperer.csproj b/whisperer/whisperer.csproj index e7a6fa2..f42829e 100644 --- a/whisperer/whisperer.csproj +++ b/whisperer/whisperer.csproj @@ -8,12 +8,11 @@ WinExe whisperer whisperer - v4.8 + v4.5.1 512 true - AnyCPU