public void HandleMessage(IEnumerable <TrackEntity> message)
        {
            var filenames = message.Select(e => e.Path);

            PlayList.AddRange(filenames);
            View.SetPage(TabPage.PlayList);
        }
        private async void PlaylistAddPlaylist()
        {
            View?.SetPage(TabPage.PlayList);
            var ofd = new System.Windows.Forms.OpenFileDialog();

            ofd.Filter = "Playlists | " + App.Playlists;
            if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                string   ext    = Path.GetExtension(ofd.FileName);
                string[] result = null;
                switch (ext)
                {
                case ".pls":
                    result = await PlaylistLoaders.LoadPls(ofd.FileName);

                    break;

                case ".m3u":
                    result = await PlaylistLoaders.LoadM3u(ofd.FileName);

                    break;

                case ".wpl":
                    result = await PlaylistLoaders.LoadWPL(ofd.FileName);

                    break;

                case ".asx":
                    result = await PlaylistLoaders.LoadASX(ofd.FileName);

                    break;
                }
                PlayList.AddRange(result);
            }
        }
        private void PlaylistSortDisticnt()
        {
            View?.SetPage(TabPage.PlayList);
            var q = PlayList.Clone().Distinct();

            PlayList.Clear();
            PlayList.AddRange(q);
        }
        private void PlaylistSortRandom()
        {
            View?.SetPage(TabPage.PlayList);
            var q = from i in PlayList.Clone() orderby Guid.NewGuid() select i;

            PlayList.Clear();
            PlayList.AddRange(q);
        }
        private void PlaylistSortDesc()
        {
            View?.SetPage(TabPage.PlayList);
            var q = from i in PlayList.Clone() orderby i descending select i;

            PlayList.Clear();
            PlayList.AddRange(q);
        }
        private void PlaylistSortAsc()
        {
            View?.SetPage(TabPage.PlayList);
            var q      = from i in PlayList.Clone() orderby i ascending select i;
            var sorted = q.ToList();

            PlayList.Clear();
            PlayList.AddRange(sorted);
        }
        private void PlaylistAddFile()
        {
            View?.SetPage(TabPage.PlayList);
            var ofd = new System.Windows.Forms.OpenFileDialog();

            ofd.Multiselect = true;
            ofd.Filter      = "Audio Files|" + App.Formats;
            if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                PlayList.AddRange(ofd.FileNames);
            }
        }
        public async void DoLoad(IEnumerable <string> items)
        {
            View?.SetPage(TabPage.PlayList);
            if (items == null)
            {
                items = Environment.GetCommandLineArgs();
            }

            foreach (var item in items)
            {
                var ext = Path.GetExtension(item).ToLower();
                if (!string.IsNullOrEmpty(ext) && App.Playlists.Contains(ext))
                {
                    string[] result = null;
                    switch (ext)
                    {
                    case ".pls":
                        result = await PlaylistLoaders.LoadPls(item);

                        break;

                    case ".m3u":
                        result = await PlaylistLoaders.LoadM3u(item);

                        break;

                    case ".wpl":
                        result = await PlaylistLoaders.LoadWPL(item);

                        break;

                    case ".asx":
                        result = await PlaylistLoaders.LoadASX(item);

                        break;
                    }
                    PlayList.AddRange(result);
                }
                else if (App.Formats.Contains(ext))
                {
                    PlayList.Add(item);
                }
                else
                {
                    MessageBox.Show(Properties.Resources.Playlist_UnsupportedListFormat,
                                    Properties.Resources.Playlist_UnsupportedListFormatTitle,
                                    MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
        private void PlaylistAddDirectory()
        {
            View?.SetPage(TabPage.PlayList);
            string[] filters = App.Formats.Split(';');
            var      fbd     = new System.Windows.Forms.FolderBrowserDialog();

            fbd.Description = Properties.Resources.Playlist_AddFolderDescription;
            if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                List <string> Files = new List <string>(30);
                foreach (var filter in filters)
                {
                    Files.AddRange(Directory.GetFiles(fbd.SelectedPath, filter));
                }
                Files.Sort();
                PlayList.AddRange(Files);
            }
        }
Esempio n. 10
0
        public static void Search(string k)
        {
            var searchedMaps = new List <string>();
            var keyword      = k.Trim().ToLower();

            if (keyword.Length == 0)
            {
                PlayList.Clear();
                Initplaylist();
            }
            else
            {
                searchedMaps.AddRange(from beatmapSet in Allsets where beatmapSet.Value.tags.ToLower().Contains(keyword) select beatmapSet.Key);
                if (searchedMaps.Count == 0)
                {
                    PlayList.Clear();
                }
                else
                {
                    PlayList.Clear();
                    PlayList.AddRange(searchedMaps.Distinct());
                }
            }
        }
Esempio n. 11
0
 private void FileExplorerAddToPlaylist()
 {
     PlayList.AddRange(View.FileExplorerSelectedFiles);
     View.SetPage(TabPage.PlayList);
 }