mirror of
https://github.com/AntinomyCollective/Retime-Phoneme-Util-GUI.git
synced 2025-01-27 14:08:10 +03:00
1.1.0.0
This commit is contained in:
commit
fbad1e770e
@ -1,2 +1,6 @@
|
||||
# Retime-Phoneme-Uti-GUI
|
||||
.NET 7 GUI for Retime Phoneme Util
|
||||
# Retime Phoneme Util: GUI
|
||||
[![dotnet](https://img.shields.io/github/actions/workflow/status/AntinomyCollective/Retime-Phoneme-Util-GUI/dotnet.yml?style=flat-square)](https://github.com/AntinomyCollective/Retime-Phoneme-Util-GUI/actions/workflows/dotnet.yml) [![Download](https://img.shields.io/github/v/release/AntinomyCollective/Retime-Phoneme-Util-GUI?style=flat-square)](https://github.com/AntinomyCollective/Retime-Phoneme-Util-GUI/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/w/AntinomyCollective/Retime-Phoneme-Util-GUI?style=flat-square)](https://github.com/AntinomyCollective/Retime-Phoneme-Util-GUI/tree/feature/add-logic) [![Issues](https://img.shields.io/github/issues/AntinomyCollective/Retime-Phoneme-Util-GUI?style=flat-square)](http://isitmaintained.com/project/AntinomyCollective/Retime-Phoneme-Util-GUI "Percentage of issues still open") [![License: MIT](https://img.shields.io/github/license/AntinomyCollective/Retime-Phoneme-Util-GUI?style=flat-square)](LICENSE.md) <img align="right" src="https://raw.githubusercontent.com/AntinomyCollective/Retime-Phoneme-Util-GUI/feature/add-logic/src/kru.gui/favicon.png" alt="Retime Phoneme Util: GUI" width="64" />
|
||||
|
||||
|
||||
## What is this?
|
||||
This is a useful graphical user interface written by EpicMorg Team in C# (.NET 7) for original console tool named as "Retime Phoneme Util" developed by [wowks](https://forum.csmania.ru/memberlist.php?mode=viewprofile&u=59383) at forum [CSMania](https://forum.csmania.ru/viewtopic.php?t=43274).
|
||||
|
38
src/Directory.Build.props
Normal file
38
src/Directory.Build.props
Normal file
@ -0,0 +1,38 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||
<IsPackable>true</IsPackable>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<NoWarn>SA1633;SA1623;SA1600;SA1601;CS1591;SA1300</NoWarn>
|
||||
<Nullable>enable</Nullable>
|
||||
<PackageLicenseExpression>AGPL-3.0-or-later</PackageLicenseExpression>
|
||||
<PackageReadmeFile>README.md</PackageReadmeFile>
|
||||
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
|
||||
<PublishDocumentationFile>true</PublishDocumentationFile>
|
||||
<PublishDocumentationFiles>true</PublishDocumentationFiles>
|
||||
<PublishReferencesDocumentationFiles>true</PublishReferencesDocumentationFiles>
|
||||
<StyleCopTreatErrorsAsWarnings>True</StyleCopTreatErrorsAsWarnings>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\README.md" Pack="true" PackagePath="\"/>
|
||||
<PackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.435">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Roslynator.Analyzers" Version="4.2.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Roslynator.CodeAnalysis.Analyzers" Version="4.2.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Roslynator.Formatting.Analyzers" Version="4.2.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
</Project>
|
3
src/kru.gui/Core/ApplicationInfo.cs
Normal file
3
src/kru.gui/Core/ApplicationInfo.cs
Normal file
@ -0,0 +1,3 @@
|
||||
namespace kru.gui.Core;
|
||||
|
||||
internal record ApplicationInfo(string Version, string Name, string Copytrigh);
|
16
src/kru.gui/Core/ApplicationInfoProvider.cs
Normal file
16
src/kru.gui/Core/ApplicationInfoProvider.cs
Normal file
@ -0,0 +1,16 @@
|
||||
namespace kru.gui.Core;
|
||||
using System.Reflection;
|
||||
|
||||
internal static class ApplicationInfoProvider
|
||||
{
|
||||
public static ApplicationInfo GetInfo()
|
||||
{
|
||||
var assembly = Assembly.GetEntryAssembly()!;
|
||||
|
||||
var version = assembly.GetCustomAttribute<AssemblyInformationalVersionAttribute>()!.InformationalVersion;
|
||||
var name = assembly.GetCustomAttribute<AssemblyProductAttribute>()!.Product;
|
||||
var copyright = assembly.GetCustomAttribute<AssemblyCopyrightAttribute>()!.Copyright;
|
||||
|
||||
return new ApplicationInfo(version, name, copyright);
|
||||
}
|
||||
}
|
7
src/kru.gui/Core/BitnessProvider.cs
Normal file
7
src/kru.gui/Core/BitnessProvider.cs
Normal file
@ -0,0 +1,7 @@
|
||||
namespace kru.gui.Core;
|
||||
using System;
|
||||
|
||||
internal static class BitnessProvider
|
||||
{
|
||||
public static string BitnessName => Environment.Is64BitProcess ? "x64" : "x86";
|
||||
}
|
@ -1,17 +1,16 @@
|
||||
namespace ConverterGui;
|
||||
namespace kru.gui.Core;
|
||||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Reflection;
|
||||
|
||||
internal record Command(string InputFile, string OutputFile, bool Clean, bool SaveLog)
|
||||
internal record Command(string InputFile, string OutputDirectory, string? CleanDirectory, bool SaveLog)
|
||||
{
|
||||
private string ExecutablePath =>
|
||||
Path.Combine(
|
||||
Path.GetDirectoryName(System.AppContext.BaseDirectory!)!,
|
||||
@"Tools\x64\retime_phoneme.exe"
|
||||
);
|
||||
Path.GetDirectoryName(AppContext.BaseDirectory)!,
|
||||
$@"Tools\{BitnessProvider.BitnessName}\retime_phoneme.exe");
|
||||
|
||||
public string GetBatchLine() => string.Join(" ", new[] { $"\"{ExecutablePath}\"" }.Concat(GetArguments().Select(arg => $"\"{arg}\"")));
|
||||
public string GetBatchLine() => string.Join(" ", new[] { $"\"{this.ExecutablePath}\"" }.Concat(this.GetArguments().Select(arg => $"\"{arg}\"")));
|
||||
|
||||
public Process GetProcess()
|
||||
{
|
||||
@ -19,7 +18,7 @@ internal record Command(string InputFile, string OutputFile, bool Clean, bool Sa
|
||||
{
|
||||
StartInfo = new ProcessStartInfo
|
||||
{
|
||||
FileName = ExecutablePath
|
||||
FileName = this.ExecutablePath,
|
||||
},
|
||||
EnableRaisingEvents = true,
|
||||
};
|
||||
@ -27,20 +26,24 @@ internal record Command(string InputFile, string OutputFile, bool Clean, bool Sa
|
||||
{
|
||||
proc.StartInfo.ArgumentList.Add(item);
|
||||
}
|
||||
|
||||
return proc;
|
||||
}
|
||||
|
||||
private IEnumerable<string> GetArguments()
|
||||
{
|
||||
var filename = Path.GetFileName(this.InputFile);
|
||||
yield return "-s";
|
||||
yield return InputFile;
|
||||
yield return this.InputFile;
|
||||
yield return "-d";
|
||||
yield return OutputFile;
|
||||
if (Clean)
|
||||
yield return Path.Combine(this.OutputDirectory, filename);
|
||||
if (this.CleanDirectory is not null)
|
||||
{
|
||||
yield return "-oc";
|
||||
yield return Path.Combine(this.CleanDirectory, filename);
|
||||
}
|
||||
if (SaveLog)
|
||||
|
||||
if (this.SaveLog)
|
||||
{
|
||||
yield return "-l";
|
||||
}
|
@ -6,11 +6,11 @@ internal static class Program
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
private static void Main()
|
||||
{
|
||||
// To customize application configuration such as set high DPI settings or default font,
|
||||
// see https://aka.ms/applicationconfiguration.
|
||||
ApplicationConfiguration.Initialize();
|
||||
Application.Run(new frmMain());
|
||||
Application.Run(new FrmMain());
|
||||
}
|
||||
}
|
73
src/kru.gui/Properties/Resources.Designer.cs
generated
Normal file
73
src/kru.gui/Properties/Resources.Designer.cs
generated
Normal file
@ -0,0 +1,73 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace kru.gui.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// 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.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("kru.gui.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap favicon_64 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("favicon.64", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
124
src/kru.gui/Properties/Resources.resx
Normal file
124
src/kru.gui/Properties/Resources.resx
Normal file
@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="favicon.64" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\favicon.64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
BIN
src/kru.gui/favicon.64.png
Normal file
BIN
src/kru.gui/favicon.64.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.9 KiB |
202
src/kru.gui/frmAbout.Designer.cs
generated
Normal file
202
src/kru.gui/frmAbout.Designer.cs
generated
Normal file
@ -0,0 +1,202 @@
|
||||
namespace kru.gui
|
||||
{
|
||||
partial class FrmAbout
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmAbout));
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.labelCopy = new System.Windows.Forms.Label();
|
||||
this.linkLabelSource = new System.Windows.Forms.LinkLabel();
|
||||
this.linkLabelwowks = new System.Windows.Forms.LinkLabel();
|
||||
this.buttonOK = new System.Windows.Forms.Button();
|
||||
this.labelappName = new System.Windows.Forms.Label();
|
||||
this.labelappVer = new System.Windows.Forms.Label();
|
||||
this.linkLabelGitHub = new System.Windows.Forms.LinkLabel();
|
||||
this.linkLabelFreepik = new System.Windows.Forms.LinkLabel();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.Image = global::kru.gui.Properties.Resources.favicon_64;
|
||||
this.pictureBox1.Location = new System.Drawing.Point(12, 12);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(64, 64);
|
||||
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.pictureBox1.TabIndex = 0;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(12, 109);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(90, 15);
|
||||
this.label1.TabIndex = 1;
|
||||
this.label1.Text = "Original author:";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(12, 124);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(90, 15);
|
||||
this.label2.TabIndex = 2;
|
||||
this.label2.Text = "Original source:";
|
||||
//
|
||||
// labelCopy
|
||||
//
|
||||
this.labelCopy.AutoSize = true;
|
||||
this.labelCopy.Location = new System.Drawing.Point(82, 44);
|
||||
this.labelCopy.Name = "labelCopy";
|
||||
this.labelCopy.Size = new System.Drawing.Size(58, 15);
|
||||
this.labelCopy.TabIndex = 3;
|
||||
this.labelCopy.Text = "copyright";
|
||||
//
|
||||
// linkLabelSource
|
||||
//
|
||||
this.linkLabelSource.AutoSize = true;
|
||||
this.linkLabelSource.Location = new System.Drawing.Point(108, 124);
|
||||
this.linkLabelSource.Name = "linkLabelSource";
|
||||
this.linkLabelSource.Size = new System.Drawing.Size(268, 15);
|
||||
this.linkLabelSource.TabIndex = 4;
|
||||
this.linkLabelSource.TabStop = true;
|
||||
this.linkLabelSource.Text = "https://forum.csmania.ru/viewtopic.php?t=43274";
|
||||
this.linkLabelSource.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelSource_LinkClicked);
|
||||
//
|
||||
// linkLabelwowks
|
||||
//
|
||||
this.linkLabelwowks.AutoSize = true;
|
||||
this.linkLabelwowks.Location = new System.Drawing.Point(108, 109);
|
||||
this.linkLabelwowks.Name = "linkLabelwowks";
|
||||
this.linkLabelwowks.Size = new System.Drawing.Size(43, 15);
|
||||
this.linkLabelwowks.TabIndex = 4;
|
||||
this.linkLabelwowks.TabStop = true;
|
||||
this.linkLabelwowks.Text = "wowks";
|
||||
this.linkLabelwowks.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelwowks_LinkClicked);
|
||||
//
|
||||
// buttonOK
|
||||
//
|
||||
this.buttonOK.Location = new System.Drawing.Point(316, 12);
|
||||
this.buttonOK.Name = "buttonOK";
|
||||
this.buttonOK.Size = new System.Drawing.Size(75, 23);
|
||||
this.buttonOK.TabIndex = 5;
|
||||
this.buttonOK.Text = "OK";
|
||||
this.buttonOK.UseVisualStyleBackColor = true;
|
||||
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
|
||||
//
|
||||
// labelappName
|
||||
//
|
||||
this.labelappName.AutoSize = true;
|
||||
this.labelappName.Font = new System.Drawing.Font("Segoe UI Semibold", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
|
||||
this.labelappName.Location = new System.Drawing.Point(82, 9);
|
||||
this.labelappName.Name = "labelappName";
|
||||
this.labelappName.Size = new System.Drawing.Size(76, 20);
|
||||
this.labelappName.TabIndex = 6;
|
||||
this.labelappName.Text = "appName";
|
||||
//
|
||||
// labelappVer
|
||||
//
|
||||
this.labelappVer.AutoSize = true;
|
||||
this.labelappVer.Font = new System.Drawing.Font("Segoe UI Semibold", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
|
||||
this.labelappVer.Location = new System.Drawing.Point(82, 29);
|
||||
this.labelappVer.Name = "labelappVer";
|
||||
this.labelappVer.Size = new System.Drawing.Size(44, 15);
|
||||
this.labelappVer.TabIndex = 6;
|
||||
this.labelappVer.Text = "appVer";
|
||||
//
|
||||
// linkLabelGitHub
|
||||
//
|
||||
this.linkLabelGitHub.AutoSize = true;
|
||||
this.linkLabelGitHub.Location = new System.Drawing.Point(316, 38);
|
||||
this.linkLabelGitHub.Name = "linkLabelGitHub";
|
||||
this.linkLabelGitHub.Size = new System.Drawing.Size(45, 15);
|
||||
this.linkLabelGitHub.TabIndex = 7;
|
||||
this.linkLabelGitHub.TabStop = true;
|
||||
this.linkLabelGitHub.Text = "GitHub";
|
||||
this.linkLabelGitHub.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelGitHub_LinkClicked);
|
||||
//
|
||||
// linkLabelFreepik
|
||||
//
|
||||
this.linkLabelFreepik.AutoSize = true;
|
||||
this.linkLabelFreepik.Location = new System.Drawing.Point(12, 79);
|
||||
this.linkLabelFreepik.Name = "linkLabelFreepik";
|
||||
this.linkLabelFreepik.Size = new System.Drawing.Size(45, 15);
|
||||
this.linkLabelFreepik.TabIndex = 7;
|
||||
this.linkLabelFreepik.TabStop = true;
|
||||
this.linkLabelFreepik.Text = "Freepik";
|
||||
this.linkLabelFreepik.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelFreepik_LinkClicked);
|
||||
//
|
||||
// frmAbout
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(403, 148);
|
||||
this.Controls.Add(this.linkLabelFreepik);
|
||||
this.Controls.Add(this.linkLabelGitHub);
|
||||
this.Controls.Add(this.labelappVer);
|
||||
this.Controls.Add(this.labelappName);
|
||||
this.Controls.Add(this.buttonOK);
|
||||
this.Controls.Add(this.linkLabelwowks);
|
||||
this.Controls.Add(this.linkLabelSource);
|
||||
this.Controls.Add(this.labelCopy);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.pictureBox1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "frmAbout";
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "appName";
|
||||
this.Load += new System.EventHandler(this.frmAbout_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private PictureBox pictureBox1;
|
||||
private Label label1;
|
||||
private Label label2;
|
||||
private Label labelCopy;
|
||||
private LinkLabel linkLabelSource;
|
||||
private LinkLabel linkLabelwowks;
|
||||
private Button buttonOK;
|
||||
private Label labelappName;
|
||||
private Label labelappVer;
|
||||
private LinkLabel linkLabelGitHub;
|
||||
private LinkLabel linkLabelFreepik;
|
||||
}
|
||||
}
|
56
src/kru.gui/frmAbout.cs
Normal file
56
src/kru.gui/frmAbout.cs
Normal file
@ -0,0 +1,56 @@
|
||||
namespace kru.gui;
|
||||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using kru.gui.Core;
|
||||
|
||||
public partial class FrmAbout : Form
|
||||
{
|
||||
public FrmAbout()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
}
|
||||
|
||||
private static void OpenUrl(string url)
|
||||
{
|
||||
var uri = new Uri(url);
|
||||
if (uri.Scheme is not "http" and not "https")
|
||||
{
|
||||
throw new ArgumentException("Invalid URL", nameof(url));
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
using var myProcess = new Process();
|
||||
myProcess.StartInfo.UseShellExecute = true;
|
||||
myProcess.StartInfo.FileName = uri.ToString();
|
||||
myProcess.Start();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private void frmAbout_Load(object sender, EventArgs e)
|
||||
{
|
||||
var (version, name, copyright) = ApplicationInfoProvider.GetInfo();
|
||||
|
||||
this.Text = $"{name} {version} ({BitnessProvider.BitnessName})";
|
||||
this.labelappName.Text = $"{name} ({BitnessProvider.BitnessName})";
|
||||
this.labelappVer.Text = version;
|
||||
this.labelCopy.Text = $"Copyright © {copyright}";
|
||||
}
|
||||
|
||||
private void linkLabelSource_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) => OpenUrl("https://forum.csmania.ru/viewtopic.php?t=43274");
|
||||
|
||||
private void linkLabelwowks_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) => OpenUrl("https://forum.csmania.ru/memberlist.php?mode=viewprofile&u=59383");
|
||||
|
||||
private void buttonOK_Click(object sender, EventArgs e) => this.Close();
|
||||
|
||||
private void linkLabelGitHub_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) => OpenUrl("https://github.com/AntinomyCollective/Retime-Phoneme-Util-GUI");
|
||||
|
||||
private void linkLabelFreepik_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) => OpenUrl("https://www.freepik.com/");
|
||||
}
|
1833
src/kru.gui/frmAbout.resx
Normal file
1833
src/kru.gui/frmAbout.resx
Normal file
File diff suppressed because it is too large
Load Diff
184
src/kru.gui/frmMain.Designer.cs
generated
184
src/kru.gui/frmMain.Designer.cs
generated
@ -1,6 +1,6 @@
|
||||
namespace ConverterGui;
|
||||
|
||||
partial class frmMain
|
||||
partial class FrmMain
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
@ -28,7 +28,7 @@ partial class frmMain
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMain));
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain));
|
||||
this.txtInput = new System.Windows.Forms.TextBox();
|
||||
this.txtOutput = new System.Windows.Forms.TextBox();
|
||||
this.btnBrowseInput = new System.Windows.Forms.Button();
|
||||
@ -38,15 +38,17 @@ partial class frmMain
|
||||
this.fbBrowseInput = new System.Windows.Forms.FolderBrowserDialog();
|
||||
this.fbBrowseOutput = new System.Windows.Forms.FolderBrowserDialog();
|
||||
this.sfdOutput = new System.Windows.Forms.SaveFileDialog();
|
||||
this.grpClean = new System.Windows.Forms.GroupBox();
|
||||
this.rdClean = new System.Windows.Forms.RadioButton();
|
||||
this.rdFixed = new System.Windows.Forms.RadioButton();
|
||||
this.chkSaveLogs = new System.Windows.Forms.CheckBox();
|
||||
this.groupBoxInput = new System.Windows.Forms.GroupBox();
|
||||
this.groupBoxOutput = new System.Windows.Forms.GroupBox();
|
||||
this.grpClean.SuspendLayout();
|
||||
this.chkClean = new System.Windows.Forms.CheckBox();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.txtOutputClean = new System.Windows.Forms.TextBox();
|
||||
this.btnBrowseOutputClean = new System.Windows.Forms.Button();
|
||||
this.buttonAbout = new System.Windows.Forms.Button();
|
||||
this.groupBoxInput.SuspendLayout();
|
||||
this.groupBoxOutput.SuspendLayout();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// txtInput
|
||||
@ -54,9 +56,9 @@ partial class frmMain
|
||||
this.txtInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtInput.Location = new System.Drawing.Point(5, 21);
|
||||
this.txtInput.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.txtInput.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.txtInput.Name = "txtInput";
|
||||
this.txtInput.Size = new System.Drawing.Size(235, 23);
|
||||
this.txtInput.Size = new System.Drawing.Size(292, 23);
|
||||
this.txtInput.TabIndex = 1;
|
||||
this.txtInput.TextChanged += new System.EventHandler(this.TxtInputTextChanged);
|
||||
//
|
||||
@ -65,17 +67,17 @@ partial class frmMain
|
||||
this.txtOutput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtOutput.Location = new System.Drawing.Point(5, 21);
|
||||
this.txtOutput.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.txtOutput.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.txtOutput.Name = "txtOutput";
|
||||
this.txtOutput.Size = new System.Drawing.Size(234, 23);
|
||||
this.txtOutput.Size = new System.Drawing.Size(292, 23);
|
||||
this.txtOutput.TabIndex = 3;
|
||||
this.txtOutput.TextChanged += new System.EventHandler(this.TxtOutputTextChanged);
|
||||
//
|
||||
// btnBrowseInput
|
||||
//
|
||||
this.btnBrowseInput.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnBrowseInput.Location = new System.Drawing.Point(244, 21);
|
||||
this.btnBrowseInput.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnBrowseInput.Location = new System.Drawing.Point(301, 21);
|
||||
this.btnBrowseInput.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.btnBrowseInput.Name = "btnBrowseInput";
|
||||
this.btnBrowseInput.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnBrowseInput.TabIndex = 4;
|
||||
@ -86,8 +88,8 @@ partial class frmMain
|
||||
// btnBrowseOutput
|
||||
//
|
||||
this.btnBrowseOutput.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnBrowseOutput.Location = new System.Drawing.Point(243, 21);
|
||||
this.btnBrowseOutput.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnBrowseOutput.Location = new System.Drawing.Point(301, 21);
|
||||
this.btnBrowseOutput.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.btnBrowseOutput.Name = "btnBrowseOutput";
|
||||
this.btnBrowseOutput.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnBrowseOutput.TabIndex = 5;
|
||||
@ -97,10 +99,10 @@ partial class frmMain
|
||||
//
|
||||
// btnSave
|
||||
//
|
||||
this.btnSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.btnSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnSave.Enabled = false;
|
||||
this.btnSave.Location = new System.Drawing.Point(11, 210);
|
||||
this.btnSave.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnSave.Location = new System.Drawing.Point(239, 233);
|
||||
this.btnSave.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.btnSave.Name = "btnSave";
|
||||
this.btnSave.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnSave.TabIndex = 6;
|
||||
@ -112,8 +114,8 @@ partial class frmMain
|
||||
//
|
||||
this.btnStart.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnStart.Enabled = false;
|
||||
this.btnStart.Location = new System.Drawing.Point(261, 210);
|
||||
this.btnStart.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnStart.Location = new System.Drawing.Point(318, 233);
|
||||
this.btnStart.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.btnStart.Name = "btnStart";
|
||||
this.btnStart.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnStart.TabIndex = 7;
|
||||
@ -124,55 +126,15 @@ partial class frmMain
|
||||
// sfdOutput
|
||||
//
|
||||
this.sfdOutput.Filter = "\"Batch File|*.bat|All files|*.*\"";
|
||||
this.sfdOutput.FileOk += new System.ComponentModel.CancelEventHandler(this.sfdOutput_FileOk);
|
||||
//
|
||||
// grpClean
|
||||
//
|
||||
this.grpClean.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.grpClean.Controls.Add(this.rdClean);
|
||||
this.grpClean.Controls.Add(this.rdFixed);
|
||||
this.grpClean.Location = new System.Drawing.Point(5, 48);
|
||||
this.grpClean.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.grpClean.Name = "grpClean";
|
||||
this.grpClean.Padding = new System.Windows.Forms.Padding(2);
|
||||
this.grpClean.Size = new System.Drawing.Size(224, 69);
|
||||
this.grpClean.TabIndex = 8;
|
||||
this.grpClean.TabStop = false;
|
||||
this.grpClean.Text = "Mode:";
|
||||
//
|
||||
// rdClean
|
||||
//
|
||||
this.rdClean.AutoSize = true;
|
||||
this.rdClean.Location = new System.Drawing.Point(4, 43);
|
||||
this.rdClean.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.rdClean.Name = "rdClean";
|
||||
this.rdClean.Size = new System.Drawing.Size(55, 19);
|
||||
this.rdClean.TabIndex = 1;
|
||||
this.rdClean.Text = "Clean";
|
||||
this.rdClean.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// rdFixed
|
||||
//
|
||||
this.rdFixed.AutoSize = true;
|
||||
this.rdFixed.Checked = true;
|
||||
this.rdFixed.Location = new System.Drawing.Point(4, 20);
|
||||
this.rdFixed.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.rdFixed.Name = "rdFixed";
|
||||
this.rdFixed.Size = new System.Drawing.Size(98, 19);
|
||||
this.rdFixed.TabIndex = 0;
|
||||
this.rdFixed.TabStop = true;
|
||||
this.rdFixed.Text = "Fixed(default)";
|
||||
this.rdFixed.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chkSaveLogs
|
||||
//
|
||||
this.chkSaveLogs.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.chkSaveLogs.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.chkSaveLogs.AutoSize = true;
|
||||
this.chkSaveLogs.Checked = true;
|
||||
this.chkSaveLogs.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkSaveLogs.Location = new System.Drawing.Point(243, 98);
|
||||
this.chkSaveLogs.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.chkSaveLogs.Location = new System.Drawing.Point(92, 236);
|
||||
this.chkSaveLogs.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.chkSaveLogs.Name = "chkSaveLogs";
|
||||
this.chkSaveLogs.Size = new System.Drawing.Size(75, 19);
|
||||
this.chkSaveLogs.TabIndex = 9;
|
||||
@ -187,7 +149,7 @@ partial class frmMain
|
||||
this.groupBoxInput.Controls.Add(this.btnBrowseInput);
|
||||
this.groupBoxInput.Location = new System.Drawing.Point(12, 12);
|
||||
this.groupBoxInput.Name = "groupBoxInput";
|
||||
this.groupBoxInput.Size = new System.Drawing.Size(324, 63);
|
||||
this.groupBoxInput.Size = new System.Drawing.Size(381, 63);
|
||||
this.groupBoxInput.TabIndex = 10;
|
||||
this.groupBoxInput.TabStop = false;
|
||||
this.groupBoxInput.Text = "Input folder:";
|
||||
@ -198,38 +160,104 @@ partial class frmMain
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.groupBoxOutput.Controls.Add(this.txtOutput);
|
||||
this.groupBoxOutput.Controls.Add(this.btnBrowseOutput);
|
||||
this.groupBoxOutput.Controls.Add(this.chkSaveLogs);
|
||||
this.groupBoxOutput.Controls.Add(this.grpClean);
|
||||
this.groupBoxOutput.Location = new System.Drawing.Point(12, 81);
|
||||
this.groupBoxOutput.Name = "groupBoxOutput";
|
||||
this.groupBoxOutput.Size = new System.Drawing.Size(323, 122);
|
||||
this.groupBoxOutput.Size = new System.Drawing.Size(381, 63);
|
||||
this.groupBoxOutput.TabIndex = 11;
|
||||
this.groupBoxOutput.TabStop = false;
|
||||
this.groupBoxOutput.Text = "Output folder:";
|
||||
//
|
||||
// frmMain
|
||||
// chkClean
|
||||
//
|
||||
this.chkClean.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.chkClean.AutoSize = true;
|
||||
this.chkClean.Location = new System.Drawing.Point(5, 50);
|
||||
this.chkClean.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.chkClean.Name = "chkClean";
|
||||
this.chkClean.Size = new System.Drawing.Size(112, 19);
|
||||
this.chkClean.TabIndex = 9;
|
||||
this.chkClean.Text = "Save Clean copy";
|
||||
this.chkClean.UseVisualStyleBackColor = true;
|
||||
this.chkClean.CheckedChanged += new System.EventHandler(this.chkClean_CheckedChanged);
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.groupBox1.Controls.Add(this.txtOutputClean);
|
||||
this.groupBox1.Controls.Add(this.btnBrowseOutputClean);
|
||||
this.groupBox1.Controls.Add(this.chkClean);
|
||||
this.groupBox1.Location = new System.Drawing.Point(12, 150);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(381, 74);
|
||||
this.groupBox1.TabIndex = 11;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Output folder for clean files (Optional):";
|
||||
//
|
||||
// txtOutputClean
|
||||
//
|
||||
this.txtOutputClean.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtOutputClean.Enabled = false;
|
||||
this.txtOutputClean.Location = new System.Drawing.Point(5, 21);
|
||||
this.txtOutputClean.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.txtOutputClean.Name = "txtOutputClean";
|
||||
this.txtOutputClean.Size = new System.Drawing.Size(292, 23);
|
||||
this.txtOutputClean.TabIndex = 3;
|
||||
this.txtOutputClean.TextChanged += new System.EventHandler(this.TxtOutputTextChanged);
|
||||
//
|
||||
// btnBrowseOutputClean
|
||||
//
|
||||
this.btnBrowseOutputClean.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnBrowseOutputClean.Enabled = false;
|
||||
this.btnBrowseOutputClean.Location = new System.Drawing.Point(301, 21);
|
||||
this.btnBrowseOutputClean.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.btnBrowseOutputClean.Name = "btnBrowseOutputClean";
|
||||
this.btnBrowseOutputClean.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnBrowseOutputClean.TabIndex = 5;
|
||||
this.btnBrowseOutputClean.Text = "Browse";
|
||||
this.btnBrowseOutputClean.UseVisualStyleBackColor = true;
|
||||
this.btnBrowseOutputClean.Click += new System.EventHandler(this.BtnBrowseOutputCleanClick);
|
||||
//
|
||||
// buttonAbout
|
||||
//
|
||||
this.buttonAbout.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.buttonAbout.Location = new System.Drawing.Point(12, 233);
|
||||
this.buttonAbout.Name = "buttonAbout";
|
||||
this.buttonAbout.Size = new System.Drawing.Size(75, 23);
|
||||
this.buttonAbout.TabIndex = 12;
|
||||
this.buttonAbout.Text = "About";
|
||||
this.buttonAbout.UseVisualStyleBackColor = true;
|
||||
this.buttonAbout.Click += new System.EventHandler(this.buttonAbout_Click);
|
||||
//
|
||||
// FrmMain
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(347, 244);
|
||||
this.ClientSize = new System.Drawing.Size(404, 267);
|
||||
this.Controls.Add(this.buttonAbout);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Controls.Add(this.chkSaveLogs);
|
||||
this.Controls.Add(this.groupBoxOutput);
|
||||
this.Controls.Add(this.groupBoxInput);
|
||||
this.Controls.Add(this.btnStart);
|
||||
this.Controls.Add(this.btnSave);
|
||||
this.HelpButton = true;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.MinimumSize = new System.Drawing.Size(363, 283);
|
||||
this.Name = "frmMain";
|
||||
this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.MinimumSize = new System.Drawing.Size(418, 299);
|
||||
this.Name = "FrmMain";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "Retime Phoneme Util GUI 1.0.0.0";
|
||||
this.Text = "appName";
|
||||
this.Load += new System.EventHandler(this.frmMain_Load);
|
||||
this.grpClean.ResumeLayout(false);
|
||||
this.grpClean.PerformLayout();
|
||||
this.groupBoxInput.ResumeLayout(false);
|
||||
this.groupBoxInput.PerformLayout();
|
||||
this.groupBoxOutput.ResumeLayout(false);
|
||||
this.groupBoxOutput.PerformLayout();
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
@ -243,10 +271,12 @@ partial class frmMain
|
||||
private FolderBrowserDialog fbBrowseInput;
|
||||
private FolderBrowserDialog fbBrowseOutput;
|
||||
private SaveFileDialog sfdOutput;
|
||||
private GroupBox grpClean;
|
||||
private RadioButton rdClean;
|
||||
private RadioButton rdFixed;
|
||||
private CheckBox chkSaveLogs;
|
||||
private GroupBox groupBoxInput;
|
||||
private GroupBox groupBoxOutput;
|
||||
private CheckBox chkClean;
|
||||
private GroupBox groupBox1;
|
||||
private TextBox txtOutputClean;
|
||||
private Button btnBrowseOutputClean;
|
||||
private Button buttonAbout;
|
||||
}
|
||||
|
@ -1,42 +1,50 @@
|
||||
namespace ConverterGui;
|
||||
public partial class frmMain : Form
|
||||
|
||||
using kru.gui;
|
||||
using kru.gui.Core;
|
||||
|
||||
public partial class FrmMain : Form
|
||||
{
|
||||
public frmMain() => InitializeComponent();
|
||||
public FrmMain() => this.InitializeComponent();
|
||||
|
||||
private void BtnBrowseOutputClick(object sender, EventArgs e) => this.txtOutput.Text = this.fbBrowseOutput.ShowDialog() == DialogResult.OK ? this.fbBrowseOutput.SelectedPath : string.Empty;
|
||||
|
||||
private void BtnBrowseOutputCleanClick(object sender, EventArgs e) => this.txtOutputClean.Text = this.fbBrowseOutput.ShowDialog() == DialogResult.OK ? this.fbBrowseOutput.SelectedPath : string.Empty;
|
||||
|
||||
private void BtnBrowseInputClick(object sender, EventArgs e) => this.txtInput.Text = this.fbBrowseInput.ShowDialog() == DialogResult.OK ? this.fbBrowseInput.SelectedPath : string.Empty;
|
||||
|
||||
private void TxtOutputTextChanged(object sender, EventArgs e)
|
||||
{
|
||||
this.fbBrowseOutput.SelectedPath = this.txtOutput.Text;
|
||||
EnableButtons();
|
||||
this.EnableButtons();
|
||||
}
|
||||
|
||||
private void TxtInputTextChanged(object sender, EventArgs e)
|
||||
{
|
||||
this.fbBrowseInput.SelectedPath = this.txtInput.Text;
|
||||
EnableButtons();
|
||||
this.EnableButtons();
|
||||
}
|
||||
|
||||
private void BtnSaveClick(object sender, EventArgs e)
|
||||
{
|
||||
var commands = GetCommands();
|
||||
var commands = this.GetCommands();
|
||||
|
||||
if (sfdOutput.ShowDialog() == DialogResult.OK)
|
||||
if (this.sfdOutput.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
File.WriteAllLines(sfdOutput.FileName, commands
|
||||
File.WriteAllLines(this.sfdOutput.FileName, commands
|
||||
.Select(a => a.GetBatchLine()));
|
||||
}
|
||||
|
||||
MessageBox.Show("Done!");
|
||||
MessageBox.Show("Done!", "Success!", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
|
||||
private void EnableButtons()
|
||||
{
|
||||
var enabled = !string.IsNullOrWhiteSpace(this.txtInput.Text)
|
||||
&& !string.IsNullOrWhiteSpace(this.txtOutput.Text)
|
||||
&& Directory.Exists(this.txtInput.Text);
|
||||
&& Directory.Exists(this.txtInput.Text)
|
||||
&& Directory.Exists(this.txtOutput.Text)
|
||||
&& (!this.chkClean.Checked || (!string.IsNullOrWhiteSpace(this.txtOutputClean.Text) && Directory.Exists(this.txtOutputClean.Text)));
|
||||
this.btnSave.Enabled = this.btnStart.Enabled = enabled;
|
||||
}
|
||||
|
||||
@ -46,12 +54,18 @@ public partial class frmMain : Form
|
||||
{
|
||||
Input = this.txtInput.Text,
|
||||
Output = this.txtOutput.Text,
|
||||
Clean = this.rdClean.Checked,
|
||||
SaveLog = chkSaveLogs.Checked,
|
||||
OutputClean = this.txtOutputClean.Text,
|
||||
Clean = this.chkClean.Checked,
|
||||
SaveLog = this.chkSaveLogs.Checked,
|
||||
};
|
||||
|
||||
var commands = Directory
|
||||
.GetFiles(options.Input, "*.wav")
|
||||
.Select(inputFile => new Command(inputFile, Path.Combine(options.Output, Path.GetFileName(inputFile)), options.Clean, options.SaveLog))
|
||||
.Select(inputFile => new Command(
|
||||
InputFile: inputFile,
|
||||
OutputDirectory: options.Output,
|
||||
CleanDirectory: options.Clean ? options.OutputClean : default,
|
||||
SaveLog: options.SaveLog))
|
||||
.ToArray();
|
||||
|
||||
return commands;
|
||||
@ -60,24 +74,47 @@ public partial class frmMain : Form
|
||||
private async void btnStart_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Enabled = false;
|
||||
var commands = GetCommands();
|
||||
foreach (var command in commands)
|
||||
try
|
||||
{
|
||||
var proc = command.GetProcess();
|
||||
proc.Start();
|
||||
await proc.WaitForExitAsync().ConfigureAwait(false);
|
||||
var commands = this.GetCommands();
|
||||
foreach (var command in commands)
|
||||
{
|
||||
var proc = command.GetProcess();
|
||||
try
|
||||
{
|
||||
proc.Start();
|
||||
await proc.WaitForExitAsync().ConfigureAwait(false);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show("Error", $"An error has occured while trying to launch command: {ex.Message}", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
MessageBox.Show("Done!", "Success!", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
finally
|
||||
{
|
||||
this.Enabled = true;
|
||||
}
|
||||
this.Enabled = true;
|
||||
MessageBox.Show("Done!");
|
||||
}
|
||||
|
||||
private void frmMain_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
var (version, name, _) = ApplicationInfoProvider.GetInfo();
|
||||
this.Text = $"{name} {version} ({BitnessProvider.BitnessName})";
|
||||
}
|
||||
|
||||
private void sfdOutput_FileOk(object sender, System.ComponentModel.CancelEventArgs e)
|
||||
private void chkClean_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
this.txtOutputClean.Enabled = this.btnBrowseOutputClean.Enabled = this.chkClean.Checked;
|
||||
this.EnableButtons();
|
||||
}
|
||||
|
||||
private void buttonAbout_Click(object sender, EventArgs e)
|
||||
{
|
||||
using var about = new FrmAbout();
|
||||
about.ShowDialog();
|
||||
}
|
||||
}
|
||||
|
@ -1,36 +1,51 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<PublishSingleFile>true</PublishSingleFile>
|
||||
<SelfContained>true</SelfContained>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<Nullable>enable</Nullable>
|
||||
<PublishTrimmed>false</PublishTrimmed>
|
||||
<PublishReadyToRun>true</PublishReadyToRun>
|
||||
<TargetFramework>net7.0-windows</TargetFramework>
|
||||
<AssemblyVersion>1.1.0.0</AssemblyVersion>
|
||||
<FileVersion>1.1.0.0</FileVersion>
|
||||
<PackageVersion>1.1.0.0</PackageVersion>
|
||||
<Version>1.1.0.0</Version>
|
||||
|
||||
<ApplicationIcon>favicon.ico</ApplicationIcon>
|
||||
<PackageId>AntinomyCollective.kru.gui</PackageId>
|
||||
<Authors>Antinomy Collective, EpicMorg, kasthack, stam</Authors>
|
||||
<Company>EpicMorg</Company>
|
||||
<Copyright>EpicMorg 2023</Copyright>
|
||||
<Description>Retime Phoneme Util GUI by EpicMorg</Description>
|
||||
<PackageProjectUrl>https://github.com/AntinomyCollective/Retime-Phoneme-Uti-GUI</PackageProjectUrl>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<PackageIcon>favicon.png</PackageIcon>
|
||||
<PackageId>AntinomyCollective.kru.gui</PackageId>
|
||||
<PackageProjectUrl>https://github.com/AntinomyCollective/Retime-Phoneme-Uti-GUI</PackageProjectUrl>
|
||||
<PackageTags>epicmorg, retime, Phoneme, Util, GUI, Antinomy, Collective</PackageTags>
|
||||
<Product>Retime Phoneme Util GUI</Product>
|
||||
<PublishReadyToRun>true</PublishReadyToRun>
|
||||
<PublishSingleFile>true</PublishSingleFile>
|
||||
<PublishTrimmed>false</PublishTrimmed>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<RepositoryUrl>https://github.com/AntinomyCollective/Retime-Phoneme-Uti-GUI</RepositoryUrl>
|
||||
<PackageTags>epicmorg, retime, Phoneme, Util, GUI, Antinomy, Collective</PackageTags>
|
||||
<AssemblyVersion>1.0.0.0</AssemblyVersion>
|
||||
<FileVersion>1.0.0.0</FileVersion>
|
||||
<Version>1.0.0.0</Version>
|
||||
<Copyright>EpicMorg 2023</Copyright>
|
||||
<Product>Retime Phoneme Util GUI</Product>
|
||||
<IsPackable>true</IsPackable>
|
||||
<Company>EpicMorg</Company>
|
||||
<PackageReadmeFile>README.md</PackageReadmeFile>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<SelfContained>true</SelfContained>
|
||||
<TargetFramework>net7.0-windows</TargetFramework>
|
||||
<UseWindowsForms>True</UseWindowsForms>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<OutputType>WinExe</OutputType>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="Properties\Resources.Designer.cs">
|
||||
<DesignTime>True</DesignTime>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Update="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="favicon.png" Pack="true" PackagePath=""/>
|
||||
<None Update="Tools\x64\libgcc_s_seh-1.dll">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
|
@ -6,6 +6,9 @@ MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "kru.gui", "kru.gui\kru.gui.csproj", "{2D372BD7-104E-480F-82F5-60EA08A20227}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{494D64A2-ECC6-4B4B-8359-F5AB20E128F7}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
Directory.Build.props = Directory.Build.props
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
Loading…
x
Reference in New Issue
Block a user