Exemple #1
0
        private void LoadPlaylist(Playlist playlist)
        {
            Util.FindMissing(playlist, out var missingSongs, out var formatChanges);

            PlaylistNode node = null;

            if (missingSongs.Count + formatChanges.Count > 0)
            {
                node = uiTree.AddPlaylist(playlist, missingSongs, formatChanges);
            }

            if (node == null)
            {
                return;
            }

            foreach (var song in missingSongs)
            {
                if (_songMap.ContainsKey(song))
                {
                    _songMap[song].AddDistinct(node);
                }
                else
                {
                    _songMap[song] = new List <PlaylistNode> {
                        node
                    }
                }
            }
            ;

            foreach (var formatChange in formatChanges)
            {
                if (_songMap.ContainsKey(formatChange.Song))
                {
                    _songMap[formatChange.Song].AddDistinct(node);
                }
                else
                {
                    _songMap[formatChange.Song] = new List <PlaylistNode> {
                        node
                    }
                }
            }
            ;

            UpdateStatus();
        }
Exemple #2
0
 public bool GetPlaylistHasDuplicates(PlaylistNode playlist) => playlist.tracks.GroupBy(t => t.Id).Where(gt => gt.Count() > 1).Select(gt2 => gt2.Key).Count() > 0;
Exemple #3
0
 public List <Track> GetTracksInPlaylist(PlaylistNode playlist) => GetTracks(playlist.Tracks);