Beispiel #1
0
 public override IEnumerable <Item> Perform(IEnumerable <Item> items, IEnumerable <Item> modifierItems)
 {
     new Thread((ThreadStart) delegate {
         Exaile.Client("--next");
     }).Start();
     return(null);
 }
Beispiel #2
0
        public override void UpdateItems()
        {
            items.Clear();

            // Add volume and display controls.
            foreach (Item item in ExaileRunnableItem.Items)
            {
                items.Add(item);
            }

            // Add browse features.
            items.Add(new BrowseAlbumsMusicItem());
            items.Add(new BrowseArtistsMusicItem());

            // Add albums and artists.
            Exaile.LoadAlbumsAndArtists(out albums, out artists);
            foreach (Item album in albums)
            {
                items.Add(album);
            }
            foreach (Item artist in artists)
            {
                items.Add(artist);
            }
        }
Beispiel #3
0
        public override IEnumerable <Item> Perform(IEnumerable <Item> items, IEnumerable <Item> modifierItems)
        {
            new Thread((ThreadStart) delegate {
                foreach (Item item in items)
                {
                    string enqueue = "";

                    if (item is MusicItem)
                    {
                        foreach (SongMusicItem song in Exaile.LoadSongsFor(item as MusicItem))
                        {
                            enqueue += string.Format("\"{0}\" ", song.File);
                        }
                        Exaile.Client(enqueue);
                    }
                }
            }).Start();
            return(null);
        }
Beispiel #4
0
        public override IEnumerable <Item> ChildrenOfItem(Item parent)
        {
            if (IsExaile(parent))
            {
                yield return(new BrowseAlbumsMusicItem());

                yield return(new BrowseArtistsMusicItem());

                foreach (Item item in ExaileRunnableItem.Items)
                {
                    yield return(item);
                }
            }
            else if (parent is ArtistMusicItem)
            {
                foreach (AlbumMusicItem album in albums.Where(album => album.Artist.Contains(parent.Name)))
                {
                    yield return(album);
                }
            }
            else if (parent is AlbumMusicItem)
            {
                foreach (SongMusicItem song in Exaile.LoadSongsFor(parent as AlbumMusicItem))
                {
                    yield return(song);
                }
            }
            else if (parent is BrowseAlbumsMusicItem)
            {
                foreach (AlbumMusicItem album in albums)
                {
                    yield return(album);
                }
            }
            else if (parent is BrowseArtistsMusicItem)
            {
                foreach (ArtistMusicItem artist in artists)
                {
                    yield return(artist);
                }
            }
        }
Beispiel #5
0
 public void Run()
 {
     Services.Application.RunOnThread(() => {
         Exaile.Client(Command);
     });
 }