release v7.0.0.1 Beta
This commit is contained in:
@@ -1,14 +1,14 @@
|
|||||||
|
|
||||||
# v7.0.0.0 Beta (2023-??-??)
|
# v7.0.0.1 Beta (2023-12-11)
|
||||||
|
|
||||||
- [.NET 6 is a new requirement](https://dotnet.microsoft.com/en-us/download/dotnet/6.0)
|
- [.NET 6 is a new requirement](https://dotnet.microsoft.com/en-us/download/dotnet/6.0)
|
||||||
(Windows 7 is still supported)
|
(Windows 7 is still supported)
|
||||||
- The command palette was removed because of a compatibility problem with
|
- The command palette was removed because of a compatibility problem with
|
||||||
the .NET 6 platform. There are user scripts as replacement:
|
the .NET 6 platform. There are user scripts with similar functionality:
|
||||||
[command_palette](https://github.com/stax76/mpv-scripts#command_palette) or
|
- [command_palette](https://github.com/stax76/mpv-scripts#command_palette)
|
||||||
[search_menu](https://github.com/stax76/mpv-scripts#search_menu).
|
- [search_menu](https://github.com/stax76/mpv-scripts#search_menu)
|
||||||
Unfortunately the user scripts don't support IME mode which is a problem for Asian users.
|
- [uosc](https://github.com/tomasklaen/uosc)
|
||||||
- The blue mpv.net logo was removed for better mpv compatibility.
|
- The blue mpv.net logo was removed for better OSC compatibility.
|
||||||
- Fix message box exceding working area size.
|
- Fix message box exceding working area size.
|
||||||
- C# and PowerShell scripting was removed because of a compatibility problem
|
- C# and PowerShell scripting was removed because of a compatibility problem
|
||||||
with the .NET 6 platform. .NET extensions are supported with a new host
|
with the .NET 6 platform. .NET extensions are supported with a new host
|
||||||
@@ -28,9 +28,9 @@
|
|||||||
- Context menu and message boxes are available in the languages Chinese and German.
|
- Context menu and message boxes are available in the languages Chinese and German.
|
||||||
Interested joining our translation team?: https://app.transifex.com/stax76/teams/
|
Interested joining our translation team?: https://app.transifex.com/stax76/teams/
|
||||||
- Support for encoding mode and thumbfast.
|
- Support for encoding mode and thumbfast.
|
||||||
- For script authors the following info is available in user-data:
|
- For script authors, the following info is available in user-data:
|
||||||
user-data/frontend/name=mpv.net
|
user-data/frontend/name=mpv.net
|
||||||
user-data/frontend/version=7.0.0.0
|
user-data/frontend/version=version name
|
||||||
user-data/frontend/process-path=the process path
|
user-data/frontend/process-path=the process path
|
||||||
- MediaInfo 23.11
|
- MediaInfo 23.11
|
||||||
- libmpv zhongfly 2023-11-03.
|
- libmpv zhongfly 2023-11-03.
|
||||||
|
|||||||
@@ -5,13 +5,14 @@
|
|||||||
<TargetFramework>net6.0-windows</TargetFramework>
|
<TargetFramework>net6.0-windows</TargetFramework>
|
||||||
<RootNamespace>MpvNet.Windows</RootNamespace>
|
<RootNamespace>MpvNet.Windows</RootNamespace>
|
||||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||||
|
<PublishSingleFile>true</PublishSingleFile>
|
||||||
<AssemblyName>mpvnet</AssemblyName>
|
<AssemblyName>mpvnet</AssemblyName>
|
||||||
<UseWPF>true</UseWPF>
|
<UseWPF>true</UseWPF>
|
||||||
<UseWindowsForms>true</UseWindowsForms>
|
<UseWindowsForms>true</UseWindowsForms>
|
||||||
<ApplicationIcon>mpv-icon.ico</ApplicationIcon>
|
<ApplicationIcon>mpv-icon.ico</ApplicationIcon>
|
||||||
<Product>mpv.net</Product>
|
<Product>mpv.net</Product>
|
||||||
<AssemblyVersion>7.0.0.0</AssemblyVersion>
|
<AssemblyVersion>7.0.0.1</AssemblyVersion>
|
||||||
<FileVersion>7.0.0.0</FileVersion>
|
<FileVersion>7.0.0.1</FileVersion>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ static class Program
|
|||||||
{
|
{
|
||||||
App.AutoLoadFolder = false;
|
App.AutoLoadFolder = false;
|
||||||
Player.Init(IntPtr.Zero);
|
Player.Init(IntPtr.Zero);
|
||||||
Player.ProcessCommandLine(false);
|
Player.ProcessCommandLineFiles();
|
||||||
Player.SetPropertyString("idle", "no");
|
Player.SetPropertyString("idle", "no");
|
||||||
Player.EventLoop();
|
Player.EventLoop();
|
||||||
Player.Destroy();
|
Player.Destroy();
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
|
|
||||||
$tmpDir = 'D:\Work'
|
|
||||||
$exePath = $PSScriptRoot + '\bin\mpvnet.exe'
|
|
||||||
$versionInfo = [Diagnostics.FileVersionInfo]::GetVersionInfo($exePath)
|
|
||||||
$7z = 'C:\Program Files\7-Zip\7z.exe'
|
|
||||||
|
|
||||||
$targetDir = $tmpDir + "\mpvnet-$($versionInfo.FileVersion)-beta"
|
|
||||||
Copy-Item $PSScriptRoot\bin $targetDir -Recurse -Exclude System.Management.Automation.xml
|
|
||||||
|
|
||||||
$folders = 'Debug', 'Release', 'x64', 'x86', 'Arm'
|
|
||||||
|
|
||||||
foreach ($folder in $folders) {
|
|
||||||
Remove-Item (Join-Path $targetDir $folder) -Recurse -ErrorAction SilentlyContinue
|
|
||||||
}
|
|
||||||
|
|
||||||
& $7z a -tzip -mx9 "$targetDir.zip" -r "$targetDir\*"
|
|
||||||
|
|
||||||
if ($LastExitCode)
|
|
||||||
{ throw $LastExitCode }
|
|
||||||
|
|
||||||
Write-Host 'successfully finished' -ForegroundColor Green
|
|
||||||
@@ -105,15 +105,11 @@ public partial class InputWindow : Window
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (App.InputConf.HasMenu)
|
if (App.InputConf.HasMenu)
|
||||||
{
|
|
||||||
App.InputConf.CreateBackup();
|
|
||||||
File.WriteAllText(App.InputConf.Path, App.InputConf.Content = newContent);
|
File.WriteAllText(App.InputConf.Path, App.InputConf.Content = newContent);
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
newContent = InputHelp.ConvertToString(InputHelp.GetReducedBindings(Bindings));
|
newContent = InputHelp.ConvertToString(InputHelp.GetReducedBindings(Bindings));
|
||||||
newContent = newContent.Replace("#menu: ", "# ");
|
newContent = newContent.Replace("#menu: ", "# ");
|
||||||
App.InputConf.CreateBackup();
|
|
||||||
File.WriteAllText(App.InputConf.Path, App.InputConf.Content = newContent);
|
File.WriteAllText(App.InputConf.Path, App.InputConf.Content = newContent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -163,7 +163,7 @@ public partial class MainForm : Form
|
|||||||
|
|
||||||
Player.ObservePropertyDouble("window-scale", PropChangeWindowScale);
|
Player.ObservePropertyDouble("window-scale", PropChangeWindowScale);
|
||||||
|
|
||||||
Player.ProcessCommandLine(false);
|
Player.ProcessCommandLineFiles();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PropChangeWindowScale(double scale)
|
void PropChangeWindowScale(double scale)
|
||||||
|
|||||||
@@ -73,15 +73,4 @@ public class InputConf
|
|||||||
return InputHelp.ConvertToString(defaults);
|
return InputHelp.ConvertToString(defaults);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CreateBackup()
|
|
||||||
{
|
|
||||||
if (!File.Exists(Path))
|
|
||||||
return;
|
|
||||||
|
|
||||||
string targetPath = System.IO.Path.GetTempPath().AddSep() +
|
|
||||||
"mpv.net input.conf backup " + Guid.NewGuid() + ".conf";
|
|
||||||
|
|
||||||
File.Copy(Path, targetPath);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ public class MainPlayer : MpvClient
|
|||||||
if (!string.IsNullOrEmpty(UsedInputConfContent))
|
if (!string.IsNullOrEmpty(UsedInputConfContent))
|
||||||
SetPropertyString("input-conf", @"memory://" + UsedInputConfContent);
|
SetPropertyString("input-conf", @"memory://" + UsedInputConfContent);
|
||||||
|
|
||||||
ProcessCommandLine(true);
|
ProcessCommandLineArgs();
|
||||||
|
|
||||||
if (App.CommandLineArguments.ContainsKey("config-dir"))
|
if (App.CommandLineArguments.ContainsKey("config-dir"))
|
||||||
{
|
{
|
||||||
@@ -407,114 +407,102 @@ 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 ProcessCommandLine(bool preInit)
|
public void ProcessCommandLineArgs()
|
||||||
{
|
{
|
||||||
bool shuffle = false;
|
foreach (string i in Environment.GetCommandLineArgs().Skip(1))
|
||||||
var args = Environment.GetCommandLineArgs().Skip(1);
|
|
||||||
|
|
||||||
foreach (string i in args)
|
|
||||||
{
|
{
|
||||||
string arg = i;
|
string arg = i;
|
||||||
|
|
||||||
if (arg.StartsWith("-") && arg.Length > 1)
|
if (!arg.StartsWith("--"))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (arg == "--profile=help")
|
||||||
{
|
{
|
||||||
if (!preInit)
|
Console.WriteLine(GetProfiles());
|
||||||
{
|
continue;
|
||||||
if (arg == "--profile=help")
|
|
||||||
{
|
|
||||||
Console.WriteLine(GetProfiles());
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else if (arg == "--vd=help" || arg == "--ad=help")
|
|
||||||
{
|
|
||||||
Console.WriteLine(GetDecoders());
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else if (arg == "--audio-device=help")
|
|
||||||
{
|
|
||||||
Console.WriteLine(GetPropertyOsdString("audio-device-list"));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else if (arg == "--version")
|
|
||||||
{
|
|
||||||
Console.WriteLine(AppClass.About);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else if (arg == "--input-keylist")
|
|
||||||
{
|
|
||||||
Console.WriteLine(GetPropertyString("input-key-list").Replace(",", BR));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else if (arg.StartsWith("--command="))
|
|
||||||
{
|
|
||||||
Command(arg[10..]);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!arg.StartsWith("--"))
|
|
||||||
arg = "-" + arg;
|
|
||||||
|
|
||||||
if (!arg.Contains('='))
|
|
||||||
{
|
|
||||||
if (arg.Contains("--no-"))
|
|
||||||
{
|
|
||||||
arg = arg.Replace("--no-", "--");
|
|
||||||
arg += "=no";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
arg += "=yes";
|
|
||||||
}
|
|
||||||
|
|
||||||
string left = arg[2..arg.IndexOf("=")];
|
|
||||||
string right = arg[(left.Length + 3)..];
|
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(left))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
switch (left)
|
|
||||||
{
|
|
||||||
case "script": left = "scripts"; break;
|
|
||||||
case "audio-file": left = "audio-files"; break;
|
|
||||||
case "sub-file": left = "sub-files"; break;
|
|
||||||
case "external-file": left = "external-files"; break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (left == "shuffle" && right == "yes")
|
|
||||||
shuffle = true;
|
|
||||||
|
|
||||||
App.CommandLineArguments[left] = right;
|
|
||||||
|
|
||||||
ProcessProperty(left, right);
|
|
||||||
|
|
||||||
if (!App.ProcessProperty(left, right))
|
|
||||||
SetPropertyString(left, right);
|
|
||||||
}
|
}
|
||||||
|
else if (arg == "--vd=help" || arg == "--ad=help")
|
||||||
|
{
|
||||||
|
Console.WriteLine(GetDecoders());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if (arg == "--audio-device=help")
|
||||||
|
{
|
||||||
|
Console.WriteLine(GetPropertyOsdString("audio-device-list"));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if (arg == "--version")
|
||||||
|
{
|
||||||
|
Console.WriteLine(AppClass.About);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if (arg == "--input-keylist")
|
||||||
|
{
|
||||||
|
Console.WriteLine(GetPropertyString("input-key-list").Replace(",", BR));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if (arg.StartsWith("--command="))
|
||||||
|
{
|
||||||
|
Command(arg[10..]);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!arg.Contains('='))
|
||||||
|
{
|
||||||
|
if (arg.Contains("--no-"))
|
||||||
|
{
|
||||||
|
arg = arg.Replace("--no-", "--");
|
||||||
|
arg += "=no";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
arg += "=yes";
|
||||||
|
}
|
||||||
|
|
||||||
|
string left = arg[2..arg.IndexOf("=")];
|
||||||
|
string right = arg[(left.Length + 3)..];
|
||||||
|
|
||||||
|
if (string.IsNullOrEmpty(left))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
switch (left)
|
||||||
|
{
|
||||||
|
case "script": left = "scripts"; break;
|
||||||
|
case "audio-file": left = "audio-files"; break;
|
||||||
|
case "sub-file": left = "sub-files"; break;
|
||||||
|
case "external-file": left = "external-files"; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
App.CommandLineArguments[left] = right;
|
||||||
|
|
||||||
|
ProcessProperty(left, right);
|
||||||
|
|
||||||
|
if (!App.ProcessProperty(left, right))
|
||||||
|
SetPropertyString(left, right);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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, false || App.Queue);
|
||||||
|
|
||||||
|
if (App.CommandLine.Contains("--shuffle"))
|
||||||
|
{
|
||||||
|
Command("playlist-shuffle");
|
||||||
|
SetPropertyInt("playlist-pos", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!preInit)
|
if (files.Count == 0 || files[0].Contains("://"))
|
||||||
{
|
{
|
||||||
List<string> files = new List<string>();
|
VideoSizeChanged?.Invoke(VideoSize);
|
||||||
|
VideoSizeAutoResetEvent.Set();
|
||||||
foreach (string arg in args)
|
|
||||||
if (!arg.StartsWith("--") && (arg == "-" || arg.Contains("://") ||
|
|
||||||
arg.Contains(":\\") || arg.StartsWith("\\\\") || File.Exists(arg)))
|
|
||||||
|
|
||||||
files.Add(arg);
|
|
||||||
|
|
||||||
LoadFiles(files.ToArray(), !App.Queue, false || App.Queue);
|
|
||||||
|
|
||||||
if (shuffle)
|
|
||||||
{
|
|
||||||
Command("playlist-shuffle");
|
|
||||||
SetPropertyInt("playlist-pos", 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (files.Count == 0 || files[0].Contains("://"))
|
|
||||||
{
|
|
||||||
VideoSizeChanged?.Invoke(VideoSize);
|
|
||||||
VideoSizeAutoResetEvent.Set();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user