Skip to content

Commit 205cbe8

Browse files
committed
fix: settings storage issue
1 parent 816f706 commit 205cbe8

File tree

2 files changed

+64
-8
lines changed

2 files changed

+64
-8
lines changed

BetterLyrics.WinUI3/BetterLyrics.WinUI3/Models/LyricsWindowStatus.cs

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,61 @@ public partial class LyricsWindowStatus : ObservableRecipient, ICloneable
5252

5353
public LyricsWindowStatus()
5454
{
55+
}
56+
57+
partial void OnLyricsStyleSettingsChanged(LyricsStyleSettings oldValue, LyricsStyleSettings newValue)
58+
{
59+
oldValue.PropertyChanged -= LyricsStyleSettings_PropertyChanged;
60+
newValue.PropertyChanged += LyricsStyleSettings_PropertyChanged;
61+
}
5562

63+
private void LyricsStyleSettings_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e)
64+
{
65+
OnPropertyChanged(nameof(LyricsStyleSettings));
66+
}
67+
68+
partial void OnLyricsEffectSettingsChanged(LyricsEffectSettings oldValue, LyricsEffectSettings newValue)
69+
{
70+
oldValue.PropertyChanged -= LyricsEffectSettings_PropertyChanged;
71+
newValue.PropertyChanged += LyricsEffectSettings_PropertyChanged;
72+
}
73+
74+
private void LyricsEffectSettings_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e)
75+
{
76+
OnPropertyChanged(nameof(LyricsEffectSettings));
77+
}
78+
79+
partial void OnLyricsBackgroundSettingsChanged(LyricsBackgroundSettings oldValue, LyricsBackgroundSettings newValue)
80+
{
81+
oldValue.PropertyChanged -= LyricsBackgroundSettings_PropertyChanged;
82+
newValue.PropertyChanged += LyricsBackgroundSettings_PropertyChanged;
83+
}
84+
85+
private void LyricsBackgroundSettings_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e)
86+
{
87+
OnPropertyChanged(nameof(LyricsBackgroundSettings));
88+
}
89+
90+
partial void OnAlbumArtLayoutSettingsChanged(AlbumArtAreaStyleSettings oldValue, AlbumArtAreaStyleSettings newValue)
91+
{
92+
oldValue.PropertyChanged -= AlbumArtLayoutSettings_PropertyChanged;
93+
newValue.PropertyChanged += AlbumArtLayoutSettings_PropertyChanged;
94+
}
95+
96+
private void AlbumArtLayoutSettings_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e)
97+
{
98+
OnPropertyChanged(nameof(AlbumArtLayoutSettings));
99+
}
100+
101+
partial void OnAlbumArtAreaEffectSettingsChanged(AlbumArtAreaEffectSettings oldValue, AlbumArtAreaEffectSettings newValue)
102+
{
103+
oldValue.PropertyChanged -= AlbumArtAreaEffectSettings_PropertyChanged;
104+
newValue.PropertyChanged += AlbumArtAreaEffectSettings_PropertyChanged;
105+
}
106+
107+
private void AlbumArtAreaEffectSettings_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e)
108+
{
109+
OnPropertyChanged(nameof(AlbumArtAreaEffectSettings));
56110
}
57111

58112
public LyricsWindowStatus(Window? targetWindow = null)

BetterLyrics.WinUI3/BetterLyrics.WinUI3/Renderer/LyricsRenderer.cs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -146,17 +146,19 @@ private void DrawLyrics(
146146
if (line.OriginalCanvasTextLayout == null) continue;
147147
if (line.OriginalCanvasTextLayout.LayoutBounds.Width <= 0) continue;
148148

149-
var rotationY = line.CenterPosition.Y;
150-
151-
double xOffset = lyricsX + Math.Abs(line.AngleTransition.Value) / (Math.PI / 2) * lyricsWidth / 2 * (effectSettings.FanLyricsAngle < 0 ? 1 : -1);
149+
double xOffset = lyricsX;
152150
double yOffset = line.YOffsetTransition.Value + userScrollOffset + lyricsY + lyricsHeight * playingLineTopOffsetFactor;
153151

154-
var transform =
155-
Matrix3x2.CreateScale((float)line.ScaleTransition.Value, line.CenterPosition) *
156-
Matrix3x2.CreateRotation((float)line.AngleTransition.Value, new Vector2((float)rotationX, rotationY)) *
157-
Matrix3x2.CreateTranslation((float)xOffset, (float)yOffset);
152+
ds.Transform = Matrix3x2.CreateScale((float)line.ScaleTransition.Value, line.CenterPosition);
153+
154+
if (effectSettings.IsFanLyricsEnabled)
155+
{
156+
xOffset += Math.Abs(line.AngleTransition.Value) / (Math.PI / 2) * lyricsWidth / 2 * (effectSettings.FanLyricsAngle < 0 ? 1 : -1);
157+
var rotationY = line.CenterPosition.Y;
158+
ds.Transform *= Matrix3x2.CreateRotation((float)line.AngleTransition.Value, new Vector2((float)rotationX, rotationY));
159+
}
158160

159-
ds.Transform = transform;
161+
ds.Transform *= Matrix3x2.CreateTranslation((float)xOffset, (float)yOffset);
160162

161163
using (var textOnlyLayer = RenderBaseTextLayer(control, line, styleSettings.LyricsFontStrokeWidth, strokeColor, line.ColorTransition.Value))
162164
{

0 commit comments

Comments
 (0)