diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3 (Package)/Package.appxmanifest b/BetterLyrics.WinUI3/BetterLyrics.WinUI3 (Package)/Package.appxmanifest index b223889..8b69393 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3 (Package)/Package.appxmanifest +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3 (Package)/Package.appxmanifest @@ -12,7 +12,7 @@ + Version="1.0.154.0" /> diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Renderer/PlayingLineRenderer.cs b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Renderer/PlayingLineRenderer.cs index 5fe4c86..35f1c17 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Renderer/PlayingLineRenderer.cs +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Renderer/PlayingLineRenderer.cs @@ -52,20 +52,21 @@ namespace BetterLyrics.WinUI3.Renderer bounds.Height ); - using (var opacityLayer = ds.CreateLayer((float)opacity)) + ds.DrawImage(new OpacityEffect { - ds.DrawImage(new GaussianBlurEffect + Source = new GaussianBlurEffect { BlurAmount = (float)blur, Source = new CropEffect { Source = source, - BorderMode = EffectBorderMode.Soft, + BorderMode = EffectBorderMode.Hard, SourceRectangle = destRect, }, BorderMode = EffectBorderMode.Soft - }); - } + }, + Opacity = (float)opacity, + }); } private void DrawTranslated(CanvasDrawingSession ds, ICanvasImage source, LyricsLine line) @@ -83,20 +84,21 @@ namespace BetterLyrics.WinUI3.Renderer bounds.Height ); - using (var opacityLayer = ds.CreateLayer((float)opacity)) + ds.DrawImage(new OpacityEffect { - ds.DrawImage(new GaussianBlurEffect + Source = new GaussianBlurEffect { BlurAmount = (float)blur, Source = new CropEffect { Source = source, - BorderMode = EffectBorderMode.Soft, + BorderMode = EffectBorderMode.Hard, SourceRectangle = destRect, }, BorderMode = EffectBorderMode.Soft - }); - } + }, + Opacity = (float)opacity, + }); } private void DrawOriginalText( @@ -179,10 +181,17 @@ namespace BetterLyrics.WinUI3.Renderer Sources = { gradientLayer, source } }) { - int endCharIndex = subLineRegion.CharacterIndex + subLineRegion.CharacterCount; - for (int i = subLineRegion.CharacterIndex; i < endCharIndex; i++) + if (!settings.IsLyricsFloatAnimationEnabled && !settings.IsLyricsGlowEffectEnabled && !settings.IsLyricsScaleEffectEnabled) { - DrawSingleCharacter(ds, line, i, curCharIndex, textWithColorLayer, state, settings); + ds.DrawImage(textWithColorLayer); + } + else + { + int endCharIndex = subLineRegion.CharacterIndex + subLineRegion.CharacterCount; + for (int i = subLineRegion.CharacterIndex; i < endCharIndex; i++) + { + DrawSingleCharacter(ds, line, i, curCharIndex, textWithColorLayer, state, settings); + } } } } @@ -271,7 +280,8 @@ namespace BetterLyrics.WinUI3.Renderer Source = new CropEffect { Source = source, - SourceRectangle = sourcePlayedCharRect + SourceRectangle = sourcePlayedCharRect, + BorderMode = EffectBorderMode.Hard }, BlurAmount = (float)glow, BorderMode = EffectBorderMode.Soft @@ -281,12 +291,7 @@ namespace BetterLyrics.WinUI3.Renderer } } - ds.DrawImage(new CropEffect - { - Source = source, - SourceRectangle = sourceCharRect, - BorderMode = EffectBorderMode.Soft - }, destCharRect, sourceCharRect); + ds.DrawImage(source, destCharRect, sourceCharRect); } } diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Renderer/UnplayingLineRenderer.cs b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Renderer/UnplayingLineRenderer.cs index 0c7bb09..e2e6660 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Renderer/UnplayingLineRenderer.cs +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Renderer/UnplayingLineRenderer.cs @@ -1,4 +1,5 @@ -using BetterLyrics.WinUI3.Models; +using BetterLyrics.WinUI3.Extensions; +using BetterLyrics.WinUI3.Models; using Microsoft.Graphics.Canvas; using Microsoft.Graphics.Canvas.Effects; using Microsoft.Graphics.Canvas.Text; @@ -73,20 +74,22 @@ namespace BetterLyrics.WinUI3.Renderer bounds.Height ); - using (var opacityLayer = ds.CreateLayer((float)opacity)) + + ds.DrawImage(new OpacityEffect { - ds.DrawImage(new GaussianBlurEffect + Source = new GaussianBlurEffect { BlurAmount = blur, Source = new CropEffect { Source = source, SourceRectangle = destRect, - BorderMode = EffectBorderMode.Soft, + BorderMode = EffectBorderMode.Hard, }, BorderMode = EffectBorderMode.Soft - }); - } + }, + Opacity = opacity + }); } } } diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/ViewModels/LyricsWindowViewModel.cs b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/ViewModels/LyricsWindowViewModel.cs index acf2bec..0b37d00 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/ViewModels/LyricsWindowViewModel.cs +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/ViewModels/LyricsWindowViewModel.cs @@ -28,7 +28,7 @@ namespace BetterLyrics.WinUI3 : BaseWindowViewModel, IRecipient>, IRecipient>>, - IRecipient> + IRecipient> { private readonly ISettingsService _settingsService; private readonly ILiveStatesService _liveStatesService; @@ -208,15 +208,15 @@ namespace BetterLyrics.WinUI3 } } - public void Receive(PropertyChangedMessage message) + public void Receive(PropertyChangedMessage message) { - //if (message.Sender is LyricsRendererViewModel) - //{ - // if (message.PropertyName == nameof(LyricsRendererViewModel.ThemeTypeSent)) - // { - // ThemeType = message.NewValue; - // } - //} + if (message.Sender is IMediaSessionsService) + { + if (message.PropertyName == nameof(IMediaSessionsService.AlbumArtThemeColors)) + { + ThemeType = message.NewValue.ThemeType; + } + } } public void Receive(PropertyChangedMessage message) diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Views/LyricsPage.xaml.cs b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Views/LyricsPage.xaml.cs index a18fe2b..ab414f1 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Views/LyricsPage.xaml.cs +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Views/LyricsPage.xaml.cs @@ -651,6 +651,11 @@ namespace BetterLyrics.WinUI3.Views //} } + private void ShadowCastGrid_SizeChanged(object sender, SizeChangedEventArgs e) + { + UpdateAlbumArtCornerRadius(); + } + // ==== public void Receive(PropertyChangedMessage message) @@ -778,9 +783,5 @@ namespace BetterLyrics.WinUI3.Views } } - private void ShadowCastGrid_SizeChanged(object sender, SizeChangedEventArgs e) - { - UpdateAlbumArtCornerRadius(); - } } }