Beispiel #1
0
        public override IEnumerable <Item> ChildrenOfItem(Item parent)
        {
            List <Item> children;

            children = new List <Item> ();
            if (parent is IApplicationItem && parent.Name == "MPD")
            {
                children.Add(new BrowseAlbumsMusicItem());
                children.Add(new BrowseArtistsMusicItem());
                children.AddRange(MPDRunnableItem.DefaultItems);
            }
            else if (parent is ArtistMusicItem)
            {
                //Show all the albums then an 'all music by this artist' button
                foreach (AlbumMusicItem album in AllAlbumsBy(parent as ArtistMusicItem))
                {
                    children.Add(album);
                }
                children.Add(new BrowseAllMusicItem(parent as ArtistMusicItem));
            }
            else if (parent is AlbumMusicItem)
            {
                foreach (SongMusicItem song in MPD.LoadSongsFor(parent as AlbumMusicItem))
                {
                    children.Add(song);
                }
            }
            else if (parent is BrowseAlbumsMusicItem)
            {
                foreach (AlbumMusicItem album in albums)
                {
                    children.Add(album);
                }
            }
            else if (parent is BrowseArtistsMusicItem)
            {
                foreach (ArtistMusicItem artist in artists)
                {
                    children.Add(artist);
                }
            }
            else if (parent is BrowseAllMusicItem)
            {
                foreach (SongMusicItem song in MPD.LoadSongsFor((parent as BrowseAllMusicItem).Artist))
                {
                    children.Add(song);
                }
            }
            return(children);
        }
Beispiel #2
0
 public override IEnumerable <Item> Perform(IEnumerable <Item> items, IEnumerable <Item> modifierItems)
 {
     new Thread((ThreadStart) delegate {
         foreach (Item item in items)
         {
             List <SongMusicItem> songs = MPD.LoadSongsFor(item as MusicItem);
             foreach (SongMusicItem song in songs)
             {
                 MPD.Client("play " + song.Number);
                 break;
             }
             break;
         }
     }).Start();
     return(null);
 }