some bug fixes
@@ -1,4 +1,12 @@
|
|||||||
|
|
||||||
|
# v7.0.0.2 Beta (2023-12-??)
|
||||||
|
|
||||||
|
- Fix dynamic menu items missing in context menu.
|
||||||
|
- Fix certain binding setups shown poorly or incorrect in the main menu.
|
||||||
|
- Fix conf editor not remembering the search text.
|
||||||
|
- Fix quit-watch-later not working.
|
||||||
|
- New zhongfly libmpv build.
|
||||||
|
|
||||||
# v7.0.0.1 Beta (2023-12-11)
|
# 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)
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
@@ -23,13 +23,13 @@
|
|||||||
<TargetPlatformMinVersion>10.0.14393.0</TargetPlatformMinVersion>
|
<TargetPlatformMinVersion>10.0.14393.0</TargetPlatformMinVersion>
|
||||||
<DefaultLanguage>en-US</DefaultLanguage>
|
<DefaultLanguage>en-US</DefaultLanguage>
|
||||||
<AppxPackageSigningEnabled>false</AppxPackageSigningEnabled>
|
<AppxPackageSigningEnabled>false</AppxPackageSigningEnabled>
|
||||||
<EntryPointProjectUniqueName>..\mpv.net.csproj</EntryPointProjectUniqueName>
|
|
||||||
<GenerateAppInstallerFile>False</GenerateAppInstallerFile>
|
<GenerateAppInstallerFile>False</GenerateAppInstallerFile>
|
||||||
<AppxAutoIncrementPackageRevision>False</AppxAutoIncrementPackageRevision>
|
<AppxAutoIncrementPackageRevision>False</AppxAutoIncrementPackageRevision>
|
||||||
<GenerateTestArtifacts>True</GenerateTestArtifacts>
|
<GenerateTestArtifacts>True</GenerateTestArtifacts>
|
||||||
<AppxBundlePlatforms>x64</AppxBundlePlatforms>
|
<AppxBundlePlatforms>x64</AppxBundlePlatforms>
|
||||||
<GenerateTemporaryStoreCertificate>True</GenerateTemporaryStoreCertificate>
|
<GenerateTemporaryStoreCertificate>True</GenerateTemporaryStoreCertificate>
|
||||||
<HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
|
<HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
|
||||||
|
<EntryPointProjectUniqueName>..\MpvNet.Windows\MpvNet.Windows.csproj</EntryPointProjectUniqueName>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<AppxBundle>Always</AppxBundle>
|
<AppxBundle>Always</AppxBundle>
|
||||||
@@ -43,20 +43,16 @@
|
|||||||
</AppxManifest>
|
</AppxManifest>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="..\bin\MediaInfo.dll">
|
<Content Include="..\MpvNet.Windows\bin\Debug\libmpv-2.dll">
|
||||||
<Link>mpv.net\MediaInfo.dll</Link>
|
<Link>libmpv-2.dll</Link>
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="..\bin\Microsoft.Management.Infrastructure.dll">
|
<Content Include="..\MpvNet.Windows\bin\Debug\MediaInfo.dll">
|
||||||
<Link>mpv.net\Microsoft.Management.Infrastructure.dll</Link>
|
<Link>MediaInfo.dll</Link>
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="..\bin\libmpv-2.dll">
|
<Content Include="..\MpvNet.Windows\bin\Debug\mpvnet.com">
|
||||||
<Link>mpv.net\libmpv-2.dll</Link>
|
<Link>mpvnet.com</Link>
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="..\bin\mpvnet.com">
|
|
||||||
<Link>mpv.net\mpvnet.com</Link>
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="Images\SplashScreen.scale-200.png" />
|
<Content Include="Images\SplashScreen.scale-200.png" />
|
||||||
@@ -66,13 +62,12 @@
|
|||||||
<Content Include="Images\Square44x44Logo.targetsize-24_altform-unplated.png" />
|
<Content Include="Images\Square44x44Logo.targetsize-24_altform-unplated.png" />
|
||||||
<Content Include="Images\StoreLogo.png" />
|
<Content Include="Images\StoreLogo.png" />
|
||||||
<Content Include="Images\Wide310x150Logo.scale-200.png" />
|
<Content Include="Images\Wide310x150Logo.scale-200.png" />
|
||||||
<None Include="Package.StoreAssociation.xml" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.targets" />
|
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.targets" />
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.19041.8" PrivateAssets="all" />
|
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.2428" PrivateAssets="all" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\mpv.net.csproj" />
|
<ProjectReference Include="..\MpvNet.Windows\MpvNet.Windows.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -11,11 +11,19 @@
|
|||||||
<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.1</AssemblyVersion>
|
|
||||||
<FileVersion>7.0.0.1</FileVersion>
|
<FileVersion>7.0.0.1</FileVersion>
|
||||||
|
<AssemblyVersion>7.0.0.1</AssemblyVersion>
|
||||||
|
<InformationalVersion>7.0.0.1</InformationalVersion>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Remove="Misc\**" />
|
||||||
|
<EmbeddedResource Remove="Misc\**" />
|
||||||
|
<None Remove="Misc\**" />
|
||||||
|
<Page Remove="Misc\**" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="mpv-icon.ico" />
|
<Content Include="mpv-icon.ico" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
@@ -38,8 +46,4 @@
|
|||||||
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.77" />
|
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.77" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Folder Include="Misc\" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -38,9 +38,9 @@ public partial class ConfWindow : Window, INotifyPropertyChanged
|
|||||||
InitialContent = GetCompareString();
|
InitialContent = GetCompareString();
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(App.Settings.ConfigEditorSearch))
|
if (string.IsNullOrEmpty(App.Settings.ConfigEditorSearch))
|
||||||
SearchControl.Text = "General:";
|
SearchText = "General:";
|
||||||
else
|
else
|
||||||
SearchControl.Text = App.Settings.ConfigEditorSearch;
|
SearchText = App.Settings.ConfigEditorSearch;
|
||||||
|
|
||||||
foreach (var node in Nodes)
|
foreach (var node in Nodes)
|
||||||
SelectNodeFromSearchText(node);
|
SelectNodeFromSearchText(node);
|
||||||
@@ -155,7 +155,7 @@ public partial class ConfWindow : Window, INotifyPropertyChanged
|
|||||||
protected override void OnClosed(EventArgs e)
|
protected override void OnClosed(EventArgs e)
|
||||||
{
|
{
|
||||||
base.OnClosed(e);
|
base.OnClosed(e);
|
||||||
App.Settings.ConfigEditorSearch = SearchControl.Text;
|
App.Settings.ConfigEditorSearch = SearchText;
|
||||||
|
|
||||||
if (InitialContent == GetCompareString())
|
if (InitialContent == GetCompareString())
|
||||||
return;
|
return;
|
||||||
@@ -319,9 +319,6 @@ public partial class ConfWindow : Window, INotifyPropertyChanged
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!sb.ToString().Contains("# Editor"))
|
|
||||||
sb.AppendLine("# Editor");
|
|
||||||
|
|
||||||
foreach (Setting setting in Settings)
|
foreach (Setting setting in Settings)
|
||||||
{
|
{
|
||||||
if (filename != setting.File || namesWritten.Contains(setting.Name!))
|
if (filename != setting.File || namesWritten.Contains(setting.Name!))
|
||||||
@@ -443,7 +440,7 @@ public partial class ConfWindow : Window, INotifyPropertyChanged
|
|||||||
|
|
||||||
void SelectNodeFromSearchText(NodeViewModel node)
|
void SelectNodeFromSearchText(NodeViewModel node)
|
||||||
{
|
{
|
||||||
if (node.Path + ":" == SearchControl.Text)
|
if (node.Path + ":" == SearchText)
|
||||||
{
|
{
|
||||||
node.IsSelected = true;
|
node.IsSelected = true;
|
||||||
return;
|
return;
|
||||||
@@ -470,7 +467,7 @@ public partial class ConfWindow : Window, INotifyPropertyChanged
|
|||||||
ExpandNode(it);
|
ExpandNode(it);
|
||||||
}
|
}
|
||||||
|
|
||||||
[RelayCommand] void ShowMpvNetSpecificSettings() => SearchControl.Text = "mpv.net";
|
[RelayCommand] void ShowMpvNetSpecificSettings() => SearchText = "mpv.net";
|
||||||
|
|
||||||
[RelayCommand] void PreviewMpvConfFile() => Msg.ShowInfo(GetContent("mpv"));
|
[RelayCommand] void PreviewMpvConfFile() => Msg.ShowInfo(GetContent("mpv"));
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ public partial class MainForm : Form
|
|||||||
public SnapManager SnapManager = new SnapManager();
|
public SnapManager SnapManager = new SnapManager();
|
||||||
public IntPtr MpvWindowHandle { get; set; }
|
public IntPtr MpvWindowHandle { get; set; }
|
||||||
public ElementHost? CommandPaletteHost { get; set; }
|
public ElementHost? CommandPaletteHost { get; set; }
|
||||||
public Dictionary<string, WpfControls.MenuItem> MenuItemDuplicate = new Dictionary<string, WpfControls.MenuItem>();
|
|
||||||
public bool WasShown { get; set; }
|
public bool WasShown { get; set; }
|
||||||
public static MainForm? Instance { get; set; }
|
public static MainForm? Instance { get; set; }
|
||||||
WpfControls.ContextMenu ContextMenu { get; } = new WpfControls.ContextMenu();
|
WpfControls.ContextMenu ContextMenu { get; } = new WpfControls.ContextMenu();
|
||||||
@@ -286,7 +285,7 @@ public partial class MainForm : Form
|
|||||||
|
|
||||||
lock (Player.MediaTracksLock)
|
lock (Player.MediaTracksLock)
|
||||||
{
|
{
|
||||||
var trackMenuItem = FindMenuItem(_("Track"));
|
var trackMenuItem = FindMenuItem(_("Track"), "Track");
|
||||||
|
|
||||||
if (trackMenuItem != null)
|
if (trackMenuItem != null)
|
||||||
{
|
{
|
||||||
@@ -348,7 +347,7 @@ public partial class MainForm : Form
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var chaptersMenuItem = FindMenuItem(_("Chapter"));
|
var chaptersMenuItem = FindMenuItem(_("Chapter"), "Chapters");
|
||||||
|
|
||||||
if (chaptersMenuItem != null)
|
if (chaptersMenuItem != null)
|
||||||
{
|
{
|
||||||
@@ -369,7 +368,7 @@ public partial class MainForm : Form
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var recentMenuItem = FindMenuItem(_("Recent Files"));
|
var recentMenuItem = FindMenuItem(_("Recent Files"), "Recent");
|
||||||
|
|
||||||
if (recentMenuItem != null)
|
if (recentMenuItem != null)
|
||||||
{
|
{
|
||||||
@@ -391,7 +390,7 @@ public partial class MainForm : Form
|
|||||||
recentMenuItem.Items.Add(clearMenuItem);
|
recentMenuItem.Items.Add(clearMenuItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
var titlesMenuItem = FindMenuItem(_("Title"));
|
var titlesMenuItem = FindMenuItem(_("Title"), "Titles");
|
||||||
|
|
||||||
if (titlesMenuItem != null)
|
if (titlesMenuItem != null)
|
||||||
{
|
{
|
||||||
@@ -424,7 +423,7 @@ public partial class MainForm : Form
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var profilesMenuItem = FindMenuItem(_("Profile"));
|
var profilesMenuItem = FindMenuItem(_("Profile"), "Profile");
|
||||||
|
|
||||||
if (profilesMenuItem != null && !profilesMenuItem.HasItems)
|
if (profilesMenuItem != null && !profilesMenuItem.HasItems)
|
||||||
{
|
{
|
||||||
@@ -446,7 +445,7 @@ public partial class MainForm : Form
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var customMenuItem = FindMenuItem(_("Custom"));
|
var customMenuItem = FindMenuItem(_("Custom"), "Custom");
|
||||||
|
|
||||||
if (customMenuItem != null)
|
if (customMenuItem != null)
|
||||||
{
|
{
|
||||||
@@ -476,7 +475,14 @@ public partial class MainForm : Form
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public WpfControls.MenuItem? FindMenuItem(string text) => FindMenuItem(text, ContextMenu.Items);
|
public WpfControls.MenuItem? FindMenuItem(string text, string text2 = "") {
|
||||||
|
var ret = FindMenuItem(text, ContextMenu.Items);
|
||||||
|
|
||||||
|
if (ret == null && text2 != "")
|
||||||
|
return FindMenuItem(text2, ContextMenu.Items);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
WpfControls.MenuItem? FindMenuItem(string text, WpfControls.ItemCollection? items)
|
WpfControls.MenuItem? FindMenuItem(string text, WpfControls.ItemCollection? items)
|
||||||
{
|
{
|
||||||
@@ -767,17 +773,12 @@ public partial class MainForm : Form
|
|||||||
|
|
||||||
var (menuBindings, confBindings) = App.InputConf.GetBindings();
|
var (menuBindings, confBindings) = App.InputConf.GetBindings();
|
||||||
_confBindings = confBindings;
|
_confBindings = confBindings;
|
||||||
|
var activeBindings = InputHelp.GetActiveBindings(menuBindings);
|
||||||
|
|
||||||
foreach (Binding binding in menuBindings)
|
foreach (Binding binding in menuBindings)
|
||||||
{
|
{
|
||||||
Binding tempBinding = binding;
|
Binding tempBinding = binding;
|
||||||
|
|
||||||
if (MenuItemDuplicate.ContainsKey(tempBinding.Command) && tempBinding.Input != "")
|
|
||||||
{
|
|
||||||
var mi = MenuItemDuplicate[tempBinding.Command];
|
|
||||||
mi.InputGestureText = mi.InputGestureText + ", " + tempBinding.Input;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!binding.IsMenu)
|
if (!binding.IsMenu)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@@ -785,9 +786,6 @@ public partial class MainForm : Form
|
|||||||
|
|
||||||
if (menuItem != null)
|
if (menuItem != null)
|
||||||
{
|
{
|
||||||
if (tempBinding.Input != "")
|
|
||||||
MenuItemDuplicate[tempBinding.Command] = menuItem;
|
|
||||||
|
|
||||||
menuItem.Click += (sender, args) => {
|
menuItem.Click += (sender, args) => {
|
||||||
try {
|
try {
|
||||||
TaskHelp.Run(() => {
|
TaskHelp.Run(() => {
|
||||||
@@ -803,7 +801,7 @@ public partial class MainForm : Form
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
menuItem.InputGestureText = tempBinding.Input;
|
menuItem.InputGestureText = InputHelp.GetBindingsForCommand(activeBindings, tempBinding.Command);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,24 +17,112 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NGettext.Wpf", "NGettext.Wpf\NGettext.Wpf.csproj", "{0B7958FD-2138-482A-A21B-481AE7A0F851}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NGettext.Wpf", "NGettext.Wpf\NGettext.Wpf.csproj", "{0B7958FD-2138-482A-A21B-481AE7A0F851}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "MSIX", "MSIX\MSIX.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
|
||||||
{ADC341B5-863A-4DFB-9352-475518FABE91}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{ADC341B5-863A-4DFB-9352-475518FABE91}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||||
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||||
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||||
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||||
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
{ADC341B5-863A-4DFB-9352-475518FABE91}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{ADC341B5-863A-4DFB-9352-475518FABE91}.Release|Any CPU.Build.0 = Release|Any CPU
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||||
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Release|ARM.Build.0 = Release|Any CPU
|
||||||
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||||
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Release|ARM64.Build.0 = Release|Any CPU
|
||||||
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{ADC341B5-863A-4DFB-9352-475518FABE91}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{0B524801-DA28-433F-808D-3F74EF81EB53}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{0B524801-DA28-433F-808D-3F74EF81EB53}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||||
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||||
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||||
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||||
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
{0B524801-DA28-433F-808D-3F74EF81EB53}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{0B524801-DA28-433F-808D-3F74EF81EB53}.Release|Any CPU.Build.0 = Release|Any CPU
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||||
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Release|ARM.Build.0 = Release|Any CPU
|
||||||
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||||
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Release|ARM64.Build.0 = Release|Any CPU
|
||||||
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{0B524801-DA28-433F-808D-3F74EF81EB53}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||||
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||||
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||||
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||||
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Release|Any CPU.Build.0 = Release|Any CPU
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||||
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Release|ARM.Build.0 = Release|Any CPU
|
||||||
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||||
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Release|ARM64.Build.0 = Release|Any CPU
|
||||||
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{0B7958FD-2138-482A-A21B-481AE7A0F851}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|Any CPU.ActiveCfg = Debug|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|Any CPU.Build.0 = Debug|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|Any CPU.Deploy.0 = Debug|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|ARM.ActiveCfg = Debug|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|ARM.Build.0 = Debug|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|ARM.Deploy.0 = Debug|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|ARM64.ActiveCfg = Debug|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|ARM64.Build.0 = Debug|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|ARM64.Deploy.0 = Debug|x64
|
||||||
|
{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|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|x86.Build.0 = Debug|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Debug|x86.Deploy.0 = Debug|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|Any CPU.ActiveCfg = Release|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|Any CPU.Build.0 = Release|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|Any CPU.Deploy.0 = Release|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|ARM.ActiveCfg = Release|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|ARM.Build.0 = Release|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|ARM.Deploy.0 = Release|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|ARM64.ActiveCfg = Release|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|ARM64.Build.0 = Release|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|ARM64.Deploy.0 = Release|x64
|
||||||
|
{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|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|x86.Build.0 = Release|x64
|
||||||
|
{81DAEE3A-76FF-4494-9384-D28A651D70BB}.Release|x86.Deploy.0 = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|||||||
@@ -454,4 +454,46 @@ public static class InputHelp
|
|||||||
}
|
}
|
||||||
return bindings;
|
return bindings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Dictionary<string, Binding> GetActiveBindings(List<Binding> bindings)
|
||||||
|
{
|
||||||
|
Dictionary<string, Binding> ret = new();
|
||||||
|
|
||||||
|
foreach (Binding binding in bindings)
|
||||||
|
{
|
||||||
|
if (binding.Input == "" || binding.Command == "")
|
||||||
|
continue;
|
||||||
|
|
||||||
|
ret[binding.Input] = binding;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string GetBindingsForCommand(Dictionary<string, Binding> activeBindings, string command)
|
||||||
|
{
|
||||||
|
List<string> keys = new();
|
||||||
|
bool hasLongKeys = false;
|
||||||
|
|
||||||
|
foreach (var it in activeBindings)
|
||||||
|
{
|
||||||
|
if (it.Value.Command != command)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
Binding binding = it.Value;
|
||||||
|
|
||||||
|
if (binding.Input.Length > 8)
|
||||||
|
hasLongKeys = true;
|
||||||
|
else
|
||||||
|
if (!keys.Contains(binding.Input))
|
||||||
|
keys.Add(binding.Input);
|
||||||
|
}
|
||||||
|
|
||||||
|
string ret = string.Join(", ", keys);
|
||||||
|
|
||||||
|
if (hasLongKeys && keys.Count > 0)
|
||||||
|
ret += ", ...";
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -98,7 +98,6 @@ public class MainPlayer : MpvClient
|
|||||||
SetPropertyBool("input-default-bindings", true);
|
SetPropertyBool("input-default-bindings", true);
|
||||||
SetPropertyBool("input-builtin-bindings", false);
|
SetPropertyBool("input-builtin-bindings", false);
|
||||||
|
|
||||||
SetPropertyString("watch-later-options", "mute");
|
|
||||||
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");
|
||||||
|
|||||||