private void UpdateAlbumListView(string theID) { LastAlbumId = theID; MusicFolder FolderContents = Subsonic.GetMusicDirectory(theID); lbAlbums.BeginUpdate(); lbAlbums.Items.Clear(); if (AlbumListHistory.Peek() != "Root") { lbAlbums.Items.Add(new MusicFolder("..", AlbumListHistory.Peek())); } foreach (MusicFolder mf in FolderContents.Folders) { lbAlbums.Items.Add(mf); } foreach (Song sg in FolderContents.Songs) { lbAlbums.Items.Add(sg); } lbAlbums.EndUpdate(); }
private void lbAlbums_SelectedIndexChanged(object sender, EventArgs e) { SubsonicItem theItem = (SubsonicItem)lbAlbums.SelectedItem; if (theItem.ItemType == SubsonicItem.SubsonicItemType.Folder) { if (theItem.Name == "..") { AlbumListHistory.Pop(); } else { AlbumListHistory.Push(LastAlbumId); } UpdateAlbumListView(theItem.id); } else if (theItem.ItemType == SubsonicItem.SubsonicItemType.Song) { thePlayer.addToPlaylist((Song)theItem); thePlayer.play(); } }