From b23d3c280f0f0d6bc3c078f82af1d4628a2b1211 Mon Sep 17 00:00:00 2001 From: Zhe Fang Date: Fri, 9 Jan 2026 14:48:12 -0500 Subject: [PATCH] fix: not found and loading lyrics placeholder was not displayed --- BetterLyrics.Core/BetterLyrics.Core.csproj | 13 +++++++++++++ BetterLyrics.Core/Class1.cs | 7 +++++++ .../Extensions/LyricsDataExtensions.cs | 13 +++++++++++++ .../Models/Lyrics/LyricsData.cs | 12 ------------ .../Parsers/LyricsParser/LyricsParser.Lrc.cs | 2 +- .../GSMTCService/GSMTCService.LyricsUpdater.cs | 1 - .../Services/GSMTCService/GSMTCService.cs | 2 ++ BetterLyrics.sln | 18 ++++++++++++++++-- 8 files changed, 52 insertions(+), 16 deletions(-) create mode 100644 BetterLyrics.Core/BetterLyrics.Core.csproj create mode 100644 BetterLyrics.Core/Class1.cs diff --git a/BetterLyrics.Core/BetterLyrics.Core.csproj b/BetterLyrics.Core/BetterLyrics.Core.csproj new file mode 100644 index 0000000..968ac4e --- /dev/null +++ b/BetterLyrics.Core/BetterLyrics.Core.csproj @@ -0,0 +1,13 @@ + + + + net10.0 + enable + enable + + + + + + + diff --git a/BetterLyrics.Core/Class1.cs b/BetterLyrics.Core/Class1.cs new file mode 100644 index 0000000..eeb95c2 --- /dev/null +++ b/BetterLyrics.Core/Class1.cs @@ -0,0 +1,7 @@ +namespace BetterLyrics.Core +{ + public class Class1 + { + + } +} diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Extensions/LyricsDataExtensions.cs b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Extensions/LyricsDataExtensions.cs index c5793c9..8fb4fc0 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Extensions/LyricsDataExtensions.cs +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Extensions/LyricsDataExtensions.cs @@ -1,5 +1,6 @@ using BetterLyrics.WinUI3.Helper; using BetterLyrics.WinUI3.Models.Lyrics; +using BetterLyrics.WinUI3.Services.LocalizationService; using System; using System.Collections.Generic; using System.Linq; @@ -20,12 +21,24 @@ namespace BetterLyrics.WinUI3.Extensions StartMs = 0, EndMs = (int)TimeSpan.FromMinutes(99).TotalMilliseconds, PrimaryText = "● ● ●", + PrimarySyllables = [new BaseLyrics { Text = "● ● ●", StartMs = 0, EndMs = (int)TimeSpan.FromMinutes(99).TotalMilliseconds }], }, ], LanguageCode = "N/A", }; } + public static LyricsData GetNotfoundPlaceholder() + { + return new LyricsData([new LyricsLine + { + StartMs = 0, + EndMs = (int)TimeSpan.FromMinutes(99).TotalMilliseconds, + PrimaryText = "N/A", + PrimarySyllables = [new BaseLyrics { Text = "N/A", StartMs = 0, EndMs = (int)TimeSpan.FromMinutes(99).TotalMilliseconds }], + }]); + } + public void SetTranslatedText(LyricsData translationData, int toleranceMs = 50) { foreach (var line in lyricsData.LyricsLines) diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Models/Lyrics/LyricsData.cs b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Models/Lyrics/LyricsData.cs index 99bfa48..7340730 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Models/Lyrics/LyricsData.cs +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Models/Lyrics/LyricsData.cs @@ -9,8 +9,6 @@ namespace BetterLyrics.WinUI3.Models.Lyrics { public class LyricsData { - private static readonly ILocalizationService _localizationService = Ioc.Default.GetRequiredService(); - public List LyricsLines { get; set; } = []; public string? LanguageCode { @@ -29,15 +27,5 @@ namespace BetterLyrics.WinUI3.Models.Lyrics LyricsLines = lyricsLines; } - public static LyricsData GetNotfoundPlaceholder() - { - return new LyricsData([new LyricsLine - { - StartMs = 0, - EndMs = (int)TimeSpan.FromMinutes(99).TotalMilliseconds, - PrimaryText = _localizationService.GetLocalizedString("LyricsNotFound"), - }]); - } - } } diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Parsers/LyricsParser/LyricsParser.Lrc.cs b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Parsers/LyricsParser/LyricsParser.Lrc.cs index 3439efb..758efc6 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Parsers/LyricsParser/LyricsParser.Lrc.cs +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Parsers/LyricsParser/LyricsParser.Lrc.cs @@ -52,7 +52,7 @@ namespace BetterLyrics.WinUI3.Parsers.LyricsParser } } - if (syllables.Count > 0) + if (syllables.Count > 1) { lrcLines.Add(new LyricsLine { diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Services/GSMTCService/GSMTCService.LyricsUpdater.cs b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Services/GSMTCService/GSMTCService.LyricsUpdater.cs index 049ff95..88b350a 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Services/GSMTCService/GSMTCService.LyricsUpdater.cs +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Services/GSMTCService/GSMTCService.LyricsUpdater.cs @@ -22,7 +22,6 @@ namespace BetterLyrics.WinUI3.Services.GSMTCService { _logger.LogInformation("RefreshLyricsAsync"); - CurrentLyricsSearchResult = null; CurrentLyricsData = LyricsData.GetLoadingPlaceholder(); if (CurrentSongInfo != SongInfoExtensions.Placeholder) diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Services/GSMTCService/GSMTCService.cs b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Services/GSMTCService/GSMTCService.cs index fcb6a0e..9f04232 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Services/GSMTCService/GSMTCService.cs +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Services/GSMTCService/GSMTCService.cs @@ -11,6 +11,7 @@ using BetterLyrics.WinUI3.Models.Settings; using BetterLyrics.WinUI3.Services.AlbumArtSearchService; using BetterLyrics.WinUI3.Services.DiscordService; using BetterLyrics.WinUI3.Services.LastFMService; +using BetterLyrics.WinUI3.Services.LocalizationService; using BetterLyrics.WinUI3.Services.LyricsSearchService; using BetterLyrics.WinUI3.Services.PlayHistoryService; using BetterLyrics.WinUI3.Services.SettingsService; @@ -19,6 +20,7 @@ using BetterLyrics.WinUI3.Services.TransliterationService; using BetterLyrics.WinUI3.ViewModels; using BetterLyrics.WinUI3.Views; using CommunityToolkit.Mvvm.ComponentModel; +using CommunityToolkit.Mvvm.DependencyInjection; using CommunityToolkit.Mvvm.Messaging; using CommunityToolkit.Mvvm.Messaging.Messages; using CommunityToolkit.WinUI; diff --git a/BetterLyrics.sln b/BetterLyrics.sln index 5bdbb14..2acdd24 100644 --- a/BetterLyrics.sln +++ b/BetterLyrics.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.13.36105.23 +# Visual Studio Version 18 +VisualStudioVersion = 18.1.11312.151 d18.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "BetterLyrics.WinUI3 (Package)", "BetterLyrics.WinUI3\BetterLyrics.WinUI3 (Package)\BetterLyrics.WinUI3 (Package).wapproj", "{6576CD19-EF92-4099-B37D-E2D8EBDB6BF5}" EndProject @@ -11,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Impressionist", "Impression EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ColorThief.WinUI3", "ColorThief.WinUI3\ColorThief.WinUI3.csproj", "{8F2FE667-2D91-428E-0630-05E6330F9625}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BetterLyrics.Core", "BetterLyrics.Core\BetterLyrics.Core.csproj", "{0F47FE6F-D0AA-49E5-8F33-78DFDEB1F810}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|ARM64 = Debug|ARM64 @@ -75,6 +77,18 @@ Global {8F2FE667-2D91-428E-0630-05E6330F9625}.Release|x64.Build.0 = Release|Any CPU {8F2FE667-2D91-428E-0630-05E6330F9625}.Release|x86.ActiveCfg = Release|Any CPU {8F2FE667-2D91-428E-0630-05E6330F9625}.Release|x86.Build.0 = Release|Any CPU + {0F47FE6F-D0AA-49E5-8F33-78DFDEB1F810}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {0F47FE6F-D0AA-49E5-8F33-78DFDEB1F810}.Debug|ARM64.Build.0 = Debug|Any CPU + {0F47FE6F-D0AA-49E5-8F33-78DFDEB1F810}.Debug|x64.ActiveCfg = Debug|Any CPU + {0F47FE6F-D0AA-49E5-8F33-78DFDEB1F810}.Debug|x64.Build.0 = Debug|Any CPU + {0F47FE6F-D0AA-49E5-8F33-78DFDEB1F810}.Debug|x86.ActiveCfg = Debug|Any CPU + {0F47FE6F-D0AA-49E5-8F33-78DFDEB1F810}.Debug|x86.Build.0 = Debug|Any CPU + {0F47FE6F-D0AA-49E5-8F33-78DFDEB1F810}.Release|ARM64.ActiveCfg = Release|Any CPU + {0F47FE6F-D0AA-49E5-8F33-78DFDEB1F810}.Release|ARM64.Build.0 = Release|Any CPU + {0F47FE6F-D0AA-49E5-8F33-78DFDEB1F810}.Release|x64.ActiveCfg = Release|Any CPU + {0F47FE6F-D0AA-49E5-8F33-78DFDEB1F810}.Release|x64.Build.0 = Release|Any CPU + {0F47FE6F-D0AA-49E5-8F33-78DFDEB1F810}.Release|x86.ActiveCfg = Release|Any CPU + {0F47FE6F-D0AA-49E5-8F33-78DFDEB1F810}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE