release v7.0.0.1 Beta

This commit is contained in:
stax76
2023-12-11 11:38:36 +01:00
parent a61a0506fd
commit 8e45cdb47d
8 changed files with 101 additions and 148 deletions

View File

@@ -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)
(Windows 7 is still supported)
- The command palette was removed because of a compatibility problem with
the .NET 6 platform. There are user scripts as replacement:
[command_palette](https://github.com/stax76/mpv-scripts#command_palette) or
[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.
- The blue mpv.net logo was removed for better mpv compatibility.
the .NET 6 platform. There are user scripts with similar functionality:
- [command_palette](https://github.com/stax76/mpv-scripts#command_palette)
- [search_menu](https://github.com/stax76/mpv-scripts#search_menu)
- [uosc](https://github.com/tomasklaen/uosc)
- The blue mpv.net logo was removed for better OSC compatibility.
- Fix message box exceding working area size.
- C# and PowerShell scripting was removed because of a compatibility problem
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.
Interested joining our translation team?: https://app.transifex.com/stax76/teams/
- 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/version=7.0.0.0
user-data/frontend/version=version name
user-data/frontend/process-path=the process path
- MediaInfo 23.11
- libmpv zhongfly 2023-11-03.

View File

@@ -5,13 +5,14 @@
<TargetFramework>net6.0-windows</TargetFramework>
<RootNamespace>MpvNet.Windows</RootNamespace>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<PublishSingleFile>true</PublishSingleFile>
<AssemblyName>mpvnet</AssemblyName>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
<ApplicationIcon>mpv-icon.ico</ApplicationIcon>
<Product>mpv.net</Product>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<FileVersion>7.0.0.0</FileVersion>
<AssemblyVersion>7.0.0.1</AssemblyVersion>
<FileVersion>7.0.0.1</FileVersion>
<Nullable>enable</Nullable>
</PropertyGroup>

View File

@@ -101,7 +101,7 @@ static class Program
{
App.AutoLoadFolder = false;
Player.Init(IntPtr.Zero);
Player.ProcessCommandLine(false);
Player.ProcessCommandLineFiles();
Player.SetPropertyString("idle", "no");
Player.EventLoop();
Player.Destroy();

View File

@@ -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

View File

@@ -105,15 +105,11 @@ public partial class InputWindow : Window
return;
if (App.InputConf.HasMenu)
{
App.InputConf.CreateBackup();
File.WriteAllText(App.InputConf.Path, App.InputConf.Content = newContent);
}
else
{
newContent = InputHelp.ConvertToString(InputHelp.GetReducedBindings(Bindings));
newContent = newContent.Replace("#menu: ", "# ");
App.InputConf.CreateBackup();
File.WriteAllText(App.InputConf.Path, App.InputConf.Content = newContent);
}

View File

@@ -163,7 +163,7 @@ public partial class MainForm : Form
Player.ObservePropertyDouble("window-scale", PropChangeWindowScale);
Player.ProcessCommandLine(false);
Player.ProcessCommandLineFiles();
}
void PropChangeWindowScale(double scale)

View File

@@ -73,15 +73,4 @@ public class InputConf
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);
}
}

View File

@@ -111,7 +111,7 @@ public class MainPlayer : MpvClient
if (!string.IsNullOrEmpty(UsedInputConfContent))
SetPropertyString("input-conf", @"memory://" + UsedInputConfContent);
ProcessCommandLine(true);
ProcessCommandLineArgs();
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 ProcessCommandLine(bool preInit)
public void ProcessCommandLineArgs()
{
bool shuffle = false;
var args = Environment.GetCommandLineArgs().Skip(1);
foreach (string i in args)
foreach (string i in Environment.GetCommandLineArgs().Skip(1))
{
string arg = i;
if (arg.StartsWith("-") && arg.Length > 1)
if (!arg.StartsWith("--"))
continue;
if (arg == "--profile=help")
{
if (!preInit)
{
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);
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.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>();
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();
}
VideoSizeChanged?.Invoke(VideoSize);
VideoSizeAutoResetEvent.Set();
}
}