misc...
@@ -2,6 +2,10 @@
|
|||||||
not yet released
|
not yet released
|
||||||
|
|
||||||
- Various conf editor improvements. (hooke007)
|
- Various conf editor improvements. (hooke007)
|
||||||
|
- Custom conf folder location feature removed
|
||||||
|
(a directory sym link can be used instead).
|
||||||
|
- Inno Setup replaced with MS Store MSIX setup,
|
||||||
|
winget and chocolatey support will follow shortly.
|
||||||
|
|
||||||
|
|
||||||
5.5.0.4 Beta (2021-11-05)
|
5.5.0.4 Beta (2021-11-05)
|
||||||
|
|||||||
@@ -116,25 +116,11 @@ Settings
|
|||||||
mpv.net searches the config folder at:
|
mpv.net searches the config folder at:
|
||||||
|
|
||||||
1. startup\portable_config
|
1. startup\portable_config
|
||||||
2. %APPDATA%\mpv.net
|
2. %APPDATA%\mpv.net (`C:\Users\%USERNAME%\AppData\Roaming\mpv.net`)
|
||||||
|
|
||||||
In order to use a custom directory create following file:
|
mpv options are stored in the file mpv.conf,
|
||||||
|
mpv.net options are stored in the file mpvnet.conf,
|
||||||
startup\settings-directory.txt
|
mpv.net options are documented [here](#mpvnet-specific-options).
|
||||||
|
|
||||||
Put your custom directory in that file.
|
|
||||||
|
|
||||||
The custom directory path can be relative to the startup directory path.
|
|
||||||
|
|
||||||
This custom directory is only used if the portable_config and %APPDATA% directory does not exist.
|
|
||||||
|
|
||||||
mpv specific settings are stored in the file mpv.conf, if no mpv.conf file exists
|
|
||||||
mpv.net generates it with the following defaults:
|
|
||||||
|
|
||||||
[mpv.conf defaults](../../../tree/master/src/Resources/mpv.conf.txt)
|
|
||||||
|
|
||||||
mpv.net specific options are stored in the file mpvnet.conf,
|
|
||||||
these options are documented [here](#mpvnet-specific-options).
|
|
||||||
|
|
||||||
|
|
||||||
Input and context menu
|
Input and context menu
|
||||||
|
|||||||
@@ -245,5 +245,14 @@ namespace mpvnet
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void CopyMpvnetCom()
|
||||||
|
{
|
||||||
|
string dir = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData).AddSep() +
|
||||||
|
"Microsoft\\WindowsApps\\";
|
||||||
|
|
||||||
|
if (File.Exists(dir + "mpvnet.exe") && !File.Exists(dir + "mpvnet.com"))
|
||||||
|
File.Copy(Folder.Startup + "mpvnet.com", dir + "mpvnet.com");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@@ -9,6 +10,8 @@ using System.Windows;
|
|||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Windows.Interop;
|
using System.Windows.Interop;
|
||||||
|
|
||||||
|
using WinForms = System.Windows.Forms;
|
||||||
|
|
||||||
using static mpvnet.Global;
|
using static mpvnet.Global;
|
||||||
|
|
||||||
namespace mpvnet
|
namespace mpvnet
|
||||||
@@ -30,6 +33,7 @@ namespace mpvnet
|
|||||||
case "open-url": OpenURL(); break;
|
case "open-url": OpenURL(); break;
|
||||||
case "playlist-first": PlaylistFirst(); break;
|
case "playlist-first": PlaylistFirst(); break;
|
||||||
case "playlist-last": PlaylistLast(); break;
|
case "playlist-last": PlaylistLast(); break;
|
||||||
|
case "reg-file-assoc": RegisterFileAssociations(args[0]); break;
|
||||||
case "scale-window": ScaleWindow(float.Parse(args[0], CultureInfo.InvariantCulture)); break;
|
case "scale-window": ScaleWindow(float.Parse(args[0], CultureInfo.InvariantCulture)); break;
|
||||||
case "shell-execute": ProcessHelp.ShellExecute(args[0]); break;
|
case "shell-execute": ProcessHelp.ShellExecute(args[0]); break;
|
||||||
case "show-about": ShowDialog(typeof(AboutWindow)); break;
|
case "show-about": ShowDialog(typeof(AboutWindow)); break;
|
||||||
@@ -49,7 +53,6 @@ namespace mpvnet
|
|||||||
case "show-properties": ShowProperties(); break;
|
case "show-properties": ShowProperties(); break;
|
||||||
case "show-protocols": ShowTextWithEditor("protocol-list", mpvHelp.GetProtocols()); break;
|
case "show-protocols": ShowTextWithEditor("protocol-list", mpvHelp.GetProtocols()); break;
|
||||||
case "show-recent": ShowRecent(); break;
|
case "show-recent": ShowRecent(); break;
|
||||||
case "show-setup-dialog": ShowDialog(typeof(SetupWindow)); break;
|
|
||||||
case "show-text": ShowText(args[0], Convert.ToInt32(args[1]), Convert.ToInt32(args[2])); break;
|
case "show-text": ShowText(args[0], Convert.ToInt32(args[1]), Convert.ToInt32(args[2])); break;
|
||||||
case "update-check": UpdateCheck.CheckOnline(true); break;
|
case "update-check": UpdateCheck.CheckOnline(true); break;
|
||||||
case "window-scale": WindowScale(float.Parse(args[0], CultureInfo.InvariantCulture)); break;
|
case "window-scale": WindowScale(float.Parse(args[0], CultureInfo.InvariantCulture)); break;
|
||||||
@@ -467,5 +470,38 @@ namespace mpvnet
|
|||||||
CommandPalette.Instance.SetItems(items);
|
CommandPalette.Instance.SetItems(items);
|
||||||
MainForm.Instance.ShowCommandPalette();
|
MainForm.Instance.ShowCommandPalette();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void RegisterFileAssociations(string perceivedType)
|
||||||
|
{
|
||||||
|
string[] extensions = { };
|
||||||
|
|
||||||
|
switch (perceivedType)
|
||||||
|
{
|
||||||
|
case "video": extensions = CorePlayer.VideoTypes; break;
|
||||||
|
case "audio": extensions = CorePlayer.AudioTypes; break;
|
||||||
|
case "image": extensions = CorePlayer.ImageTypes; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using (Process proc = new Process())
|
||||||
|
{
|
||||||
|
proc.StartInfo.FileName = WinForms.Application.ExecutablePath;
|
||||||
|
proc.StartInfo.Arguments = "--register-file-associations " +
|
||||||
|
perceivedType + " " + string.Join(" ", extensions);
|
||||||
|
proc.StartInfo.Verb = "runas";
|
||||||
|
proc.StartInfo.UseShellExecute = true;
|
||||||
|
proc.Start();
|
||||||
|
proc.WaitForExit();
|
||||||
|
|
||||||
|
if (proc.ExitCode == 0)
|
||||||
|
Msg.ShowInfo("File associations were successfully " +
|
||||||
|
(perceivedType == "unreg" ? "removed" : "created") +
|
||||||
|
".\n\nFile Explorer icons will refresh after process restart.");
|
||||||
|
else
|
||||||
|
Msg.ShowError("Error creating file associations.");
|
||||||
|
}
|
||||||
|
} catch { }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ namespace mpvnet
|
|||||||
|
|
||||||
public string ConfPath { get => ConfigFolder + "mpv.conf"; }
|
public string ConfPath { get => ConfigFolder + "mpv.conf"; }
|
||||||
public string GPUAPI { get; set; } = "auto";
|
public string GPUAPI { get; set; } = "auto";
|
||||||
|
public string VO { get; set; } = "gpu";
|
||||||
public string InputConfPath { get => ConfigFolder + "input.conf"; }
|
public string InputConfPath { get => ConfigFolder + "input.conf"; }
|
||||||
|
|
||||||
public string VID { get; set; } = "";
|
public string VID { get; set; } = "";
|
||||||
@@ -219,6 +220,7 @@ namespace mpvnet
|
|||||||
case "taskbar-progress": TaskbarProgress = value == "yes"; break;
|
case "taskbar-progress": TaskbarProgress = value == "yes"; break;
|
||||||
case "screen": Screen = Convert.ToInt32(value); break;
|
case "screen": Screen = Convert.ToInt32(value); break;
|
||||||
case "gpu-api": GPUAPI = value; break;
|
case "gpu-api": GPUAPI = value; break;
|
||||||
|
case "vo": VO = value; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (AutofitLarger > 1)
|
if (AutofitLarger > 1)
|
||||||
@@ -234,24 +236,8 @@ namespace mpvnet
|
|||||||
_ConfigFolder = Folder.Startup + "portable_config";
|
_ConfigFolder = Folder.Startup + "portable_config";
|
||||||
|
|
||||||
if (!Directory.Exists(_ConfigFolder))
|
if (!Directory.Exists(_ConfigFolder))
|
||||||
{
|
|
||||||
_ConfigFolder = Folder.AppData + "mpv.net";
|
_ConfigFolder = Folder.AppData + "mpv.net";
|
||||||
|
|
||||||
if (!Directory.Exists(_ConfigFolder))
|
|
||||||
{
|
|
||||||
_ConfigFolder = Folder.CustomSettings;
|
|
||||||
|
|
||||||
if (!Directory.Exists(_ConfigFolder))
|
|
||||||
_ConfigFolder = Folder.AppData + "mpv.net";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Folder.Startup.IsIdenticalFolder(_ConfigFolder))
|
|
||||||
{
|
|
||||||
Msg.ShowError("Startup folder and config folder cannot be identical, using portable_config instead.");
|
|
||||||
_ConfigFolder = Folder.Startup + "portable_config";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!Directory.Exists(_ConfigFolder))
|
if (!Directory.Exists(_ConfigFolder))
|
||||||
Directory.CreateDirectory(_ConfigFolder);
|
Directory.CreateDirectory(_ConfigFolder);
|
||||||
|
|
||||||
|
|||||||
@@ -117,12 +117,4 @@ public static class PathStringExtension
|
|||||||
|
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsIdenticalFolder(this string instance, string testFolder)
|
|
||||||
{
|
|
||||||
if (string.IsNullOrEmpty(instance) || string.IsNullOrEmpty(testFolder))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return instance.ToLowerInvariant().AddSep() == testFolder.ToLowerInvariant().AddSep();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ namespace mpvnet
|
|||||||
|
|
||||||
Core.ObservePropertyDouble("window-scale", WindowScale);
|
Core.ObservePropertyDouble("window-scale", WindowScale);
|
||||||
|
|
||||||
if (Core.GPUAPI != "vulkan")
|
if (!IsVulkanOrGpuNext)
|
||||||
Core.ProcessCommandLine(false);
|
Core.ProcessCommandLine(false);
|
||||||
|
|
||||||
AppDomain.CurrentDomain.UnhandledException += (sender, e) => App.ShowException(e.ExceptionObject);
|
AppDomain.CurrentDomain.UnhandledException += (sender, e) => App.ShowException(e.ExceptionObject);
|
||||||
@@ -196,6 +196,8 @@ namespace mpvnet
|
|||||||
|
|
||||||
bool IsCommandPaletteVissible() => CommandPaletteHost != null && CommandPaletteHost.Visible;
|
bool IsCommandPaletteVissible() => CommandPaletteHost != null && CommandPaletteHost.Visible;
|
||||||
|
|
||||||
|
bool IsVulkanOrGpuNext => Core.GPUAPI == "vulkan" || Core.VO == "gpu-next";
|
||||||
|
|
||||||
bool KeepSize() => App.StartSize == "session" || App.StartSize == "always";
|
bool KeepSize() => App.StartSize == "session" || App.StartSize == "always";
|
||||||
|
|
||||||
bool IsMouseInOSC()
|
bool IsMouseInOSC()
|
||||||
@@ -1033,7 +1035,7 @@ namespace mpvnet
|
|||||||
if (WindowState == FormWindowState.Maximized)
|
if (WindowState == FormWindowState.Maximized)
|
||||||
Core.SetPropertyBool("window-maximized", true);
|
Core.SetPropertyBool("window-maximized", true);
|
||||||
|
|
||||||
if (Core.GPUAPI == "vulkan")
|
if (IsVulkanOrGpuNext)
|
||||||
Core.ProcessCommandLine(false);
|
Core.ProcessCommandLine(false);
|
||||||
|
|
||||||
WPF.Init();
|
WPF.Init();
|
||||||
@@ -1047,10 +1049,11 @@ namespace mpvnet
|
|||||||
BuildMenu();
|
BuildMenu();
|
||||||
System.Windows.Application.Current.ShutdownMode = System.Windows.ShutdownMode.OnExplicitShutdown;
|
System.Windows.Application.Current.ShutdownMode = System.Windows.ShutdownMode.OnExplicitShutdown;
|
||||||
Cursor.Position = new Point(Cursor.Position.X + 1, Cursor.Position.Y);
|
Cursor.Position = new Point(Cursor.Position.X + 1, Cursor.Position.Y);
|
||||||
UpdateCheck.DailyCheck();
|
|
||||||
Core.LoadScripts();
|
Core.LoadScripts();
|
||||||
GlobalHotkey.RegisterGlobalHotkeys(Handle);
|
GlobalHotkey.RegisterGlobalHotkeys(Handle);
|
||||||
App.RunTask(() => App.Extension = new Extension());
|
App.RunTask(() => App.Extension = new Extension());
|
||||||
|
UpdateCheck.DailyCheck();
|
||||||
|
App.RunTask(() => App.CopyMpvnetCom());
|
||||||
CSharpScriptHost.ExecuteScriptsInFolder(Core.ConfigFolder + "scripts-cs");
|
CSharpScriptHost.ExecuteScriptsInFolder(Core.ConfigFolder + "scripts-cs");
|
||||||
WasShown = true;
|
WasShown = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,12 +75,11 @@ namespace mpvnet
|
|||||||
static string ExePath = Application.ExecutablePath;
|
static string ExePath = Application.ExecutablePath;
|
||||||
static string ExeFilename = Path.GetFileName(Application.ExecutablePath);
|
static string ExeFilename = Path.GetFileName(Application.ExecutablePath);
|
||||||
static string ExeFilenameNoExt = Path.GetFileNameWithoutExtension(Application.ExecutablePath);
|
static string ExeFilenameNoExt = Path.GetFileNameWithoutExtension(Application.ExecutablePath);
|
||||||
static string[] Types;
|
|
||||||
|
|
||||||
public static void Register(string[] types)
|
public static void Register(string perceivedType, string[] extensions)
|
||||||
|
{
|
||||||
|
if (perceivedType != "unreg")
|
||||||
{
|
{
|
||||||
Types = types;
|
|
||||||
|
|
||||||
RegistryHelp.SetValue(@"HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths\" + ExeFilename, null, ExePath);
|
RegistryHelp.SetValue(@"HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths\" + ExeFilename, null, ExePath);
|
||||||
RegistryHelp.SetValue(@"HKCR\Applications\" + ExeFilename, "FriendlyAppName", "mpv.net media player");
|
RegistryHelp.SetValue(@"HKCR\Applications\" + ExeFilename, "FriendlyAppName", "mpv.net media player");
|
||||||
RegistryHelp.SetValue($@"HKCR\Applications\{ExeFilename}\shell\open\command", null, $"\"{ExePath}\" \"%1\"");
|
RegistryHelp.SetValue($@"HKCR\Applications\{ExeFilename}\shell\open\command", null, $"\"{ExePath}\" \"%1\"");
|
||||||
@@ -90,25 +89,35 @@ namespace mpvnet
|
|||||||
RegistryHelp.SetValue(@"HKCR\SystemFileAssociations\audio\OpenWithList\" + ExeFilename, null, "");
|
RegistryHelp.SetValue(@"HKCR\SystemFileAssociations\audio\OpenWithList\" + ExeFilename, null, "");
|
||||||
RegistryHelp.SetValue(@"HKLM\SOFTWARE\RegisteredApplications", "mpv.net", @"SOFTWARE\Clients\Media\mpv.net\Capabilities");
|
RegistryHelp.SetValue(@"HKLM\SOFTWARE\RegisteredApplications", "mpv.net", @"SOFTWARE\Clients\Media\mpv.net\Capabilities");
|
||||||
|
|
||||||
foreach (string ext in Types)
|
foreach (string ext in extensions)
|
||||||
{
|
{
|
||||||
RegistryHelp.SetValue($@"HKCR\Applications\{ExeFilename}\SupportedTypes", "." + ext, "");
|
RegistryHelp.SetValue($@"HKCR\Applications\{ExeFilename}\SupportedTypes", "." + ext, "");
|
||||||
RegistryHelp.SetValue($@"HKCR\" + "." + ext, null, ExeFilenameNoExt + "." + ext);
|
RegistryHelp.SetValue(@"HKCR\" + "." + ext, null, ExeFilenameNoExt + "." + ext);
|
||||||
RegistryHelp.SetValue($@"HKCR\" + "." + ext + @"\OpenWithProgIDs", ExeFilenameNoExt + "." + ext, "");
|
RegistryHelp.SetValue(@"HKCR\" + "." + ext + @"\OpenWithProgIDs", ExeFilenameNoExt + "." + ext, "");
|
||||||
|
RegistryHelp.SetValue(@"HKCR\" + "." + ext, "PerceivedType", perceivedType);
|
||||||
if (CorePlayer.VideoTypes.Contains(ext))
|
RegistryHelp.SetValue(@"HKCR\" + ExeFilenameNoExt + "." + ext + @"\shell\open\command", null, $"\"{ExePath}\" \"%1\"");
|
||||||
RegistryHelp.SetValue(@"HKCR\" + "." + ext, "PerceivedType", "video");
|
|
||||||
|
|
||||||
if (CorePlayer.AudioTypes.Contains(ext))
|
|
||||||
RegistryHelp.SetValue(@"HKCR\" + "." + ext, "PerceivedType", "audio");
|
|
||||||
|
|
||||||
if (CorePlayer.ImageTypes.Contains(ext))
|
|
||||||
RegistryHelp.SetValue(@"HKCR\" + "." + ext, "PerceivedType", "image");
|
|
||||||
|
|
||||||
RegistryHelp.SetValue($@"HKCR\" + ExeFilenameNoExt + "." + ext + @"\shell\open\command", null, $"\"{ExePath}\" \"%1\"");
|
|
||||||
RegistryHelp.SetValue(@"HKLM\SOFTWARE\Clients\Media\mpv.net\Capabilities\FileAssociations", "." + ext, ExeFilenameNoExt + "." + ext);
|
RegistryHelp.SetValue(@"HKLM\SOFTWARE\Clients\Media\mpv.net\Capabilities\FileAssociations", "." + ext, ExeFilenameNoExt + "." + ext);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
RegistryHelp.RemoveKey(@"HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths\" + ExeFilename);
|
||||||
|
RegistryHelp.RemoveKey(@"HKCR\Applications\" + ExeFilename);
|
||||||
|
RegistryHelp.RemoveKey(@"HKLM\SOFTWARE\Clients\Media\mpv.net");
|
||||||
|
RegistryHelp.RemoveKey(@"HKCR\SystemFileAssociations\video\OpenWithList\" + ExeFilename);
|
||||||
|
RegistryHelp.RemoveKey(@"HKCR\SystemFileAssociations\audio\OpenWithList\" + ExeFilename);
|
||||||
|
RegistryHelp.RemoveValue(@"HKLM\SOFTWARE\RegisteredApplications", "mpv.net");
|
||||||
|
|
||||||
|
foreach (string id in Registry.ClassesRoot.GetSubKeyNames())
|
||||||
|
{
|
||||||
|
if (id.StartsWith(ExeFilenameNoExt + "."))
|
||||||
|
Registry.ClassesRoot.DeleteSubKeyTree(id);
|
||||||
|
|
||||||
|
RegistryHelp.RemoveValue($@"HKCR\Software\Classes\{id}\OpenWithProgIDs", ExeFilenameNoExt + id);
|
||||||
|
RegistryHelp.RemoveValue($@"HKLM\Software\Classes\{id}\OpenWithProgIDs", ExeFilenameNoExt + id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class MediaTrack
|
public class MediaTrack
|
||||||
@@ -208,25 +217,6 @@ namespace mpvnet
|
|||||||
{
|
{
|
||||||
public static string Startup { get; } = Application.StartupPath.AddSep();
|
public static string Startup { get; } = Application.StartupPath.AddSep();
|
||||||
public static string AppData { get; } = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData).AddSep();
|
public static string AppData { get; } = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData).AddSep();
|
||||||
|
|
||||||
public static string CustomSettings {
|
|
||||||
get {
|
|
||||||
string linkFile = Startup + "settings-directory.txt";
|
|
||||||
|
|
||||||
if (File.Exists(linkFile))
|
|
||||||
{
|
|
||||||
string linkTarget = File.ReadAllText(linkFile).Trim();
|
|
||||||
|
|
||||||
if (linkTarget.StartsWithEx("."))
|
|
||||||
linkTarget = Startup + linkTarget;
|
|
||||||
|
|
||||||
if (Directory.Exists(linkTarget))
|
|
||||||
return linkTarget.AddSep();
|
|
||||||
}
|
|
||||||
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CommandPaletteItem
|
public class CommandPaletteItem
|
||||||
|
|||||||
@@ -23,17 +23,9 @@ namespace mpvnet
|
|||||||
|
|
||||||
string[] args = Environment.GetCommandLineArgs().Skip(1).ToArray();
|
string[] args = Environment.GetCommandLineArgs().Skip(1).ToArray();
|
||||||
|
|
||||||
if (args.Length >= 2 && args[0] == "--reg-file-assoc")
|
if (args.Length > 0 && args[0] == "--register-file-associations")
|
||||||
{
|
{
|
||||||
if (args[1] == "audio")
|
FileAssociation.Register(args[1], args.Skip(1).ToArray());
|
||||||
FileAssociation.Register(CorePlayer.AudioTypes);
|
|
||||||
else if (args[1] == "video")
|
|
||||||
FileAssociation.Register(CorePlayer.VideoTypes);
|
|
||||||
else if (args[1] == "image")
|
|
||||||
FileAssociation.Register(CorePlayer.ImageTypes);
|
|
||||||
else
|
|
||||||
FileAssociation.Register(args.Skip(1).ToArray());
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
BIN
src/Package/Images/LockScreenLogo.scale-200.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/Package/Images/SplashScreen.scale-200.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
src/Package/Images/Square150x150Logo.scale-200.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
src/Package/Images/Square44x44Logo.scale-200.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
BIN
src/Package/Images/StoreLogo.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
src/Package/Images/Wide310x150Logo.scale-200.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
src/Package/Images/mpvnetExtensions.targetsize-128.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
src/Package/Images/mpvnetExtensions.targetsize-16.png
Normal file
|
After Width: | Height: | Size: 555 B |
BIN
src/Package/Images/mpvnetExtensions.targetsize-20.png
Normal file
|
After Width: | Height: | Size: 723 B |
BIN
src/Package/Images/mpvnetExtensions.targetsize-24.png
Normal file
|
After Width: | Height: | Size: 890 B |
BIN
src/Package/Images/mpvnetExtensions.targetsize-256.png
Normal file
|
After Width: | Height: | Size: 8.2 KiB |
BIN
src/Package/Images/mpvnetExtensions.targetsize-32.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/Package/Images/mpvnetExtensions.targetsize-40.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
src/Package/Images/mpvnetExtensions.targetsize-48.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
src/Package/Images/mpvnetExtensions.targetsize-64.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
137
src/Package/Package.appxmanifest
Normal file
@@ -0,0 +1,137 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<Package
|
||||||
|
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
|
||||||
|
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
|
||||||
|
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
|
||||||
|
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
|
||||||
|
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
|
||||||
|
IgnorableNamespaces="uap rescap">
|
||||||
|
|
||||||
|
<Identity
|
||||||
|
Name="0351c0fc-9274-46ee-941b-728b74e8c5d5"
|
||||||
|
Publisher="CN=frank"
|
||||||
|
Version="1.0.0.0" />
|
||||||
|
|
||||||
|
<Properties>
|
||||||
|
<DisplayName>mpv.net</DisplayName>
|
||||||
|
<PublisherDisplayName>Frank Skare</PublisherDisplayName>
|
||||||
|
<Logo>Images\StoreLogo.png</Logo>
|
||||||
|
</Properties>
|
||||||
|
|
||||||
|
<Dependencies>
|
||||||
|
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
|
||||||
|
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.0" MaxVersionTested="10.0.14393.0" />
|
||||||
|
</Dependencies>
|
||||||
|
|
||||||
|
<Resources>
|
||||||
|
<Resource Language="x-generate"/>
|
||||||
|
</Resources>
|
||||||
|
|
||||||
|
<Applications>
|
||||||
|
<Application Id="App"
|
||||||
|
Executable="$targetnametoken$.exe"
|
||||||
|
EntryPoint="$targetentrypoint$">
|
||||||
|
<uap:VisualElements
|
||||||
|
DisplayName="mpv.net"
|
||||||
|
Description="mpv.net is a modern media player based on the popular mpv player."
|
||||||
|
BackgroundColor="transparent"
|
||||||
|
Square150x150Logo="Images\Square150x150Logo.png"
|
||||||
|
Square44x44Logo="Images\Square44x44Logo.png">
|
||||||
|
<uap:DefaultTile Wide310x150Logo="Images\Wide310x150Logo.png" />
|
||||||
|
<uap:SplashScreen Image="Images\SplashScreen.png" />
|
||||||
|
</uap:VisualElements>
|
||||||
|
|
||||||
|
<Extensions>
|
||||||
|
<uap3:Extension Category="windows.appExecutionAlias">
|
||||||
|
<uap3:AppExecutionAlias>
|
||||||
|
<desktop:ExecutionAlias Alias="mpvnet.exe" />
|
||||||
|
</uap3:AppExecutionAlias>
|
||||||
|
</uap3:Extension>
|
||||||
|
|
||||||
|
<uap:Extension Category="windows.fileTypeAssociation">
|
||||||
|
<uap:FileTypeAssociation Name="videotypes">
|
||||||
|
<uap:Logo>Images\mpvnetExtensions.png</uap:Logo>
|
||||||
|
<uap:SupportedFileTypes>
|
||||||
|
<uap:FileType>.264</uap:FileType>
|
||||||
|
<uap:FileType>.265</uap:FileType>
|
||||||
|
<uap:FileType>.asf</uap:FileType>
|
||||||
|
<uap:FileType>.avc</uap:FileType>
|
||||||
|
<uap:FileType>.avi</uap:FileType>
|
||||||
|
<uap:FileType>.avs</uap:FileType>
|
||||||
|
<uap:FileType>.dav</uap:FileType>
|
||||||
|
<uap:FileType>.flv</uap:FileType>
|
||||||
|
<uap:FileType>.h264</uap:FileType>
|
||||||
|
<uap:FileType>.h265</uap:FileType>
|
||||||
|
<uap:FileType>.hevc</uap:FileType>
|
||||||
|
<uap:FileType>.m2t</uap:FileType>
|
||||||
|
<uap:FileType>.m2ts</uap:FileType>
|
||||||
|
<uap:FileType>.m2v</uap:FileType>
|
||||||
|
<uap:FileType>.m4v</uap:FileType>
|
||||||
|
<uap:FileType>.mkv</uap:FileType>
|
||||||
|
<uap:FileType>.mov</uap:FileType>
|
||||||
|
<uap:FileType>.mp4</uap:FileType>
|
||||||
|
<uap:FileType>.mpeg</uap:FileType>
|
||||||
|
<uap:FileType>.mpg</uap:FileType>
|
||||||
|
<uap:FileType>.mpv</uap:FileType>
|
||||||
|
<uap:FileType>.mts</uap:FileType>
|
||||||
|
<uap:FileType>.ts</uap:FileType>
|
||||||
|
<uap:FileType>.vob</uap:FileType>
|
||||||
|
<uap:FileType>.vpy</uap:FileType>
|
||||||
|
<uap:FileType>.webm</uap:FileType>
|
||||||
|
<uap:FileType>.wmv</uap:FileType>
|
||||||
|
<uap:FileType>.y4m</uap:FileType>
|
||||||
|
</uap:SupportedFileTypes>
|
||||||
|
</uap:FileTypeAssociation>
|
||||||
|
</uap:Extension>
|
||||||
|
|
||||||
|
<uap:Extension Category="windows.fileTypeAssociation">
|
||||||
|
<uap:FileTypeAssociation Name="audiotypes">
|
||||||
|
<uap:Logo>Images\mpvnetExtensions.png</uap:Logo>
|
||||||
|
<uap:SupportedFileTypes>
|
||||||
|
<uap:FileType>.aac</uap:FileType>
|
||||||
|
<uap:FileType>.ac3</uap:FileType>
|
||||||
|
<uap:FileType>.dts</uap:FileType>
|
||||||
|
<uap:FileType>.dtshd</uap:FileType>
|
||||||
|
<uap:FileType>.dtshr</uap:FileType>
|
||||||
|
<uap:FileType>.dtsma</uap:FileType>
|
||||||
|
<uap:FileType>.eac3</uap:FileType>
|
||||||
|
<uap:FileType>.flac</uap:FileType>
|
||||||
|
<uap:FileType>.m4a</uap:FileType>
|
||||||
|
<uap:FileType>.mka</uap:FileType>
|
||||||
|
<uap:FileType>.mp2</uap:FileType>
|
||||||
|
<uap:FileType>.mp3</uap:FileType>
|
||||||
|
<uap:FileType>.mpa</uap:FileType>
|
||||||
|
<uap:FileType>.mpc</uap:FileType>
|
||||||
|
<uap:FileType>.ogg</uap:FileType>
|
||||||
|
<uap:FileType>.opus</uap:FileType>
|
||||||
|
<uap:FileType>.thd</uap:FileType>
|
||||||
|
<uap:FileType>.w64</uap:FileType>
|
||||||
|
<uap:FileType>.wav</uap:FileType>
|
||||||
|
</uap:SupportedFileTypes>
|
||||||
|
</uap:FileTypeAssociation>
|
||||||
|
</uap:Extension>
|
||||||
|
|
||||||
|
<uap:Extension Category="windows.fileTypeAssociation">
|
||||||
|
<uap:FileTypeAssociation Name="imagetypes">
|
||||||
|
<uap:Logo>Images\mpvnetExtensions.png</uap:Logo>
|
||||||
|
<uap:SupportedFileTypes>
|
||||||
|
<uap:FileType>.bmp</uap:FileType>
|
||||||
|
<uap:FileType>.gif</uap:FileType>
|
||||||
|
<uap:FileType>.jpg</uap:FileType>
|
||||||
|
<uap:FileType>.png</uap:FileType>
|
||||||
|
<uap:FileType>.webp</uap:FileType>
|
||||||
|
</uap:SupportedFileTypes>
|
||||||
|
</uap:FileTypeAssociation>
|
||||||
|
</uap:Extension>
|
||||||
|
|
||||||
|
</Extensions>
|
||||||
|
|
||||||
|
</Application>
|
||||||
|
</Applications>
|
||||||
|
|
||||||
|
<Capabilities>
|
||||||
|
<Capability Name="internetClient" />
|
||||||
|
<rescap:Capability Name="runFullTrust" />
|
||||||
|
</Capabilities>
|
||||||
|
</Package>
|
||||||
97
src/Package/mpv.net.package.wapproj
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup Condition="'$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '15.0'">
|
||||||
|
<VisualStudioVersion>15.0</VisualStudioVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|x86">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x86</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x86">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x86</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|ARM">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>ARM</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|ARM">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>ARM</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|ARM64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>ARM64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|ARM64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>ARM64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|AnyCPU">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>AnyCPU</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|AnyCPU">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>AnyCPU</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<WapProjPath Condition="'$(WapProjPath)'==''">$(MSBuildExtensionsPath)\Microsoft\DesktopBridge\</WapProjPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.props" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<ProjectGuid>81daee3a-76ff-4494-9384-d28a651d70bb</ProjectGuid>
|
||||||
|
<TargetPlatformVersion>10.0.22000.0</TargetPlatformVersion>
|
||||||
|
<TargetPlatformMinVersion>10.0.14393.0</TargetPlatformMinVersion>
|
||||||
|
<DefaultLanguage>en-US</DefaultLanguage>
|
||||||
|
<AppxPackageSigningEnabled>false</AppxPackageSigningEnabled>
|
||||||
|
<EntryPointProjectUniqueName>..\mpv.net.csproj</EntryPointProjectUniqueName>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<AppxManifest Include="Package.appxmanifest">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</AppxManifest>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="..\bin\MediaInfo.dll">
|
||||||
|
<Link>mpv.net\MediaInfo.dll</Link>
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="..\bin\Microsoft.Management.Infrastructure.dll">
|
||||||
|
<Link>mpv.net\Microsoft.Management.Infrastructure.dll</Link>
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="..\bin\mpv-1.dll">
|
||||||
|
<Link>mpv.net\mpv-1.dll</Link>
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="..\bin\mpvnet.com">
|
||||||
|
<Link>mpv.net\mpvnet.com</Link>
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="Images\SplashScreen.scale-200.png" />
|
||||||
|
<Content Include="Images\LockScreenLogo.scale-200.png" />
|
||||||
|
<Content Include="Images\Square150x150Logo.scale-200.png" />
|
||||||
|
<Content Include="Images\Square44x44Logo.scale-200.png" />
|
||||||
|
<Content Include="Images\Square44x44Logo.targetsize-24_altform-unplated.png" />
|
||||||
|
<Content Include="Images\StoreLogo.png" />
|
||||||
|
<Content Include="Images\Wide310x150Logo.scale-200.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.targets" />
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.19041.8" PrivateAssets="all" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\mpv.net.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
@@ -34,14 +34,14 @@ if ($versionInfo.FilePrivatePart -eq 0)
|
|||||||
if ($LastExitCode) { throw $LastExitCode }
|
if ($LastExitCode) { throw $LastExitCode }
|
||||||
|
|
||||||
$targetDir = $tmpDir + "\mpv.net-$($versionInfo.FileVersion)-portable"
|
$targetDir = $tmpDir + "\mpv.net-$($versionInfo.FileVersion)-portable"
|
||||||
Copy-Item $PSScriptRoot\bin $targetDir -Recurse -Exclude 'System.Management.Automation.xml', 'settings-directory.txt'
|
Copy-Item $PSScriptRoot\bin $targetDir -Recurse -Exclude 'System.Management.Automation.xml'
|
||||||
& $7z a -tzip -mx9 "$targetDir.zip" -r "$targetDir\*"
|
& $7z a -tzip -mx9 "$targetDir.zip" -r "$targetDir\*"
|
||||||
if ($LastExitCode) { throw $LastExitCode }
|
if ($LastExitCode) { throw $LastExitCode }
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$targetDir = "$tmpDir\mpv.net-$($versionInfo.FileVersion)-portable-beta"
|
$targetDir = "$tmpDir\mpv.net-$($versionInfo.FileVersion)-portable-beta"
|
||||||
Copy-Item $PSScriptRoot\bin $targetDir -Recurse -Exclude 'System.Management.Automation.xml', 'settings-directory.txt'
|
Copy-Item $PSScriptRoot\bin $targetDir -Recurse -Exclude 'System.Management.Automation.xml'
|
||||||
& $7z a -tzip -mx9 "$targetDir.zip" -r "$targetDir\*"
|
& $7z a -tzip -mx9 "$targetDir.zip" -r "$targetDir\*"
|
||||||
if ($LastExitCode) { throw $LastExitCode }
|
if ($LastExitCode) { throw $LastExitCode }
|
||||||
UploadBeta "$targetDir.zip"
|
UploadBeta "$targetDir.zip"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ url = https://mpv.io/manual/master/#video-output-drivers-vo
|
|||||||
|
|
||||||
option = gpu General purpose, customizable, GPU-accelerated video output driver. It supports extended scaling methods, dithering, color management, custom shaders, HDR, and more.
|
option = gpu General purpose, customizable, GPU-accelerated video output driver. It supports extended scaling methods, dithering, color management, custom shaders, HDR, and more.
|
||||||
option = gpu-next Experimental video renderer based on libplacebo. This supports almost the same set of features as --vo=gpu.
|
option = gpu-next Experimental video renderer based on libplacebo. This supports almost the same set of features as --vo=gpu.
|
||||||
option = direct3d Video output driver that uses the Direct3D 9 interface
|
option = direct3d Video output driver that uses the Direct3D interface.
|
||||||
|
|
||||||
[setting]
|
[setting]
|
||||||
name = hwdec
|
name = hwdec
|
||||||
@@ -75,16 +75,6 @@ option = display-adrop
|
|||||||
option = display-desync
|
option = display-desync
|
||||||
option = desync
|
option = desync
|
||||||
|
|
||||||
[setting]
|
|
||||||
name = builtin-scalers
|
|
||||||
file = mpv
|
|
||||||
default = yes
|
|
||||||
filter = Video
|
|
||||||
help = Allow using faster built-in replacements for common scalers such as nearest, bilinear or bicubic. These have the disadvantage of not being configurable, unlike normal scaler kernels. (only affects --vo=gpu-next)
|
|
||||||
|
|
||||||
option = yes
|
|
||||||
option = no
|
|
||||||
|
|
||||||
[setting]
|
[setting]
|
||||||
name = scale
|
name = scale
|
||||||
file = mpv
|
file = mpv
|
||||||
|
|||||||
@@ -161,6 +161,10 @@ _ ignore #menu: Profile
|
|||||||
c script-message mpv.net show-conf-editor #menu: Settings > Show Config Editor
|
c script-message mpv.net show-conf-editor #menu: Settings > Show Config Editor
|
||||||
Ctrl+i script-message mpv.net show-input-editor #menu: Settings > Show Input Editor
|
Ctrl+i script-message mpv.net show-input-editor #menu: Settings > Show Input Editor
|
||||||
Ctrl+f script-message mpv.net open-conf-folder #menu: Settings > Open Config Folder
|
Ctrl+f script-message mpv.net open-conf-folder #menu: Settings > Open Config Folder
|
||||||
|
_ script-message mpv.net reg-file-assoc video #menu: Settings > Setup > Register video file associations
|
||||||
|
_ script-message mpv.net reg-file-assoc audio #menu: Settings > Setup > Register audio file associations
|
||||||
|
_ script-message mpv.net reg-file-assoc image #menu: Settings > Setup > Register image file associations
|
||||||
|
_ script-message mpv.net reg-file-assoc unreg #menu: Settings > Setup > Unregister file associations
|
||||||
|
|
||||||
h script-message mpv.net show-history #menu: Tools > Show History
|
h script-message mpv.net show-history #menu: Tools > Show History
|
||||||
l ab-loop #menu: Tools > Set/clear A-B loop points
|
l ab-loop #menu: Tools > Set/clear A-B loop points
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
|
|
||||||
#define MyAppName "mpv.net"
|
|
||||||
#define MyAppExeName "mpvnet.exe"
|
|
||||||
#define MyAppSourceDir "bin"
|
|
||||||
#define MyAppVersion GetFileVersion("bin\mpvnet.exe")
|
|
||||||
|
|
||||||
[Setup]
|
|
||||||
AppId={{9AA2B100-BEF3-44D0-B819-D8FC3C4D557D}}
|
|
||||||
AppName={#MyAppName}
|
|
||||||
AppVersion={#MyAppVersion}
|
|
||||||
AppPublisher=Frank Skare (stax76)
|
|
||||||
ArchitecturesInstallIn64BitMode=x64
|
|
||||||
Compression=lzma2
|
|
||||||
DefaultDirName={commonpf}\{#MyAppName}
|
|
||||||
OutputBaseFilename=mpv.net-{#MyAppVersion}-setup
|
|
||||||
OutputDir=D:\Work
|
|
||||||
DefaultGroupName={#MyAppName}
|
|
||||||
SetupIconFile=mpvnet.ico
|
|
||||||
UninstallDisplayIcon={app}\{#MyAppExeName}
|
|
||||||
|
|
||||||
[Icons]
|
|
||||||
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
|
|
||||||
|
|
||||||
[Files]
|
|
||||||
Source: "{#MyAppSourceDir}\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
|
|
||||||
Source: "{#MyAppSourceDir}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: "System.Management.Automation.xml,settings-directory.txt"
|
|
||||||
|
|
||||||
[UninstallRun]
|
|
||||||
Filename: "powershell.exe"; Flags: runhidden; Parameters: "-NoProfile -ExecutionPolicy Bypass -File ""{app}\Setup\remove file associations.ps1"""
|
|
||||||
Filename: "powershell.exe"; Flags: runhidden; Parameters: "-NoProfile -ExecutionPolicy Bypass -File ""{app}\Setup\remove start menu shortcut.ps1"""
|
|
||||||
Filename: "powershell.exe"; Flags: runhidden; Parameters: "-NoProfile -ExecutionPolicy Bypass -File ""{app}\Setup\remove environment variable.ps1"""
|
|
||||||
@@ -1,134 +0,0 @@
|
|||||||
<Window
|
|
||||||
x:Class="mpvnet.SetupWindow"
|
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
||||||
xmlns:mpvnet="clr-namespace:mpvnet"
|
|
||||||
mc:Ignorable="d"
|
|
||||||
|
|
||||||
Title="mpv.net Setup"
|
|
||||||
FontSize="13"
|
|
||||||
Foreground="{Binding Theme.Foreground}"
|
|
||||||
Background="{Binding Theme.Background}"
|
|
||||||
SizeToContent="WidthAndHeight"
|
|
||||||
WindowStartupLocation="CenterOwner"
|
|
||||||
ResizeMode="NoResize"
|
|
||||||
>
|
|
||||||
|
|
||||||
<Window.Resources>
|
|
||||||
<ControlTemplate x:Key="ShieldButtonTemplate" TargetType="Button">
|
|
||||||
<Border x:Name="border"
|
|
||||||
CornerRadius="3"
|
|
||||||
BorderBrush="{DynamicResource PrimaryTextBrush}"
|
|
||||||
BorderThickness="1"
|
|
||||||
Background="{DynamicResource BorderBrush}">
|
|
||||||
<Grid>
|
|
||||||
<Image Source="{x:Static mpvnet:SetupWindow.ShieldIcon}"
|
|
||||||
HorizontalAlignment="Left"
|
|
||||||
Margin="9,0,0,0"
|
|
||||||
Width="20"
|
|
||||||
Height="20" />
|
|
||||||
<ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center" />
|
|
||||||
</Grid>
|
|
||||||
</Border>
|
|
||||||
<ControlTemplate.Triggers>
|
|
||||||
<Trigger Property="IsMouseOver" Value="True">
|
|
||||||
<Setter Property="Background" TargetName="border" Value="{DynamicResource HighlightBrush}"/>
|
|
||||||
</Trigger>
|
|
||||||
<Trigger Property="IsPressed" Value="True">
|
|
||||||
<Setter Property="BorderBrush" TargetName="border" Value="#2C628B"/>
|
|
||||||
</Trigger>
|
|
||||||
<Trigger Property="IsEnabled" Value="False">
|
|
||||||
<Setter Property="Opacity" TargetName="border" Value="0.25"/>
|
|
||||||
</Trigger>
|
|
||||||
</ControlTemplate.Triggers>
|
|
||||||
</ControlTemplate>
|
|
||||||
</Window.Resources>
|
|
||||||
|
|
||||||
<Grid>
|
|
||||||
<StackPanel Orientation="Horizontal">
|
|
||||||
<StackPanel Width="140" Margin="25,5,5,5">
|
|
||||||
<Border Height="50">
|
|
||||||
<TextBlock TextWrapping="Wrap"
|
|
||||||
TextAlignment="Center"
|
|
||||||
VerticalAlignment="Center"
|
|
||||||
FontSize="14"
|
|
||||||
>Start Menu Shortcut</TextBlock>
|
|
||||||
</Border>
|
|
||||||
<Button Name="AddStartMenuShortcut"
|
|
||||||
Height="30"
|
|
||||||
Margin="3"
|
|
||||||
Click="AddStartMenuShortcut_Click"
|
|
||||||
>Add</Button>
|
|
||||||
<Button Name="RemoveStartMenuShortcut"
|
|
||||||
Height="30"
|
|
||||||
Margin="3"
|
|
||||||
Click="RemoveStartMenuShortcut_Click"
|
|
||||||
>Remove</Button>
|
|
||||||
</StackPanel>
|
|
||||||
<StackPanel Width="140" Margin="20,5,5,25">
|
|
||||||
<Border Height="50">
|
|
||||||
<TextBlock TextWrapping="Wrap"
|
|
||||||
TextAlignment="Center"
|
|
||||||
VerticalAlignment="Center"
|
|
||||||
FontSize="14"
|
|
||||||
>File Extensions</TextBlock>
|
|
||||||
</Border>
|
|
||||||
<Button Name="AddVideo"
|
|
||||||
Height="30"
|
|
||||||
Margin="3"
|
|
||||||
Click="AddVideo_Click"
|
|
||||||
Template="{StaticResource ShieldButtonTemplate}"
|
|
||||||
>Add Video</Button>
|
|
||||||
<Button Name="AddAudio"
|
|
||||||
Height="30"
|
|
||||||
Margin="3"
|
|
||||||
Click="AddAudio_Click"
|
|
||||||
Template="{StaticResource ShieldButtonTemplate}"
|
|
||||||
>Add Audio</Button>
|
|
||||||
<Button Name="AddImage"
|
|
||||||
Height="30"
|
|
||||||
Margin="3"
|
|
||||||
Click="AddImage_Click"
|
|
||||||
Template="{StaticResource ShieldButtonTemplate}"
|
|
||||||
>Add Image</Button>
|
|
||||||
<Button Name="RemoveFileAssociations"
|
|
||||||
Margin="3,15,3,3"
|
|
||||||
Height="30"
|
|
||||||
Click="RemoveFileAssociations_Click"
|
|
||||||
Template="{StaticResource ShieldButtonTemplate}"
|
|
||||||
>Remove All</Button>
|
|
||||||
<Button Name="EditDefaultApp"
|
|
||||||
Height="30"
|
|
||||||
Margin="3"
|
|
||||||
Click="EditDefaultApp_Click"
|
|
||||||
>Edit Default App</Button>
|
|
||||||
</StackPanel>
|
|
||||||
<StackPanel Width="140" Margin="20,5,25,5">
|
|
||||||
<Border Height="50">
|
|
||||||
<TextBlock TextWrapping="Wrap"
|
|
||||||
TextAlignment="Center"
|
|
||||||
VerticalAlignment="Center"
|
|
||||||
FontSize="14"
|
|
||||||
>Path Environment Variable</TextBlock>
|
|
||||||
</Border>
|
|
||||||
<Button Name="AddToPathEnvVar"
|
|
||||||
Height="30"
|
|
||||||
Margin="3"
|
|
||||||
Click="AddToPathEnvVar_Click"
|
|
||||||
>Add</Button>
|
|
||||||
<Button Name="RemoveFromPathEnvVar"
|
|
||||||
Height="30"
|
|
||||||
Margin="3"
|
|
||||||
Click="RemoveFromPathEnvVar_Click"
|
|
||||||
>Remove</Button>
|
|
||||||
<Button Name="ShowEnvVarEditor"
|
|
||||||
Height="30"
|
|
||||||
Margin="3"
|
|
||||||
Click="ShowEnvVarEditor_Click"
|
|
||||||
>Show Editor</Button>
|
|
||||||
</StackPanel>
|
|
||||||
</StackPanel>
|
|
||||||
</Grid>
|
|
||||||
</Window>
|
|
||||||
@@ -1,116 +0,0 @@
|
|||||||
|
|
||||||
using System;
|
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Windows.Interop;
|
|
||||||
using System.Windows.Media.Imaging;
|
|
||||||
using System.Windows;
|
|
||||||
|
|
||||||
using WinForms = System.Windows.Forms;
|
|
||||||
|
|
||||||
using static StockIcon;
|
|
||||||
|
|
||||||
namespace mpvnet
|
|
||||||
{
|
|
||||||
public partial class SetupWindow : Window
|
|
||||||
{
|
|
||||||
public SetupWindow()
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
DataContext = this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Theme Theme => Theme.Current;
|
|
||||||
|
|
||||||
static BitmapSource _ShieldIcon;
|
|
||||||
|
|
||||||
public static BitmapSource ShieldIcon {
|
|
||||||
get {
|
|
||||||
if (_ShieldIcon == null)
|
|
||||||
{
|
|
||||||
IntPtr icon = GetIcon(SHSTOCKICONID.Shield, SHSTOCKICONFLAGS.SHGSI_ICON);
|
|
||||||
_ShieldIcon = Imaging.CreateBitmapSourceFromHIcon(
|
|
||||||
icon, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
|
|
||||||
DestroyIcon(icon);
|
|
||||||
}
|
|
||||||
return _ShieldIcon;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void RegFileAssoc(string[] extensions)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
using (Process proc = new Process())
|
|
||||||
{
|
|
||||||
proc.StartInfo.FileName = WinForms.Application.ExecutablePath;
|
|
||||||
proc.StartInfo.Arguments = "--reg-file-assoc " + string.Join(" ", extensions);
|
|
||||||
proc.StartInfo.Verb = "runas";
|
|
||||||
proc.StartInfo.UseShellExecute = true;
|
|
||||||
proc.Start();
|
|
||||||
proc.WaitForExit();
|
|
||||||
|
|
||||||
if (proc.ExitCode == 0)
|
|
||||||
Msg.ShowInfo("File associations successfully created.");
|
|
||||||
else
|
|
||||||
Msg.ShowError("Error creating file associations.");
|
|
||||||
}
|
|
||||||
} catch {}
|
|
||||||
}
|
|
||||||
|
|
||||||
void AddVideo_Click(object sender, RoutedEventArgs e) => RegFileAssoc(CorePlayer.VideoTypes);
|
|
||||||
void AddAudio_Click(object sender, RoutedEventArgs e) => RegFileAssoc(CorePlayer.AudioTypes);
|
|
||||||
void AddImage_Click(object sender, RoutedEventArgs e) => RegFileAssoc(CorePlayer.ImageTypes);
|
|
||||||
|
|
||||||
void RemoveFileAssociations_Click(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
using (Process proc = new Process())
|
|
||||||
{
|
|
||||||
proc.StartInfo.FileName = "powershell.exe";
|
|
||||||
proc.StartInfo.Arguments = "-NoLogo -NoExit -NoProfile -ExecutionPolicy Bypass -File \"" +
|
|
||||||
Folder.Startup + "Setup\\remove file associations.ps1\"";
|
|
||||||
proc.StartInfo.Verb = "runas";
|
|
||||||
proc.StartInfo.UseShellExecute = true;
|
|
||||||
proc.Start();
|
|
||||||
}
|
|
||||||
} catch { }
|
|
||||||
}
|
|
||||||
|
|
||||||
void AddToPathEnvVar_Click(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
ExecutePowerShellScript(Folder.Startup + "Setup\\add environment variable.ps1");
|
|
||||||
}
|
|
||||||
|
|
||||||
void RemoveFromPathEnvVar_Click(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
ExecutePowerShellScript(Folder.Startup + "Setup\\remove environment variable.ps1");
|
|
||||||
}
|
|
||||||
|
|
||||||
void AddStartMenuShortcut_Click(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
ExecutePowerShellScript(Folder.Startup + "Setup\\create start menu shortcut.ps1");
|
|
||||||
}
|
|
||||||
|
|
||||||
void RemoveStartMenuShortcut_Click(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
ExecutePowerShellScript(Folder.Startup + "Setup\\remove start menu shortcut.ps1");
|
|
||||||
}
|
|
||||||
|
|
||||||
void ShowEnvVarEditor_Click(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
ProcessHelp.Execute("rundll32.exe", "sysdm.cpl,EditEnvironmentVariables");
|
|
||||||
}
|
|
||||||
|
|
||||||
void ExecutePowerShellScript(string file)
|
|
||||||
{
|
|
||||||
ProcessHelp.Execute("powershell.exe",
|
|
||||||
"-NoLogo -NoExit -NoProfile -ExecutionPolicy Bypass -File \"" + file + "\"");
|
|
||||||
}
|
|
||||||
|
|
||||||
void EditDefaultApp_Click(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
ProcessHelp.ShellExecute("ms-settings:defaultapps");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -135,10 +135,6 @@
|
|||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</Page>
|
</Page>
|
||||||
<Page Include="WPF\SetupWindow.xaml">
|
|
||||||
<Generator>MSBuild:Compile</Generator>
|
|
||||||
<SubType>Designer</SubType>
|
|
||||||
</Page>
|
|
||||||
<Page Include="WPF\AboutWindow.xaml">
|
<Page Include="WPF\AboutWindow.xaml">
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
@@ -191,9 +187,6 @@
|
|||||||
<Compile Include="Native\Native.cs" />
|
<Compile Include="Native\Native.cs" />
|
||||||
<Compile Include="Misc\Program.cs" />
|
<Compile Include="Misc\Program.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<Compile Include="WPF\SetupWindow.xaml.cs">
|
|
||||||
<DependentUpon>SetupWindow.xaml</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="WPF\ConfWindow.xaml.cs">
|
<Compile Include="WPF\ConfWindow.xaml.cs">
|
||||||
<DependentUpon>ConfWindow.xaml</DependentUpon>
|
<DependentUpon>ConfWindow.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
|||||||
@@ -12,20 +12,92 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
|
|||||||
.editorconfig = .editorconfig
|
.editorconfig = .editorconfig
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "mpv.net.package", "Package\mpv.net.package.wapproj", "{81DAEE3A-76FF-4494-9384-D28A651D70BB}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Debug|ARM = Debug|ARM
|
||||||
|
Debug|ARM64 = Debug|ARM64
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
Debug|x86 = Debug|x86
|
||||||
Release|Any CPU = Release|Any CPU
|
Release|Any CPU = Release|Any CPU
|
||||||
|
Release|ARM = Release|ARM
|
||||||
|
Release|ARM64 = Release|ARM64
|
||||||
|
Release|x64 = Release|x64
|
||||||
|
Release|x86 = Release|x86
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||||
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||||
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||||
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||||
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Release|Any CPU.Build.0 = Release|Any CPU
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||||
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Release|ARM.Build.0 = Release|Any CPU
|
||||||
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||||
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Release|ARM64.Build.0 = Release|Any CPU
|
||||||
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{1751F378-8EDF-4B62-BE6D-304C7C287089}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{55C88710-539D-4402-84C8-31694841C731}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{55C88710-539D-4402-84C8-31694841C731}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{55C88710-539D-4402-84C8-31694841C731}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{55C88710-539D-4402-84C8-31694841C731}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{55C88710-539D-4402-84C8-31694841C731}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||||
|
{55C88710-539D-4402-84C8-31694841C731}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||||
|
{55C88710-539D-4402-84C8-31694841C731}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||||
|
{55C88710-539D-4402-84C8-31694841C731}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||||
|
{55C88710-539D-4402-84C8-31694841C731}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{55C88710-539D-4402-84C8-31694841C731}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{55C88710-539D-4402-84C8-31694841C731}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{55C88710-539D-4402-84C8-31694841C731}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
{55C88710-539D-4402-84C8-31694841C731}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{55C88710-539D-4402-84C8-31694841C731}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{55C88710-539D-4402-84C8-31694841C731}.Release|Any CPU.Build.0 = Release|Any CPU
|
{55C88710-539D-4402-84C8-31694841C731}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{55C88710-539D-4402-84C8-31694841C731}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||||
|
{55C88710-539D-4402-84C8-31694841C731}.Release|ARM.Build.0 = Release|Any CPU
|
||||||
|
{55C88710-539D-4402-84C8-31694841C731}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||||
|
{55C88710-539D-4402-84C8-31694841C731}.Release|ARM64.Build.0 = Release|Any CPU
|
||||||
|
{55C88710-539D-4402-84C8-31694841C731}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{55C88710-539D-4402-84C8-31694841C731}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{55C88710-539D-4402-84C8-31694841C731}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{55C88710-539D-4402-84C8-31694841C731}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|ARM.Build.0 = Debug|ARM
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|ARM.Deploy.0 = Debug|ARM
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|x64.Deploy.0 = Debug|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|x86.Deploy.0 = Debug|x86
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|ARM.ActiveCfg = Release|ARM
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|ARM.Build.0 = Release|ARM
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|ARM.Deploy.0 = Release|ARM
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|x64.Build.0 = Release|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|x64.Deploy.0 = Release|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|x86.Build.0 = Release|x86
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|x86.Deploy.0 = Release|x86
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|||||||