diff --git a/Harmonia.UI/ViewModels/MainViewModel.cs b/Harmonia.UI/ViewModels/MainViewModel.cs
index 4399bc1..87c7631 100644
--- a/Harmonia.UI/ViewModels/MainViewModel.cs
+++ b/Harmonia.UI/ViewModels/MainViewModel.cs
@@ -2,5 +2,5 @@
public partial class MainViewModel : ViewModelBase
{
- public string Greeting => "Welcome to Avalonia!";
+ public static string Greeting => "Welcome to Avalonia!";
}
diff --git a/Harmonia.UI/ViewModels/PlaybackBarViewModel.cs b/Harmonia.UI/ViewModels/PlaybackBarViewModel.cs
index 93cd116..d32cbf6 100644
--- a/Harmonia.UI/ViewModels/PlaybackBarViewModel.cs
+++ b/Harmonia.UI/ViewModels/PlaybackBarViewModel.cs
@@ -16,7 +16,7 @@ using System.Windows.Input;
namespace Harmonia.UI.ViewModels;
-public partial class PlaybackBarViewModel : ViewModelBase
+public partial class PlaybackBarViewModel : ViewModelBase, IDisposable
{
private readonly IAudioPlayer _audioPlayer;
private readonly IAudioImageCache _audioImageCache;
@@ -52,6 +52,7 @@ public partial class PlaybackBarViewModel : ViewModelBase
}
private set
{
+ _songImageSource?.Dispose();
_songImageSource = value;
OnPropertyChanged();
}
@@ -217,4 +218,10 @@ public partial class PlaybackBarViewModel : ViewModelBase
{
_audioPlayer.NextAsync();
}
+
+ public void Dispose()
+ {
+ SongImageSource?.Dispose();
+ GC.SuppressFinalize(this);
+ }
}
\ No newline at end of file
diff --git a/Harmonia.UI/ViewModels/PlayingSongInfoViewModel.cs b/Harmonia.UI/ViewModels/PlayingSongInfoViewModel.cs
index 29f815f..9348edd 100644
--- a/Harmonia.UI/ViewModels/PlayingSongInfoViewModel.cs
+++ b/Harmonia.UI/ViewModels/PlayingSongInfoViewModel.cs
@@ -11,7 +11,7 @@ using System.Threading.Tasks;
namespace Harmonia.UI.ViewModels;
-public class PlayingSongInfoViewModel : ViewModelBase
+public class PlayingSongInfoViewModel : ViewModelBase, IDisposable
{
private readonly IAudioPlayer _audioPlayer;
private readonly IAudioImageCache _audioImageCache;
@@ -41,6 +41,7 @@ public class PlayingSongInfoViewModel : ViewModelBase
}
private set
{
+ _songImageSource?.Dispose();
_songImageSource = value;
OnPropertyChanged();
}
@@ -88,4 +89,10 @@ public class PlayingSongInfoViewModel : ViewModelBase
using MemoryStream stream = new(songPictureInfo.Data);
SongImageSource = new(stream);
}
+
+ public void Dispose()
+ {
+ SongImageSource?.Dispose();
+ GC.SuppressFinalize(this);
+ }
}
\ No newline at end of file
diff --git a/Harmonia.UI/Views/PlaybackBar.axaml b/Harmonia.UI/Views/PlaybackBar.axaml
index 6f13f91..f02395b 100644
--- a/Harmonia.UI/Views/PlaybackBar.axaml
+++ b/Harmonia.UI/Views/PlaybackBar.axaml
@@ -82,7 +82,7 @@
-
+
+
+
+
+
+
+
+