diff --git a/butterflow-ui/AboutWindow.xaml b/butterflow-ui/AboutWindow.xaml
new file mode 100644
index 0000000..d591b52
--- /dev/null
+++ b/butterflow-ui/AboutWindow.xaml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Jordan Wages
+
+
+
+
+
+ butterflow
+ |
+ |
+
+
+ cs-mic
+ |
+ |
+
+
+ Gu.Wpf.Media
+ |
+ |
+
+
+
+
+
+
+
+
diff --git a/butterflow-ui/AboutWindow.xaml.cs b/butterflow-ui/AboutWindow.xaml.cs
new file mode 100644
index 0000000..1fa547e
--- /dev/null
+++ b/butterflow-ui/AboutWindow.xaml.cs
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace butterflow_ui
+{
+ ///
+ /// Interaction logic for AboutWindow.xaml
+ ///
+ public partial class AboutWindow : Window
+ {
+ public AboutWindow()
+ {
+ InitializeComponent();
+ }
+
+ /// Event handler. Called by Hyperlink for request navigate events.
+ /// Source of the event.
+ /// Request navigate event information.
+ private void Hyperlink_RequestNavigate(object sender, System.Windows.Navigation.RequestNavigateEventArgs e)
+ {
+ Process.Start(e.Uri.AbsoluteUri);
+ e.Handled = true;
+ }
+
+ /// Event handler. Called by btnOK for click events.
+ /// Source of the event.
+ /// Routed event information.
+ private void btnOK_Click(object sender, RoutedEventArgs e)
+ {
+ this.Close();
+ }
+ }
+}
diff --git a/butterflow-ui/App.config b/butterflow-ui/App.config
index 787dcbe..85a72ea 100644
--- a/butterflow-ui/App.config
+++ b/butterflow-ui/App.config
@@ -1,6 +1,18 @@
+
+
+
+
+
+
+
+
+ en-US
+
+
+
\ No newline at end of file
diff --git a/butterflow-ui/App.xaml.cs b/butterflow-ui/App.xaml.cs
index b003759..8e8d426 100644
--- a/butterflow-ui/App.xaml.cs
+++ b/butterflow-ui/App.xaml.cs
@@ -2,7 +2,9 @@
using System.Collections.Generic;
using System.Configuration;
using System.Data;
+using System.Globalization;
using System.Linq;
+using System.Threading;
using System.Threading.Tasks;
using System.Windows;
@@ -13,5 +15,16 @@ namespace butterflow_ui
///
public partial class App : Application
{
+ /// Raises the event.
+ /// A that contains the event
+ /// data.
+ protected override void OnStartup(StartupEventArgs e)
+ {
+ // Set our localization to the users perfered language
+ Thread.CurrentThread.CurrentCulture = butterflow_ui.Properties.Settings.Default.Language;
+ Thread.CurrentThread.CurrentUICulture = butterflow_ui.Properties.Settings.Default.Language;
+
+ base.OnStartup(e);
+ }
}
}
diff --git a/butterflow-ui/Icons.xaml b/butterflow-ui/Icons.xaml
index 6ca2dbc..39fc4f7 100644
--- a/butterflow-ui/Icons.xaml
+++ b/butterflow-ui/Icons.xaml
@@ -1,6 +1,46 @@
+
+
+
+
+
@@ -166,4 +206,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/butterflow-ui/Localization/Localization.Designer.cs b/butterflow-ui/Localization/Localization.Designer.cs
index 26c8463..bcdcc9e 100644
--- a/butterflow-ui/Localization/Localization.Designer.cs
+++ b/butterflow-ui/Localization/Localization.Designer.cs
@@ -150,6 +150,42 @@ namespace butterflow_ui.Localization {
}
}
+ ///
+ /// Looks up a localized string similar to buttterflow-ui is a graphical user interface for the butterflow video processor. .
+ ///
+ public static string AboutWindowDescription {
+ get {
+ return ResourceManager.GetString("AboutWindowDescription", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to github.
+ ///
+ public static string AboutWindowGithubLinkLabel {
+ get {
+ return ResourceManager.GetString("AboutWindowGithubLinkLabel", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to license.
+ ///
+ public static string AboutWindowLicenseLinkLabel {
+ get {
+ return ResourceManager.GetString("AboutWindowLicenseLinkLabel", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to About butterflow-ui.
+ ///
+ public static string AboutWindowTitle {
+ get {
+ return ResourceManager.GetString("AboutWindowTitle", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Advanced Options.
///
@@ -195,6 +231,15 @@ namespace butterflow_ui.Localization {
}
}
+ ///
+ /// Looks up a localized string similar to Copy butterflow arguments.
+ ///
+ public static string CopyArgumentsMenu {
+ get {
+ return ResourceManager.GetString("CopyArgumentsMenu", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Custom Rate.
///
@@ -204,6 +249,15 @@ namespace butterflow_ui.Localization {
}
}
+ ///
+ /// Looks up a localized string similar to Developers and Contributors.
+ ///
+ public static string DevelopersLabel {
+ get {
+ return ResourceManager.GetString("DevelopersLabel", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to _Edit.
///
@@ -366,6 +420,15 @@ namespace butterflow_ui.Localization {
}
}
+ ///
+ /// Looks up a localized string similar to Language.
+ ///
+ public static string LanguageLabel {
+ get {
+ return ResourceManager.GetString("LanguageLabel", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Levels.
///
@@ -402,6 +465,15 @@ namespace butterflow_ui.Localization {
}
}
+ ///
+ /// Looks up a localized string similar to OK.
+ ///
+ public static string OKLabel {
+ get {
+ return ResourceManager.GetString("OKLabel", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to _Open....
///
@@ -411,6 +483,42 @@ namespace butterflow_ui.Localization {
}
}
+ ///
+ /// Looks up a localized string similar to Open Source Libraries.
+ ///
+ public static string OpenSourceCreditsLabel {
+ get {
+ return ResourceManager.GetString("OpenSourceCreditsLabel", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Application Options....
+ ///
+ public static string OptionsMenu {
+ get {
+ return ResourceManager.GetString("OptionsMenu", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Note: Changing the user language will require a restart of the program..
+ ///
+ public static string OptionsWindowLanguageChangeNotice {
+ get {
+ return ResourceManager.GetString("OptionsWindowLanguageChangeNotice", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Options.
+ ///
+ public static string OptionsWindowTitle {
+ get {
+ return ResourceManager.GetString("OptionsWindowTitle", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Pixel Neighborhood.
///
@@ -519,6 +627,15 @@ namespace butterflow_ui.Localization {
}
}
+ ///
+ /// Looks up a localized string similar to Save.
+ ///
+ public static string SaveLabel {
+ get {
+ return ResourceManager.GetString("SaveLabel", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to _Save Configuration....
///
diff --git a/butterflow-ui/Localization/Localization.es.resx b/butterflow-ui/Localization/Localization.es.resx
new file mode 100644
index 0000000..bec00f6
--- /dev/null
+++ b/butterflow-ui/Localization/Localization.es.resx
@@ -0,0 +1,357 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ butterflow en github ...
+
+
+ butterflow-ui en github ...
+
+
+ Acerca de butterflow-ui
+
+
+ Opciones avanzadas
+
+
+ Clip una subregión en el video.
+
+
+ Opciones Comunes
+
+
+ Tarifa personalizada
+
+
+ _Editar
+
+
+ mi
+
+
+ Entrada
+
+
+ Archivo de vídeo
+
+
+ _Archivo
+
+
+ Altura
+
+
+ _Ayuda
+
+
+ Representa el video de salida con el audio del video original. Sin marcar, no se incluirá sonido en el video de salida.
+
+
+ Mantener el audio
+
+
+ Renderiza el video sin compresión con pérdida. El video no perderá ninguna calidad visual, pero dará como resultado un archivo de salida muy grande.
+
+
+ Calidad sin pérdida
+
+
+ Controla el nuevo framerate del video de salida. Esto se puede establecer en términos absolutos y relativos.
+
+
+ Velocidad de reproducción
+
+
+ Reproducir / Pausar el video
+
+
+ Representación de video
+
+
+ Resolución de salida
+
+
+ Salte hacia atrás en el video.
+
+
+ Salta hacia adelante en el video.
+
+
+ S
+
+
+ Detener el video
+
+
+ Regiones individuales del video a procesar.
+
+
+ Subregiones
+
+
+ butterflow-ui
+
+
+ Para terminar
+
+
+ Anchura
+
+
+ 120 fps
+
+
+ 24 fps
+
+
+ 2x
+
+
+ 30 fps
+
+
+ 3x
+
+
+ 4x
+
+
+ 60 fps
+
+
+ Cancelar
+
+
+ Cancele la operación de flujo de mantequilla actual.
+
+
+ Usa pirámides rápidas
+
+
+
+
+
+ Salida
+
+
+ Filtro de flujo
+
+
+ Filtro utilizado para la estimación del flujo óptico.
+
+
+ Iteraciones de pirámide
+
+
+ El número de iteraciones a usar para cada capa de pirámide.
+
+
+ Mantener subregiones
+
+
+ Renderiza subregiones no especificadas explícitamente.
+
+
+ Niveles
+
+
+ El número de capas de pirámide.
+
+
+ _Abierto...
+
+
+ Barrio de píxeles
+
+
+ Tamaño del vecindario de píxeles.
+
+
+ Proceso
+
+
+ Procesar el video Este puede ser un proceso largo.
+
+
+ Factor de escala de pirámide
+
+
+
+
+
+ Guardar configuración _Como ...
+
+
+ _Guardar configuración ...
+
+
+ Derivado suave
+
+
+ Tamaño de la desviación estándar utilizada para derivados suaves.
+
+
+ Movimiento suave
+
+
+ Ajuste para sintonizar para un movimiento suave. Este modo produce cuadros sin artefactos al enfatizar los cuadros combinados sobre los píxeles de deformación.
+
+
+ Tamaño de ventana
+
+
+
+
+
+ buttterflow-ui es una interfaz gráfica de usuario para el procesador de video butterflow.
+
+
+ github
+
+
+ licencia
+
+
+ Acerca de butterflow-ui
+
+
+ Copie los argumentos de butterflow
+
+
+ Desarrolladores y colaboradores
+
+
+ Idioma
+
+
+ DE ACUERDO
+
+
+ Bibliotecas de código abierto
+
+
+ Opciones de aplicación ...
+
+
+ Opciones
+
+
+ Salvar
+
+
\ No newline at end of file
diff --git a/butterflow-ui/Localization/Localization.resx b/butterflow-ui/Localization/Localization.resx
index 009ebf0..18a8b08 100644
--- a/butterflow-ui/Localization/Localization.resx
+++ b/butterflow-ui/Localization/Localization.resx
@@ -318,4 +318,43 @@
+
+ buttterflow-ui is a graphical user interface for the butterflow video processor.
+
+
+ github
+
+
+ license
+
+
+ About butterflow-ui
+
+
+ Copy butterflow arguments
+
+
+ Developers and Contributors
+
+
+ Language
+
+
+ OK
+
+
+ Open Source Libraries
+
+
+ Application Options...
+
+
+ Note: Changing the user language will require a restart of the program.
+
+
+ Options
+
+
+ Save
+
\ No newline at end of file
diff --git a/butterflow-ui/MainWindow.xaml b/butterflow-ui/MainWindow.xaml
index ed05cf9..21804d4 100644
--- a/butterflow-ui/MainWindow.xaml
+++ b/butterflow-ui/MainWindow.xaml
@@ -9,7 +9,7 @@
xmlns:butterflow_ui="clr-namespace:butterflow_ui"
mc:Ignorable="d"
x:Name="butterflowUIWindow"
- Title="{x:Static loc:Localization.Title}" Height="600" Width="800"
+ Title="{x:Static loc:Localization.Title}" Width="Auto" Height="Auto"
Icon="./Icon/icon.ico">
-
+
diff --git a/butterflow-ui/MainWindow.xaml.cs b/butterflow-ui/MainWindow.xaml.cs
index c53ec25..574bd29 100644
--- a/butterflow-ui/MainWindow.xaml.cs
+++ b/butterflow-ui/MainWindow.xaml.cs
@@ -380,7 +380,19 @@ namespace butterflow_ui
/// Routed event information.
private void menuAboutButterflowUI_Click(object sender, RoutedEventArgs e)
{
+ var aboutWindow = new AboutWindow();
+ aboutWindow.Show();
+ }
+
+ /// Event handler. Called by menuOptions for click events.
+ /// Source of the event.
+ /// Routed event information.
+ private void menuOptions_Click(object sender, RoutedEventArgs e)
+ {
+ var optionsWindow = new OptionsWindow();
+
+ optionsWindow.Show();
}
#endregion
diff --git a/butterflow-ui/OptionsWindow.xaml b/butterflow-ui/OptionsWindow.xaml
new file mode 100644
index 0000000..bf788e2
--- /dev/null
+++ b/butterflow-ui/OptionsWindow.xaml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/butterflow-ui/OptionsWindow.xaml.cs b/butterflow-ui/OptionsWindow.xaml.cs
new file mode 100644
index 0000000..fae84b6
--- /dev/null
+++ b/butterflow-ui/OptionsWindow.xaml.cs
@@ -0,0 +1,54 @@
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace butterflow_ui
+{
+ ///
+ /// Interaction logic for OptionsWindow.xaml
+ ///
+ public partial class OptionsWindow : Window
+ {
+ #region Properties
+
+ /// Gets or sets the supported languages.
+ /// The supported languages.
+ public List SupportedLanguages { get; set; } = new List(new[] { CultureInfo.CreateSpecificCulture("en-US"), CultureInfo.CreateSpecificCulture("es-ES") });
+
+ #endregion
+
+ #region Constructors
+
+ /// Default constructor.
+ public OptionsWindow()
+ {
+ InitializeComponent();
+ }
+
+ #endregion
+
+ #region Methods
+
+ /// Event handler. Called by btnSave for click events.
+ /// Source of the event.
+ /// Routed event information.
+ private void btnSave_Click(object sender, RoutedEventArgs e)
+ {
+ Properties.Settings.Default.Save();
+
+ this.Close();
+ }
+
+ #endregion
+ }
+}
diff --git a/butterflow-ui/Properties/Settings.Designer.cs b/butterflow-ui/Properties/Settings.Designer.cs
index 502cf82..e78c207 100644
--- a/butterflow-ui/Properties/Settings.Designer.cs
+++ b/butterflow-ui/Properties/Settings.Designer.cs
@@ -8,23 +8,31 @@
//
//------------------------------------------------------------------------------
-namespace butterflow_ui.Properties
-{
-
-
+namespace butterflow_ui.Properties {
+
+
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
- {
-
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.7.0.0")]
+ public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default
- {
- get
- {
+
+ public static Settings Default {
+ get {
return defaultInstance;
}
}
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("en-US")]
+ public global::System.Globalization.CultureInfo Language {
+ get {
+ return ((global::System.Globalization.CultureInfo)(this["Language"]));
+ }
+ set {
+ this["Language"] = value;
+ }
+ }
}
}
diff --git a/butterflow-ui/Properties/Settings.settings b/butterflow-ui/Properties/Settings.settings
index 033d7a5..11aca63 100644
--- a/butterflow-ui/Properties/Settings.settings
+++ b/butterflow-ui/Properties/Settings.settings
@@ -1,7 +1,9 @@
-
-
-
-
-
+
+
+
+
+ en-US
+
+
\ No newline at end of file
diff --git a/butterflow-ui/Settings.cs b/butterflow-ui/Settings.cs
new file mode 100644
index 0000000..6dd6a10
--- /dev/null
+++ b/butterflow-ui/Settings.cs
@@ -0,0 +1,28 @@
+namespace butterflow_ui.Properties {
+
+
+ // This class allows you to handle specific events on the settings class:
+ // The SettingChanging event is raised before a setting's value is changed.
+ // The PropertyChanged event is raised after a setting's value is changed.
+ // The SettingsLoaded event is raised after the setting values are loaded.
+ // The SettingsSaving event is raised before the setting values are saved.
+ public sealed partial class Settings {
+
+ public Settings() {
+ // // To add event handlers for saving and changing settings, uncomment the lines below:
+ //
+ // this.SettingChanging += this.SettingChangingEventHandler;
+ //
+ // this.SettingsSaving += this.SettingsSavingEventHandler;
+ //
+ }
+
+ private void SettingChangingEventHandler(object sender, System.Configuration.SettingChangingEventArgs e) {
+ // Add code to handle the SettingChangingEvent event here.
+ }
+
+ private void SettingsSavingEventHandler(object sender, System.ComponentModel.CancelEventArgs e) {
+ // Add code to handle the SettingsSaving event here.
+ }
+ }
+}
diff --git a/butterflow-ui/butterflow-ui.csproj b/butterflow-ui/butterflow-ui.csproj
index bbd4fa7..70d6744 100644
--- a/butterflow-ui/butterflow-ui.csproj
+++ b/butterflow-ui/butterflow-ui.csproj
@@ -63,10 +63,21 @@
MSBuild:Compile
Designer
+
+ AboutWindow.xaml
+
+
+ OptionsWindow.xaml
+
+
+
+ Designer
+ MSBuild:Compile
+
MSBuild:Compile
Designer
@@ -95,6 +106,10 @@
MainWindow.xaml
Code
+
+ Designer
+ MSBuild:Compile
+
@@ -111,6 +126,7 @@
Settings.settings
True
+
PublicResXFileCodeGenerator
Localization.Designer.cs
@@ -121,7 +137,7 @@
- SettingsSingleFileGenerator
+ PublicSettingsSingleFileGenerator
Settings.Designer.cs