From 60710751c81d7c279dfbaa30450f19466d7e08d5 Mon Sep 17 00:00:00 2001 From: Peter Date: Wed, 19 Jun 2019 15:11:13 +0200 Subject: [PATCH] recreate ShuffleList only with tracks which where not played yet after startup --- Hurricane/Hurricane.csproj | 2 +- Hurricane/Music/Playlist/NormalPlaylist.cs | 2 ++ Hurricane/Music/Playlist/PlaylistBase.cs | 10 +++++++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Hurricane/Hurricane.csproj b/Hurricane/Hurricane.csproj index 6267a66..407b2be 100644 --- a/Hurricane/Hurricane.csproj +++ b/Hurricane/Hurricane.csproj @@ -33,7 +33,7 @@ AnyCPU true full - true + false bin\Debug\ DEBUG;TRACE prompt diff --git a/Hurricane/Music/Playlist/NormalPlaylist.cs b/Hurricane/Music/Playlist/NormalPlaylist.cs index 4e57399..1ef2a6a 100644 --- a/Hurricane/Music/Playlist/NormalPlaylist.cs +++ b/Hurricane/Music/Playlist/NormalPlaylist.cs @@ -23,6 +23,8 @@ public override string Name } } + public DateTime TimeShuffeld { get; set; } + public async Task AddFiles(IEnumerable tracks) { foreach (var track in tracks) diff --git a/Hurricane/Music/Playlist/PlaylistBase.cs b/Hurricane/Music/Playlist/PlaylistBase.cs index 9b675be..3df84d6 100644 --- a/Hurricane/Music/Playlist/PlaylistBase.cs +++ b/Hurricane/Music/Playlist/PlaylistBase.cs @@ -75,7 +75,12 @@ public virtual void LoadList() }; ViewSource = CollectionViewSource.GetDefaultView(Tracks); ViewSource.Filter = item => string.IsNullOrWhiteSpace(SearchText) || item.ToString().ToUpper().Contains(SearchText.ToUpper()); - ShuffleList = new List(Tracks); + if (this is NormalPlaylist) { + var timeShuffeld = ((NormalPlaylist)this).TimeShuffeld; + ShuffleList = new List(Tracks.Where(track => track.LastTimePlayed(Tracks); + } } } @@ -89,6 +94,9 @@ public virtual void LoadList() private bool _addedFavoriteTracksTwoTimes; protected void CreateShuffleList() { + if (this is NormalPlaylist) { + ((NormalPlaylist)this).TimeShuffeld = DateTime.Now; + } ShuffleList = new List(Tracks); if (HurricaneSettings.Instance.Config.ShufflePreferFavoriteTracks) {