From 7eda0769206b27a3c1dc0ec83d1c971cc142fe8b Mon Sep 17 00:00:00 2001 From: Zhe Fang Date: Wed, 20 Aug 2025 20:12:18 -0400 Subject: [PATCH] fix #85 and some other bugs fixed --- .../Package.appxmanifest | 2 +- .../BetterLyrics.WinUI3/App.xaml | 3 + .../BetterLyrics.WinUI3/App.xaml.cs | 1 + .../BetterLyrics.WinUI3/Assets/Empty.png | Bin 0 -> 24324 bytes .../BetterLyrics.WinUI3/Assets/Page.png | Bin 0 -> 20998 bytes .../BetterLyrics.WinUI3.csproj | 12 + .../Controls/LyricsSearchControl.xaml | 271 +++++++++++++++ .../Controls/LyricsSearchControl.xaml.cs | 35 ++ .../Controls/PlaybackSettingsControl.xaml | 24 +- .../BoolNegationToVisibilityConverter.cs | 23 ++ .../Converter/BoolToOpacityConverter.cs | 26 ++ .../MillisecondsToFormattedTimeConverter.cs | 30 ++ .../BetterLyrics.WinUI3/Enums/LyricsFormat.cs | 11 + .../Models/LyricsSearchResult.cs | 20 ++ .../Models/MappedSongSearchQuery.cs | 36 ++ .../Models/MediaSourceProviderInfo.cs | 23 +- .../Models/Settings/AppSettings.cs | 2 + .../AlbumArtSearchService.cs | 9 +- .../IAlbumArtSearchService.cs | 3 +- .../ILyricsSearchService.cs | 8 +- .../LyricsSearchService.cs | 314 +++++++++++++----- .../MediaSessionsService.AlbumArtUpdater.cs | 9 +- .../MediaSessionsService.LyricsUpdater.cs | 24 +- .../MediaSessionsService.cs | 137 +++++--- .../SettingsService/SettingsService.cs | 3 + .../Strings/en-US/Resources.resw | 50 ++- .../Strings/ja-JP/Resources.resw | 56 +++- .../Strings/ko-KR/Resources.resw | 54 ++- .../Strings/zh-CN/Resources.resw | 42 +++ .../Strings/zh-TW/Resources.resw | 50 ++- .../LyricsRendererViewModel.Update.cs | 3 +- .../LyricsSearchControlViewModel.cs | 166 +++++++++ .../ViewModels/SettingsPageViewModel.cs | 17 +- .../BetterLyrics.WinUI3/Views/LyricsPage.xaml | 20 +- .../Views/LyricsPage.xaml.cs | 15 + 35 files changed, 1294 insertions(+), 205 deletions(-) create mode 100644 BetterLyrics.WinUI3/BetterLyrics.WinUI3/Assets/Empty.png create mode 100644 BetterLyrics.WinUI3/BetterLyrics.WinUI3/Assets/Page.png create mode 100644 BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/LyricsSearchControl.xaml create mode 100644 BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/LyricsSearchControl.xaml.cs create mode 100644 BetterLyrics.WinUI3/BetterLyrics.WinUI3/Converter/BoolNegationToVisibilityConverter.cs create mode 100644 BetterLyrics.WinUI3/BetterLyrics.WinUI3/Converter/BoolToOpacityConverter.cs create mode 100644 BetterLyrics.WinUI3/BetterLyrics.WinUI3/Converter/MillisecondsToFormattedTimeConverter.cs create mode 100644 BetterLyrics.WinUI3/BetterLyrics.WinUI3/Models/LyricsSearchResult.cs create mode 100644 BetterLyrics.WinUI3/BetterLyrics.WinUI3/Models/MappedSongSearchQuery.cs create mode 100644 BetterLyrics.WinUI3/BetterLyrics.WinUI3/ViewModels/LyricsSearchControlViewModel.cs diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3 (Package)/Package.appxmanifest b/BetterLyrics.WinUI3/BetterLyrics.WinUI3 (Package)/Package.appxmanifest index 6cdc1d4..7477edd 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3 (Package)/Package.appxmanifest +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3 (Package)/Package.appxmanifest @@ -12,7 +12,7 @@ + Version="1.0.59.0" /> diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/App.xaml b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/App.xaml index bbed9d9..ea0a51b 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/App.xaml +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/App.xaml @@ -51,10 +51,13 @@ + + + diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/App.xaml.cs b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/App.xaml.cs index 974faab..2bbff02 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/App.xaml.cs +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/App.xaml.cs @@ -118,6 +118,7 @@ namespace BetterLyrics.WinUI3 .AddSingleton() .AddSingleton() .AddSingleton() + .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton() diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Assets/Empty.png b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Assets/Empty.png new file mode 100644 index 0000000000000000000000000000000000000000..c756f7b0fe0346ee65fd43456d8fd3752f95bdaf GIT binary patch literal 24324 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 Y`L5e%<4pCwiVUW&eM9S$hTYTu0V$Y6HUIzs literal 0 HcmV?d00001 diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Assets/Page.png b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Assets/Page.png new file mode 100644 index 0000000000000000000000000000000000000000..9902ef7e14cc59228e0cc20fd5cbadb68fc8d98c GIT binary patch literal 20998 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 literal 0 HcmV?d00001 diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/BetterLyrics.WinUI3.csproj b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/BetterLyrics.WinUI3.csproj index 4b4ea25..fba170a 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/BetterLyrics.WinUI3.csproj +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/BetterLyrics.WinUI3.csproj @@ -26,6 +26,7 @@ + @@ -117,6 +118,9 @@ Always + + Always + Always @@ -156,6 +160,9 @@ Always + + Always + Always @@ -181,6 +188,11 @@ Always + + + MSBuild:Compile + + MSBuild:Compile diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/LyricsSearchControl.xaml b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/LyricsSearchControl.xaml new file mode 100644 index 0000000..4b5a4f3 --- /dev/null +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/LyricsSearchControl.xaml @@ -0,0 +1,271 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + +