diff --git a/README.md b/README.md
index 2699c78..e35d817 100644
--- a/README.md
+++ b/README.md
@@ -70,6 +70,12 @@ https://github.com/stax76/mpv.net/wiki/Scripting-(CSharp,-Python,-JavaScript,-Lu
### Changelog
+### 2.4 (2019-0?-??)
+
+* new options added to the conf GUI editor: gpu-context, gpu-api, scale, cscale, dscale, dither-depth, correct-downscaling, sigmoid-upscaling, deband
+* the conf edit GUI has a 'Apply' feature added to write the conf to mpv.conf without the need to close the conf edit GUI
+* the input edit GUI shows a message box when a duplicate is detected and writes help on top of input.conf
+
### 2.3 (2019-04-04)
- dragging a youtube URL on mpv.net would still break something, it should work now
diff --git a/mpvConfEdit/MainWindow.xaml b/mpvConfEdit/MainWindow.xaml
index e451bff..af2439f 100644
--- a/mpvConfEdit/MainWindow.xaml
+++ b/mpvConfEdit/MainWindow.xaml
@@ -4,7 +4,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
- Height="500" Width="700" Loaded="MainWindow1_Loaded">
+ Height="600" Width="800" Loaded="MainWindow1_Loaded">
@@ -14,8 +14,8 @@
-
-
+
+
@@ -31,6 +31,7 @@
Open settings folder
Show mpv manual
Show support forum
+ Write config to mpv.conf
\ No newline at end of file
diff --git a/mpvConfEdit/MainWindow.xaml.cs b/mpvConfEdit/MainWindow.xaml.cs
index 99af4d2..2e50fb3 100644
--- a/mpvConfEdit/MainWindow.xaml.cs
+++ b/mpvConfEdit/MainWindow.xaml.cs
@@ -79,7 +79,11 @@ namespace mpvConfEdit
protected override void OnClosed(EventArgs e)
{
base.OnClosed(e);
+ WriteToDisk();
+ }
+ void WriteToDisk()
+ {
foreach (var mpvSetting in DynamicSettings)
{
switch (mpvSetting)
@@ -149,12 +153,8 @@ namespace mpvConfEdit
}
File.WriteAllText(mpvConfPath, String.Join(Environment.NewLine, lines));
-
- foreach (Process process in Process.GetProcesses())
- if (process.ProcessName == "mpvnet")
- MessageBox.Show("Restart mpv.net in order to apply changed settings.", Title, MessageBoxButton.OK, MessageBoxImage.Information);
- else if (process.ProcessName == "mpv")
- MessageBox.Show("Restart mpv in order to apply changed settings.", Title, MessageBoxButton.OK, MessageBoxImage.Information);
+ MessageBox.Show("Changes will be available on next startup of mpv(.net).",
+ Title, MessageBoxButton.OK, MessageBoxImage.Information);
}
private void SearchTextBox_TextChanged(object sender, TextChangedEventArgs e)
@@ -210,5 +210,10 @@ namespace mpvConfEdit
{
Process.Start("https://github.com/stax76/mpv.net#Support");
}
+
+ private void ApplyTextBlock_MouseUp(object sender, MouseButtonEventArgs e)
+ {
+ WriteToDisk();
+ }
}
}
\ No newline at end of file
diff --git a/mpvConfEdit/Properties/AssemblyInfo.cs b/mpvConfEdit/Properties/AssemblyInfo.cs
index 8259b3f..cf39463 100644
--- a/mpvConfEdit/Properties/AssemblyInfo.cs
+++ b/mpvConfEdit/Properties/AssemblyInfo.cs
@@ -12,7 +12,7 @@ using System.Windows;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("mpv(.net) conf edit")]
-[assembly: AssemblyCopyright("Copyright © stax76")]
+[assembly: AssemblyCopyright("Copyright © 2017 stax76")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -51,5 +51,5 @@ using System.Windows;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.1.0.0")]
-[assembly: AssemblyFileVersion("1.1.0.0")]
+[assembly: AssemblyVersion("1.2.0.0")]
+[assembly: AssemblyFileVersion("1.2.0.0")]
diff --git a/mpvConfEdit/mpvConfEdit.toml b/mpvConfEdit/mpvConfEdit.toml
index 52f77a4..17b21f8 100644
--- a/mpvConfEdit/mpvConfEdit.toml
+++ b/mpvConfEdit/mpvConfEdit.toml
@@ -19,6 +19,28 @@ options = [{ name = "no", help = "always use software decoding (Defaul
{ name = "crystalhd", help = "copies video back to system RAM (Any platform supported by hardware)" },
{ name = "rkmpp", help = "requires --vo=gpu (some RockChip devices only)" }]
+[[settings]]
+name = "gpu-api"
+default = "auto"
+filter = "Video"
+help = "--gpu-api= Controls which type of graphics APIs will be accepted."
+options = [{ name = "auto", help = "Use any available API (Default)" },
+ { name = "opengl", help = "Allow only OpenGL (requires OpenGL 2.1+ or GLES 2.0+)" },
+ { name = "vulkan", help = "Allow only Vulkan (requires a valid/working --spirv-compiler)" },
+ { name = "d3d11", help = "Allow only --gpu-context=d3d11" }]
+
+[[settings]]
+name = "gpu-context"
+default = "auto"
+filter = "Video"
+help = "--gpu-context= The value auto (the default) selects the GPU context. You can also pass help to get a complete list of compiled in backends (sorted by autoprobe order)."
+options = [{ name = "auto", help = "auto-select (Default)" },
+ { name = "win", help = "Win32/WGL" },
+ { name = "winvk", help = "VK_KHR_win32_surface" },
+ { name = "angle", help = "Direct3D11 through the OpenGL ES translation layer ANGLE. This supports almost everything the win backend does (if the ANGLE build is new enough)." },
+ { name = "dxinterop", help = "(experimental) Win32, using WGL for rendering and Direct3D 9Ex for presentation. Works on Nvidia and AMD. Newer Intel chips with the latest drivers may also work." },
+ { name = "d3d11", help = "Win32, with native Direct3D 11 rendering." }]
+
[[settings]]
name = "vo"
default = "gpu"
@@ -28,6 +50,96 @@ help = "--gpu= Video output drivers to be used. Default = gpu.\n\nFor more
options = [{ name = "gpu", help = "General purpose, customizable, GPU-accelerated video output driver. It supports extended scaling methods, dithering, color management, custom shaders, HDR, and more. (Default)" },
{ name = "direct3d", help = "Video output driver that uses the Direct3D interface" }]
+[[settings]]
+name = "video-sync"
+default = "audio"
+filter = "Video"
+help = "--video-sync=