v7.1.1.0
This commit is contained in:
@@ -1,10 +1,11 @@
|
|||||||
|
|
||||||
# v7.1.0.1 Beta (2024-??-??)
|
# v7.1.1.0 (2024-02-03)
|
||||||
|
|
||||||
- Chinese and Japanese translation updated. Thanks to the translation team!
|
- Chinese and Japanese translation updated. Thanks to the translation team!
|
||||||
|
- Fix command line arguments being ingnored in some situations.
|
||||||
|
|
||||||
|
|
||||||
# v7.1.0.0 Beta (2024-01-12)
|
# v7.1.0.0 (2024-01-12)
|
||||||
|
|
||||||
- The menu item that shows profiles was moved into the menu item that lists profiles.
|
- The menu item that shows profiles was moved into the menu item that lists profiles.
|
||||||
- Fix geometry not working when used from mpv.conf and the conf editor.
|
- Fix geometry not working when used from mpv.conf and the conf editor.
|
||||||
|
|||||||
@@ -11,9 +11,9 @@
|
|||||||
<UseWindowsForms>true</UseWindowsForms>
|
<UseWindowsForms>true</UseWindowsForms>
|
||||||
<ApplicationIcon>mpv-icon.ico</ApplicationIcon>
|
<ApplicationIcon>mpv-icon.ico</ApplicationIcon>
|
||||||
<Product>mpv.net</Product>
|
<Product>mpv.net</Product>
|
||||||
<FileVersion>7.1.0.0</FileVersion>
|
<FileVersion>7.1.1.0</FileVersion>
|
||||||
<AssemblyVersion>7.1.0.0</AssemblyVersion>
|
<AssemblyVersion>7.1.1.0</AssemblyVersion>
|
||||||
<InformationalVersion>7.1.0.0</InformationalVersion>
|
<InformationalVersion>7.1.1.0</InformationalVersion>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -101,9 +101,9 @@ static class Program
|
|||||||
else if (App.CommandLine.Contains("--o="))
|
else if (App.CommandLine.Contains("--o="))
|
||||||
{
|
{
|
||||||
App.AutoLoadFolder = false;
|
App.AutoLoadFolder = false;
|
||||||
Player.Init(IntPtr.Zero);
|
Player.Init(IntPtr.Zero, true);
|
||||||
Player.ProcessCommandLineArgsPost();
|
CommandLine.ProcessCommandLineArgsPostInit();
|
||||||
Player.ProcessCommandLineFiles();
|
CommandLine.ProcessCommandLineFiles();
|
||||||
Player.SetPropertyString("idle", "no");
|
Player.SetPropertyString("idle", "no");
|
||||||
Player.EventLoop();
|
Player.EventLoop();
|
||||||
Player.Destroy();
|
Player.Destroy();
|
||||||
|
|||||||
@@ -68,7 +68,30 @@ public partial class MainForm : Form
|
|||||||
GuiCommand.Current.WindowScaleNet += GuiCommand_WindowScaleNet;
|
GuiCommand.Current.WindowScaleNet += GuiCommand_WindowScaleNet;
|
||||||
GuiCommand.Current.ShowMenu += GuiCommand_ShowMenu;
|
GuiCommand.Current.ShowMenu += GuiCommand_ShowMenu;
|
||||||
|
|
||||||
Init();
|
Player.Init(Handle, true);
|
||||||
|
|
||||||
|
// bool methods not working correctly
|
||||||
|
Player.ObserveProperty("window-maximized", PropChangeWindowMaximized);
|
||||||
|
Player.ObserveProperty("window-minimized", PropChangeWindowMinimized);
|
||||||
|
|
||||||
|
Player.ObservePropertyBool("border", PropChangeBorder);
|
||||||
|
Player.ObservePropertyBool("fullscreen", PropChangeFullscreen);
|
||||||
|
Player.ObservePropertyBool("keepaspect-window", value => Player.KeepaspectWindow = value);
|
||||||
|
Player.ObservePropertyBool("ontop", PropChangeOnTop);
|
||||||
|
Player.ObservePropertyBool("title-bar", PropChangeTitleBar);
|
||||||
|
|
||||||
|
Player.ObservePropertyString("sid", PropChangeSid);
|
||||||
|
Player.ObservePropertyString("aid", PropChangeAid);
|
||||||
|
Player.ObservePropertyString("vid", PropChangeVid);
|
||||||
|
|
||||||
|
Player.ObservePropertyString("title", PropChangeTitle);
|
||||||
|
|
||||||
|
Player.ObservePropertyInt("edition", PropChangeEdition);
|
||||||
|
|
||||||
|
Player.ObservePropertyDouble("window-scale", PropChangeWindowScale);
|
||||||
|
|
||||||
|
CommandLine.ProcessCommandLineArgsPostInit();
|
||||||
|
CommandLine.ProcessCommandLineFiles();
|
||||||
|
|
||||||
_taskbarButtonCreatedMessage = RegisterWindowMessage("TaskbarButtonCreated");
|
_taskbarButtonCreatedMessage = RegisterWindowMessage("TaskbarButtonCreated");
|
||||||
|
|
||||||
@@ -145,34 +168,6 @@ public partial class MainForm : Form
|
|||||||
SetTitle();
|
SetTitle();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Init()
|
|
||||||
{
|
|
||||||
Player.Init(Handle);
|
|
||||||
|
|
||||||
// bool methods not working correctly
|
|
||||||
Player.ObserveProperty("window-maximized", PropChangeWindowMaximized);
|
|
||||||
Player.ObserveProperty("window-minimized", PropChangeWindowMinimized);
|
|
||||||
|
|
||||||
Player.ObservePropertyBool("border", PropChangeBorder);
|
|
||||||
Player.ObservePropertyBool("fullscreen", PropChangeFullscreen);
|
|
||||||
Player.ObservePropertyBool("keepaspect-window", value => Player.KeepaspectWindow = value);
|
|
||||||
Player.ObservePropertyBool("ontop", PropChangeOnTop);
|
|
||||||
Player.ObservePropertyBool("title-bar", PropChangeTitleBar);
|
|
||||||
|
|
||||||
Player.ObservePropertyString("sid", PropChangeSid);
|
|
||||||
Player.ObservePropertyString("aid", PropChangeAid);
|
|
||||||
Player.ObservePropertyString("vid", PropChangeVid);
|
|
||||||
|
|
||||||
Player.ObservePropertyString("title", PropChangeTitle);
|
|
||||||
|
|
||||||
Player.ObservePropertyInt("edition", PropChangeEdition);
|
|
||||||
|
|
||||||
Player.ObservePropertyDouble("window-scale", PropChangeWindowScale);
|
|
||||||
|
|
||||||
Player.ProcessCommandLineArgsPost();
|
|
||||||
Player.ProcessCommandLineFiles();
|
|
||||||
}
|
|
||||||
|
|
||||||
void PropChangeWindowScale(double scale)
|
void PropChangeWindowScale(double scale)
|
||||||
{
|
{
|
||||||
if (!WasShown)
|
if (!WasShown)
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ public class CommandLine
|
|||||||
{
|
{
|
||||||
static List<StringPair>? _arguments;
|
static List<StringPair>? _arguments;
|
||||||
|
|
||||||
|
static string[] _preInitProperties { get; } = {
|
||||||
|
"input-terminal", "terminal", "input-file", "config", "o",
|
||||||
|
"config-dir", "input-conf", "load-scripts", "scripts", "player-operation-mode",
|
||||||
|
"idle", "log-file", "msg-color", "dump-stats", "msg-level", "really-quiet" };
|
||||||
|
|
||||||
public static List<StringPair> Arguments
|
public static List<StringPair> Arguments
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -53,6 +58,78 @@ public class CommandLine
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void ProcessCommandLineArgsPreInit()
|
||||||
|
{
|
||||||
|
foreach (var pair in Arguments)
|
||||||
|
{
|
||||||
|
if (pair.Name.EndsWith("-add") ||
|
||||||
|
pair.Name.EndsWith("-set") ||
|
||||||
|
pair.Name.EndsWith("-pre") ||
|
||||||
|
pair.Name.EndsWith("-clr") ||
|
||||||
|
pair.Name.EndsWith("-append") ||
|
||||||
|
pair.Name.EndsWith("-remove") ||
|
||||||
|
pair.Name.EndsWith("-toggle"))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
Player.ProcessProperty(pair.Name, pair.Value);
|
||||||
|
|
||||||
|
if (!App.ProcessProperty(pair.Name, pair.Value))
|
||||||
|
Player.SetPropertyString(pair.Name, pair.Value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ProcessCommandLineArgsPostInit()
|
||||||
|
{
|
||||||
|
foreach (var pair in Arguments)
|
||||||
|
{
|
||||||
|
if (_preInitProperties.Contains(pair.Name))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (pair.Name.EndsWith("-add"))
|
||||||
|
Player.CommandV("change-list", pair.Name[..^4], "add", pair.Value);
|
||||||
|
else if (pair.Name.EndsWith("-set"))
|
||||||
|
Player.CommandV("change-list", pair.Name[..^4], "set", pair.Value);
|
||||||
|
else if (pair.Name.EndsWith("-append"))
|
||||||
|
Player.CommandV("change-list", pair.Name[..^7], "append", pair.Value);
|
||||||
|
else if (pair.Name.EndsWith("-pre"))
|
||||||
|
Player.CommandV("change-list", pair.Name[..^4], "pre", pair.Value);
|
||||||
|
else if (pair.Name.EndsWith("-clr"))
|
||||||
|
Player.CommandV("change-list", pair.Name[..^4], "clr", "");
|
||||||
|
else if (pair.Name.EndsWith("-remove"))
|
||||||
|
Player.CommandV("change-list", pair.Name[..^7], "remove", pair.Value);
|
||||||
|
else if (pair.Name.EndsWith("-toggle"))
|
||||||
|
Player.CommandV("change-list", pair.Name[..^7], "toggle", pair.Value);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Player.ProcessProperty(pair.Name, pair.Value);
|
||||||
|
|
||||||
|
if (!App.ProcessProperty(pair.Name, pair.Value))
|
||||||
|
Player.SetPropertyString(pair.Name, pair.Value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ProcessCommandLineFiles()
|
||||||
|
{
|
||||||
|
List<string> files = new List<string>();
|
||||||
|
|
||||||
|
foreach (string arg in Environment.GetCommandLineArgs().Skip(1))
|
||||||
|
if (!arg.StartsWith("--") && (arg == "-" || arg.Contains("://") ||
|
||||||
|
arg.Contains(":\\") || arg.StartsWith("\\\\") || File.Exists(arg)))
|
||||||
|
|
||||||
|
files.Add(arg);
|
||||||
|
|
||||||
|
Player.LoadFiles(files.ToArray(), !App.Queue, App.Queue);
|
||||||
|
|
||||||
|
if (App.CommandLine.Contains("--shuffle"))
|
||||||
|
{
|
||||||
|
Player.Command("playlist-shuffle");
|
||||||
|
Player.SetPropertyInt("playlist-pos", 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static bool Contains(string name)
|
public static bool Contains(string name)
|
||||||
{
|
{
|
||||||
foreach (StringPair pair in Arguments)
|
foreach (StringPair pair in Arguments)
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ public class MainPlayer : MpvClient
|
|||||||
public event Action<int>? PlaylistPosChanged;
|
public event Action<int>? PlaylistPosChanged;
|
||||||
public event Action<Size>? VideoSizeChanged;
|
public event Action<Size>? VideoSizeChanged;
|
||||||
|
|
||||||
public void Init(IntPtr formHandle, bool processCommandLineArguments = true)
|
public void Init(IntPtr formHandle, bool processCommandLine)
|
||||||
{
|
{
|
||||||
App.ApplyShowMenuFix();
|
App.ApplyShowMenuFix();
|
||||||
|
|
||||||
@@ -93,7 +93,10 @@ public class MainPlayer : MpvClient
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (formHandle != IntPtr.Zero)
|
if (formHandle != IntPtr.Zero)
|
||||||
|
{
|
||||||
|
SetPropertyString("force-window", "yes");
|
||||||
SetPropertyLong("wid", formHandle.ToInt64());
|
SetPropertyLong("wid", formHandle.ToInt64());
|
||||||
|
}
|
||||||
|
|
||||||
SetPropertyInt("osd-duration", 2000);
|
SetPropertyInt("osd-duration", 2000);
|
||||||
|
|
||||||
@@ -104,7 +107,6 @@ public class MainPlayer : MpvClient
|
|||||||
SetPropertyString("screenshot-directory", "~~desktop/");
|
SetPropertyString("screenshot-directory", "~~desktop/");
|
||||||
SetPropertyString("osd-playing-msg", "${media-title}");
|
SetPropertyString("osd-playing-msg", "${media-title}");
|
||||||
SetPropertyString("osc", "yes");
|
SetPropertyString("osc", "yes");
|
||||||
SetPropertyString("force-window", "yes");
|
|
||||||
SetPropertyString("config-dir", ConfigFolder);
|
SetPropertyString("config-dir", ConfigFolder);
|
||||||
SetPropertyString("config", "yes");
|
SetPropertyString("config", "yes");
|
||||||
|
|
||||||
@@ -113,8 +115,8 @@ public class MainPlayer : MpvClient
|
|||||||
if (!string.IsNullOrEmpty(UsedInputConfContent))
|
if (!string.IsNullOrEmpty(UsedInputConfContent))
|
||||||
SetPropertyString("input-conf", @"memory://" + UsedInputConfContent);
|
SetPropertyString("input-conf", @"memory://" + UsedInputConfContent);
|
||||||
|
|
||||||
if (processCommandLineArguments)
|
if (processCommandLine)
|
||||||
ProcessCommandLineArgs();
|
CommandLine.ProcessCommandLineArgsPreInit();
|
||||||
|
|
||||||
if (CommandLine.Contains("config-dir"))
|
if (CommandLine.Contains("config-dir"))
|
||||||
{
|
{
|
||||||
@@ -415,67 +417,6 @@ public class MainPlayer : MpvClient
|
|||||||
|
|
||||||
public void SetBluRayTitle(int id) => LoadFiles(new[] { @"bd://" + id }, false, false);
|
public void SetBluRayTitle(int id) => LoadFiles(new[] { @"bd://" + id }, false, false);
|
||||||
|
|
||||||
public void ProcessCommandLineArgs()
|
|
||||||
{
|
|
||||||
foreach (var pair in CommandLine.Arguments)
|
|
||||||
{
|
|
||||||
if (pair.Name.EndsWith("-add") ||
|
|
||||||
pair.Name.EndsWith("-set") ||
|
|
||||||
pair.Name.EndsWith("-pre") ||
|
|
||||||
pair.Name.EndsWith("-clr") ||
|
|
||||||
pair.Name.EndsWith("-append") ||
|
|
||||||
pair.Name.EndsWith("-remove") ||
|
|
||||||
pair.Name.EndsWith("-toggle"))
|
|
||||||
|
|
||||||
continue;
|
|
||||||
|
|
||||||
ProcessProperty(pair.Name, pair.Value);
|
|
||||||
|
|
||||||
if (!App.ProcessProperty(pair.Name, pair.Value))
|
|
||||||
SetPropertyString(pair.Name, pair.Value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ProcessCommandLineArgsPost()
|
|
||||||
{
|
|
||||||
foreach (var pair in CommandLine.Arguments)
|
|
||||||
{
|
|
||||||
if (pair.Name.EndsWith("-add"))
|
|
||||||
CommandV("change-list", pair.Name[..^4], "add", pair.Value);
|
|
||||||
else if (pair.Name.EndsWith("-set"))
|
|
||||||
CommandV("change-list", pair.Name[..^4], "set", pair.Value);
|
|
||||||
else if (pair.Name.EndsWith("-append"))
|
|
||||||
CommandV("change-list", pair.Name[..^7], "append", pair.Value);
|
|
||||||
else if (pair.Name.EndsWith("-pre"))
|
|
||||||
CommandV("change-list", pair.Name[..^4], "pre", pair.Value);
|
|
||||||
else if (pair.Name.EndsWith("-clr"))
|
|
||||||
CommandV("change-list", pair.Name[..^4], "clr", "");
|
|
||||||
else if (pair.Name.EndsWith("-remove"))
|
|
||||||
CommandV("change-list", pair.Name[..^7], "remove", pair.Value);
|
|
||||||
else if (pair.Name.EndsWith("-toggle"))
|
|
||||||
CommandV("change-list", pair.Name[..^7], "toggle", pair.Value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ProcessCommandLineFiles()
|
|
||||||
{
|
|
||||||
List<string> files = new List<string>();
|
|
||||||
|
|
||||||
foreach (string arg in Environment.GetCommandLineArgs().Skip(1))
|
|
||||||
if (!arg.StartsWith("--") && (arg == "-" || arg.Contains("://") ||
|
|
||||||
arg.Contains(":\\") || arg.StartsWith("\\\\") || File.Exists(arg)))
|
|
||||||
|
|
||||||
files.Add(arg);
|
|
||||||
|
|
||||||
LoadFiles(files.ToArray(), !App.Queue, App.Queue);
|
|
||||||
|
|
||||||
if (App.CommandLine.Contains("--shuffle"))
|
|
||||||
{
|
|
||||||
Command("playlist-shuffle");
|
|
||||||
SetPropertyInt("playlist-pos", 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public DateTime LastLoad;
|
public DateTime LastLoad;
|
||||||
|
|
||||||
public void LoadFiles(string[]? files, bool loadFolder, bool append)
|
public void LoadFiles(string[]? files, bool loadFolder, bool append)
|
||||||
|
|||||||
Reference in New Issue
Block a user