From e5c9df31e45528ba572210bea76f7787fbaadff5 Mon Sep 17 00:00:00 2001 From: Frank Skare Date: Sat, 22 Jun 2019 06:27:22 +0200 Subject: [PATCH] - --- Changelog.md | 4 ++++ mpv.net/Misc/Misc.cs | 27 +++++++++++++++++++++++++++ mpv.net/Properties/AssemblyInfo.cs | 4 ++-- mpv.net/Resources/mpvConfToml.txt | 2 +- mpv.net/Resources/mpvNetConfToml.txt | 10 +++++++++- mpv.net/WinForms/MainForm.cs | 6 +----- 6 files changed, 44 insertions(+), 9 deletions(-) diff --git a/Changelog.md b/Changelog.md index c36ed66..fe26fd4 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,7 @@ +### 4.3.1 + +- there was a old bug setting the screen property + ### 4.3 - there was new bug in file association feature diff --git a/mpv.net/Misc/Misc.cs b/mpv.net/Misc/Misc.cs index 96fce6c..5a12ada 100644 --- a/mpv.net/Misc/Misc.cs +++ b/mpv.net/Misc/Misc.cs @@ -3,6 +3,7 @@ using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; +using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; @@ -12,6 +13,7 @@ using System.Runtime.Serialization; using System.Windows.Forms; using Microsoft.Win32; +using VB = Microsoft.VisualBasic; namespace mpvnet { @@ -28,6 +30,8 @@ namespace mpvnet public static string DarkMode { get; set; } = "always"; public static string ProcessInstance { get; set; } = "single"; + public static bool DebugMode { get; set; } = false; + public static bool IsDarkMode { get => (DarkMode == "system" && Sys.IsDarkTheme) || DarkMode == "always"; } @@ -36,6 +40,28 @@ namespace mpvnet { foreach (var i in Conf) ProcessProperty(i.Key, i.Value); + + if (App.DebugMode) + { + try + { + string filePath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\\mpvnet-debug.log"; + if (File.Exists(filePath)) File.Delete(filePath); + Trace.Listeners.Clear(); + Trace.Listeners.Add(new TextWriterTraceListener(filePath)); + foreach (Screen screen in Screen.AllScreens) + Trace.WriteLine(screen); + } + catch (Exception e) + { + Msg.ShowException(e); + } + } + } + + public static void Exit() + { + if (Trace.Listeners.Count > 0) Trace.Listeners[0].Close(); } static Dictionary _Conf; @@ -62,6 +88,7 @@ namespace mpvnet case "clipboard-monitoring": ClipboardMonitoring = value; break; case "process-instance": ProcessInstance = value; break; case "dark-mode": DarkMode = value; break; + case "debug-mode": DebugMode = value == "yes"; break; } } diff --git a/mpv.net/Properties/AssemblyInfo.cs b/mpv.net/Properties/AssemblyInfo.cs index 79b243c..ed3a4fc 100644 --- a/mpv.net/Properties/AssemblyInfo.cs +++ b/mpv.net/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // 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("4.3.0.0")] -[assembly: AssemblyFileVersion("4.3.0.0")] +[assembly: AssemblyVersion("4.3.1.0")] +[assembly: AssemblyFileVersion("4.3.1.0")] diff --git a/mpv.net/Resources/mpvConfToml.txt b/mpv.net/Resources/mpvConfToml.txt index 7d94ae2..7285d66 100644 --- a/mpv.net/Resources/mpvConfToml.txt +++ b/mpv.net/Resources/mpvConfToml.txt @@ -214,7 +214,7 @@ help = "See sub-color. Color used for sub text background. You can use sub-shado name = "screen" default = "" filter = "Screen" -help = "In multi-monitor configurations (i.e. a single desktop that spans across multiple displays), this option tells mpv which screen to display the video on." +help = "<0-32> In multi-monitor configurations (i.e. a single desktop that spans across multiple displays), this option tells mpv which screen to display the video on." [[settings]] name = "osd-playing-msg" diff --git a/mpv.net/Resources/mpvNetConfToml.txt b/mpv.net/Resources/mpvNetConfToml.txt index 8dab47d..86836fe 100644 --- a/mpv.net/Resources/mpvNetConfToml.txt +++ b/mpv.net/Resources/mpvNetConfToml.txt @@ -22,4 +22,12 @@ filter = "mpv.net" help = "Defines if more then one mpv.net process is allowed." options = [{ name = "multi", help = "Create a new process everytime the shell starts mpv.net" }, { name = "single", help = "Force a single process everytime the shell starts mpv.net" }, - { name = "queue", help = "Force a single process and add files to playlist" }] \ No newline at end of file + { name = "queue", help = "Force a single process and add files to playlist" }] + +[[settings]] +name = "debug-mode" +default = "no" +filter = "mpv.net" +help = "Writes debug info to a file located on the desktop." +options = [{ name = "yes" }, + { name = "no" }] \ No newline at end of file diff --git a/mpv.net/WinForms/MainForm.cs b/mpv.net/WinForms/MainForm.cs index ea49666..c81484d 100644 --- a/mpv.net/WinForms/MainForm.cs +++ b/mpv.net/WinForms/MainForm.cs @@ -49,10 +49,8 @@ namespace mpvnet var dummy = mp.Conf; App.ProcessCommandLineEarly(); - if (mp.Screen == -1) mp.Screen = Array.IndexOf(Screen.AllScreens, Screen.PrimaryScreen); SetScreen(mp.Screen); - ChangeFullscreen(mp.Fullscreen); } catch (Exception ex) @@ -224,9 +222,6 @@ namespace mpvnet int left = middlePos.X - rect.Width / 2; int top = middlePos.Y - rect.Height / 2; Screen[] screens = Screen.AllScreens; - if (left < screens[0].Bounds.Left) left = screens[0].Bounds.Left; - int maxLeft = screens[0].Bounds.Left + screens.Select((sc) => sc.Bounds.Width).Sum() - rect.Width - SystemInformation.CaptionHeight; - if (left > maxLeft) left = maxLeft; Native.SetWindowPos(Handle, IntPtr.Zero /* HWND_TOP */, left, top, rect.Width, rect.Height, 4 /* SWP_NOZORDER */); } @@ -505,6 +500,7 @@ namespace mpvnet { base.OnFormClosed(e); RegistryHelp.SetObject(App.RegPath, "Recent", RecentFiles.ToArray()); + App.Exit(); mp.commandv("quit"); mp.AutoResetEvent.WaitOne(3000); }