diff --git a/BililiveRecorder.WPF/BililiveRecorder.WPF.csproj b/BililiveRecorder.WPF/BililiveRecorder.WPF.csproj index 5054cc5..03993ab 100644 --- a/BililiveRecorder.WPF/BililiveRecorder.WPF.csproj +++ b/BililiveRecorder.WPF/BililiveRecorder.WPF.csproj @@ -1,332 +1,32 @@ - - - + - Debug - AnyCPU - {0C7D4236-BF43-4944-81FE-E07E05A3F31D} + net8.0-windows10.0.17763.0 + 10.0.17763.0 WinExe - BililiveRecorder.WPF - BililiveRecorder.WPF - v4.7.2 - 512 - {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 4 - true - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - false - - - AnyCPU - full - true - bin\Release\ - TRACE - prompt - 4 - true - false + false + true + true + true BililiveRecorder.WPF.Program - - false - - ico.ico - - - false - - Properties\app.manifest + + true + - - - - - - - - - - - - - - - - - - 4.0 - - - - - - - - MSBuild:Compile - Designer - - - AddRoomCard.xaml - - - AddRoomFailedDialog.xaml - - - AutoFixProgressDialog.xaml - - - CloseWindowConfirmDialog.xaml - - - - DeleteRoomConfirmDialog.xaml - - - LogPanel.xaml - - - PerRoomSettingsDialog.xaml - - - RoomCard.xaml - - - SettingWithDefault.xaml - - - TaskbarIconControl.xaml - - - WorkDirectorySelectorDialog.xaml - - - - - - - - - - - - - - - - - - AboutPage.xaml - - - AnnouncementPage.xaml - - - RootPage.xaml - - - - - - - - - ToolboxAutoFixPage.xaml - - - ToolboxDanmakuMergerPage.xaml - - - ToolboxRemuxPage.xaml - - - - - True - True - Strings.resx - - - - - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - MSBuild:Compile - Designer - - - App.xaml - Code - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - MSBuild:Compile - Designer - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - - - NewMainWindow.xaml - - - LogPage.xaml - - - RoomListPage.xaml - - - AdvancedSettingsPage.xaml - - - SettingsPage.xaml - - - Code - - - True - True - Resources.resx - - - ResXFileCodeGenerator - Resources.Designer.cs - - - - - - PublicResXFileCodeGenerator - Strings.Designer.cs - - - + PreserveNewest - - - - - - {cb9f2d58-181d-49f7-9560-d35a9b9c1d8c} - BililiveRecorder.Core - - - {7610e19c-d3ab-4cbc-983e-6fda36f4d4b3} - BililiveRecorder.Flv - - - {4faae8e7-ac4e-4e99-a7d1-53d20ad8a200} - BililiveRecorder.ToolBox - + + + @@ -335,20 +35,12 @@ 1.1.0 - - 6.0.0 - - - 6.0.0 - + - 7.1.2 + 7.1.3 - 0.9.4 - - - 13.0.3 + 0.9.6 6.3.3 @@ -385,26 +77,24 @@ 5.0.0 - - 2.9.42 - - - 2.0.0-beta4.22272.1 - - - 2.0.0-beta4.22272.1 - - - 1.1.2 - - - 1.1.1 - - - 3.9.4 - + + + + + + + + + + + + + + + + + - @@ -414,4 +104,4 @@ - \ No newline at end of file + diff --git a/BililiveRecorder.WPF/NewMainWindow.xaml.cs b/BililiveRecorder.WPF/NewMainWindow.xaml.cs index 5d5c40a..d70ea20 100644 --- a/BililiveRecorder.WPF/NewMainWindow.xaml.cs +++ b/BililiveRecorder.WPF/NewMainWindow.xaml.cs @@ -33,7 +33,7 @@ namespace BililiveRecorder.WPF this.InitializeComponent(); - SingleInstance.NotificationReceived += this.SingleInstance_NotificationReceived; + // FIXME: SingleInstance.NotificationReceived += this.SingleInstance_NotificationReceived; } private void SingleInstance_NotificationReceived(object sender, EventArgs e) => this.SuperActivateAction(); @@ -118,7 +118,7 @@ namespace BililiveRecorder.WPF } else { - SingleInstance.NotificationReceived -= this.SingleInstance_NotificationReceived; + // FIXME: SingleInstance.NotificationReceived -= this.SingleInstance_NotificationReceived; Log.Logger.ForContext().Debug("Window Closing"); NativeBeforeWindowClose?.Invoke(this, EventArgs.Empty); return; diff --git a/BililiveRecorder.WPF/Pages/RootPage.xaml b/BililiveRecorder.WPF/Pages/RootPage.xaml index 2a5759c..91c5404 100644 --- a/BililiveRecorder.WPF/Pages/RootPage.xaml +++ b/BililiveRecorder.WPF/Pages/RootPage.xaml @@ -49,6 +49,7 @@ + { await Task.Delay(1000); - _ = this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)(() => + _ = this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, () => { MessageBox.Show(Window.GetWindow(this), @"录播姬 安装成功! 之后再运行请使用桌面或开始菜单里的快捷方式。 @@ -115,7 +115,7 @@ BililiveRecorder Installed! Please use the shortcut on the desktop or in the start menu to launch. You can uninstall me in system settings.", "安装成功 Installed", MessageBoxButton.OK, MessageBoxImage.Information); - })); + }); }); } @@ -249,12 +249,12 @@ You can uninstall me in system settings.", "安装成功 Installed", MessageBoxB config.Global.WorkDirectory = path; // 检查已经在同目录运行的其他进程 - if (!SingleInstance.CheckMutex(path)) - { - // 有已经在其他目录运行的进程,已经通知该进程,本进程退出 - (Application.Current.MainWindow as NewMainWindow)!.CloseWithoutConfirmAction(); - return; - } + // FIXME: if (!SingleInstance.CheckMutex(path)) + //{ + // // 有已经在其他目录运行的进程,已经通知该进程,本进程退出 + // (Application.Current.MainWindow as NewMainWindow)!.CloseWithoutConfirmAction(); + // return; + //} // 无已经在同目录运行的进程 this.serviceProvider = this.BuildServiceProvider(config, logger); diff --git a/BililiveRecorder.WPF/Program.cs b/BililiveRecorder.WPF/Program.cs index a6bec2c..2491b40 100644 --- a/BililiveRecorder.WPF/Program.cs +++ b/BililiveRecorder.WPF/Program.cs @@ -4,8 +4,8 @@ using System.CommandLine.NamingConventionBinder; using System.IO; using System.Net; using System.Net.Http; -using System.Runtime.ExceptionServices; using System.Runtime.InteropServices; +using System.Runtime.Versioning; using System.Security; using System.Threading; using System.Threading.Tasks; @@ -23,6 +23,8 @@ using Serilog.Formatting.Compact; using Serilog.Formatting.Display; using Squirrel; +[assembly: SupportedOSPlatform("windows")] + #nullable enable namespace BililiveRecorder.WPF { @@ -337,18 +339,18 @@ namespace BililiveRecorder.WPF [DllImport("kernel32")] private static extern bool AttachConsole(int pid); - [HandleProcessCorruptedStateExceptions, SecurityCritical] + [SecurityCritical] private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { if (e.ExceptionObject is Exception ex) logger.Fatal(ex, "Unhandled exception from AppDomain.UnhandledException"); } - [HandleProcessCorruptedStateExceptions, SecurityCritical] + [SecurityCritical] private static void TaskScheduler_UnobservedTaskException(object sender, UnobservedTaskExceptionEventArgs e) => logger.Error(e.Exception, "Unobserved exception from TaskScheduler.UnobservedTaskException"); - [HandleProcessCorruptedStateExceptions, SecurityCritical] + [SecurityCritical] private static void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e) => logger.Fatal(e.Exception, "Unhandled exception from Application.DispatcherUnhandledException"); diff --git a/BililiveRecorder.WPF/Properties/AssemblyInfo.cs b/BililiveRecorder.WPF/Properties/AssemblyInfo.cs deleted file mode 100644 index eae9ba6..0000000 --- a/BililiveRecorder.WPF/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using System.Windows; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("mikufans录播姬")] -[assembly: AssemblyDescription("mikufans录播姬 by genteure")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Genteure")] -[assembly: AssemblyProduct("mikufans录播姬")] -[assembly: AssemblyCopyright("Copyright © 2018-2023 Genteure")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -//In order to begin building localizable applications, set -//CultureYouAreCodingWith in your .csproj file -//inside a . For example, if you are using US english -//in your source files, set the to en-US. Then uncomment -//the NeutralResourceLanguage attribute below. Update the "en-US" in -//the line below to match the UICulture setting in the project file. - -//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] - - -[assembly: ThemeInfo( - ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located - //(used if a resource is not found in the page, - // or application resource dictionaries) - ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located - //(used if a resource is not found in the page, - // app, or any theme specific resource dictionaries) -)] diff --git a/BililiveRecorder.WPF/SingleInstance.cs b/BililiveRecorder.WPF/SingleInstance.cs index f550e62..6c272f7 100644 --- a/BililiveRecorder.WPF/SingleInstance.cs +++ b/BililiveRecorder.WPF/SingleInstance.cs @@ -1,19 +1,20 @@ -using System; -using System.Collections.Generic; -using System.Runtime.Remoting; -using System.Runtime.Remoting.Channels; -using System.Runtime.Remoting.Channels.Ipc; -using System.Runtime.Serialization.Formatters; -using System.Text; -using System.Threading; -using System.Windows; -using System.Windows.Threading; +//using System; +//using System.Collections.Generic; +//using System.Runtime.Remoting; +//using System.Runtime.Remoting.Channels; +//using System.Runtime.Remoting.Channels.Ipc; +//using System.Runtime.Serialization.Formatters; +//using System.Text; +//using System.Threading; +//using System.Windows; +//using System.Windows.Threading; #nullable enable namespace BililiveRecorder.WPF { + // FIXME public static class SingleInstance - { + {/* private static Mutex? singleInstanceMutex; private static IpcServerChannel? channel; @@ -73,5 +74,6 @@ namespace BililiveRecorder.WPF #pragma warning restore VSTHRD110 // Observe result of async calls public override object? InitializeLifetimeService() => null; } + */ } } diff --git a/BililiveRecorder.WPF/StreamStartedNotification.cs b/BililiveRecorder.WPF/StreamStartedNotification.cs index 9b00ee5..a675317 100644 --- a/BililiveRecorder.WPF/StreamStartedNotification.cs +++ b/BililiveRecorder.WPF/StreamStartedNotification.cs @@ -17,7 +17,7 @@ namespace BililiveRecorder.WPF { private static readonly ILogger logger = Log.ForContext(typeof(StreamStartedNotification)); - private static INotificationApi notificationApi; + private static readonly INotificationApi notificationApi; static StreamStartedNotification() { @@ -69,7 +69,8 @@ namespace BililiveRecorder.WPF public NotificationCenterApi() { - _ = ToastNotificationManagerCompat.History; + throw new NotImplementedException("TODO: re-support windows notification center"); + // FIXME: _ = ToastNotificationManagerCompat.History; this.tempPath = Path.Combine(Path.GetTempPath(), "brec-notifi", Process.GetCurrentProcess().Id.ToString()); @@ -90,7 +91,7 @@ namespace BililiveRecorder.WPF public void Cleanup() { - ToastNotificationManagerCompat.Uninstall(); + // FIXME: ToastNotificationManagerCompat.Uninstall(); try { @@ -169,7 +170,7 @@ namespace BililiveRecorder.WPF if (cover is not null) builder.AddInlineImage(cover); - builder.Show(); + // FIXME: builder.Show(); } } } diff --git a/BililiveRecorder.sln b/BililiveRecorder.sln index 6b50305..0b23c34 100644 --- a/BililiveRecorder.sln +++ b/BililiveRecorder.sln @@ -1,4 +1,4 @@ - + Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.0.31903.59 @@ -12,7 +12,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{2D44A59D-E43 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{623A2ACC-DAC6-4E6F-9242-B4B54381AAE1}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BililiveRecorder.WPF", "BililiveRecorder.WPF\BililiveRecorder.WPF.csproj", "{0C7D4236-BF43-4944-81FE-E07E05A3F31D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BililiveRecorder.WPF", "BililiveRecorder.WPF\BililiveRecorder.WPF.csproj", "{0C7D4236-BF43-4944-81FE-E07E05A3F31D}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BililiveRecorder.Core", "BililiveRecorder.Core\BililiveRecorder.Core.csproj", "{CB9F2D58-181D-49F7-9560-D35A9B9C1D8C}" ProjectSection(ProjectDependencies) = postProject