Exemple #1
0
        private void Library_LibraryUpdated(object sender, LibraryEntryEventArgs e)
        {
            if (e.LibraryEntry == null)
            {
                return;
            }
            SongListViewItem item = FindItem(e.LibraryEntry.FileName);

            if (item != null)
            {
                item.SongInfo = e.LibraryEntry;
                list.InvalidateItem(item);
            }
        }
Exemple #2
0
        private void Library_LibraryUpdated(object sender, LibraryEntryEventArgs e)
        {
            if (!string.IsNullOrEmpty(e.LibraryEntry.AlbumArtist) && _artistsAlbumsNode != null)
            {
                foreach (TreeNode node in _artistsAlbumsNode.Nodes)
                {
                    if (node.Text.Equals(e.LibraryEntry.AlbumArtist, StringComparison.OrdinalIgnoreCase))
                    {
                        if (node.Nodes.Count > 1 || node.Nodes[0].Text != EmptyNodeText)
                        {
                            if (!string.IsNullOrEmpty(e.LibraryEntry.Album))
                            {
                                foreach (TreeNode node2 in node.Nodes)
                                {
                                    if (node2.Text.Equals(e.LibraryEntry.Album, StringComparison.OrdinalIgnoreCase))
                                    {
                                        break;
                                    }
                                    else if (CompareStringsWithoutTheAndIgnoringCase(node2.Text, e.LibraryEntry.Album) > 0)
                                    {
                                        node.Nodes.Insert(node2.Index, e.LibraryEntry.Album);
                                        break;
                                    }
                                    else if (node2.NextNode == null)
                                    {
                                        node.Nodes.Add(e.LibraryEntry.Album);
                                    }
                                }
                            }
                        }

                        break;
                    }
                    else if (CompareStringsWithoutTheAndIgnoringCase(node.Text, e.LibraryEntry.AlbumArtist) > 0)
                    {
                        _artistsAlbumsNode.Nodes.Insert(node.Index, e.LibraryEntry.AlbumArtist).Nodes.Add(EmptyNodeText);
                        break;
                    }
                    else if (node.NextNode == null)
                    {
                        _artistsAlbumsNode.Nodes.Add(e.LibraryEntry.AlbumArtist).Nodes.Add(EmptyNodeText);
                        break;
                    }
                }
            }

            if (!string.IsNullOrEmpty(e.LibraryEntry.Album) && _albumsNode != null)
            {
                foreach (TreeNode node in _albumsNode.Nodes)
                {
                    if (node.Text.Equals(e.LibraryEntry.Album, StringComparison.OrdinalIgnoreCase))
                    {
                        break;
                    }
                    else if (CompareStringsWithoutTheAndIgnoringCase(node.Text, e.LibraryEntry.Album) > 0)
                    {
                        _albumsNode.Nodes.Insert(node.Index, e.LibraryEntry.Album);
                        break;
                    }
                    else if (node.NextNode == null)
                    {
                        _albumsNode.Nodes.Add(e.LibraryEntry.Album);
                    }
                }
            }

            if (!string.IsNullOrEmpty(e.LibraryEntry.Artist) && _contributingArtistsNode != null)
            {
                foreach (TreeNode node in _contributingArtistsNode.Nodes)
                {
                    if (node.Text.Equals(e.LibraryEntry.Artist, StringComparison.OrdinalIgnoreCase))
                    {
                        break;
                    }
                    else if (CompareStringsWithoutTheAndIgnoringCase(node.Text, e.LibraryEntry.Artist) > 0)
                    {
                        _contributingArtistsNode.Nodes.Insert(node.Index, e.LibraryEntry.Artist);
                        break;
                    }
                    else if (node.NextNode == null)
                    {
                        _contributingArtistsNode.Nodes.Add(e.LibraryEntry.Artist);
                    }
                }
            }

            if (!string.IsNullOrEmpty(e.LibraryEntry.Genre) && _genresNode != null)
            {
                foreach (TreeNode node in _genresNode.Nodes)
                {
                    if (node.Text.Equals(e.LibraryEntry.Genre, StringComparison.OrdinalIgnoreCase))
                    {
                        break;
                    }
                    else if (node.Text.CompareTo(e.LibraryEntry.Genre) > 0)
                    {
                        _genresNode.Nodes.Insert(node.Index, e.LibraryEntry.Genre);
                        break;
                    }
                    else if (node.NextNode == null)
                    {
                        _genresNode.Nodes.Add(e.LibraryEntry.Genre);
                    }
                }
            }

            if (e.LibraryEntry.Year > 0 && _yearsNode != null)
            {
                foreach (TreeNode node in _yearsNode.Nodes)
                {
                    if (node.Text == "(No Year)")
                    {
                        continue;
                    }
                    else if (Convert.ToInt32(node.Text) == e.LibraryEntry.Year)
                    {
                        break;
                    }
                    else if (Convert.ToInt32(node.Text) > e.LibraryEntry.Year)
                    {
                        _yearsNode.Nodes.Insert(node.Index, e.LibraryEntry.Year.ToString());
                        break;
                    }
                    else if (node.NextNode == null)
                    {
                        _yearsNode.Nodes.Add(e.LibraryEntry.Year.ToString());
                    }
                }
            }
        }