Exemplo n.º 1
0
 void CreatePlaylist_AddNewPlaylist()
 {
     PlaylistCollection.Add(new Playlist {
         Name = CreatePlaylist_Name, Items = new ObservableCollection <string> {
             NewFilePath
         }
     });
     CreateSelectPlaylist_final();
 }
Exemplo n.º 2
0
        public PlaylistViewModel LookupPlaylist(PlaylistModel playlist)
        {
            if (PlaylistLookupMap.ContainsKey(playlist.PlaylistId))
            {
                return(PlaylistLookupMap[playlist.PlaylistId]);
            }
            else
            {
                PlaylistViewModel newViewModel = new PlaylistViewModel(playlist);

                PlaylistLookupMap.Add(newViewModel.PlaylistId, newViewModel);
                PlaylistCollection.Add(newViewModel);
                return(newViewModel);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Gets a special collection of playlists suitable for synchronization.
        /// </summary>
        /// <returns></returns>
        public PlaylistCollection GetPreferredPlaylists()
        {
            PlaylistCollection playlists = new PlaylistCollection();

            Invoke((Action)delegate
            {
                // CurrentPlaylist would be null if viewing the iTunes Store
                int currentID = CurrentPlaylist == null ? 0 : CurrentPlaylist.PlaylistID;

                foreach (IITPlaylist ilist in itunes.LibrarySource.Playlists)
                {
                    if (ilist != null)
                    {
                        if ((ilist.Kind != ITPlaylistKind.ITPlaylistKindUser) ||
                            ilist.Name.Equals(Resx.PlaylistGenius))
                        {
                            continue;
                        }

                        IITUserPlaylist ulist = (IITUserPlaylist)ilist;

                        if ((ulist.SpecialKind == ITUserPlaylistSpecialKind.ITUserPlaylistSpecialKindNone) ||
                            (ulist.SpecialKind == ITUserPlaylistSpecialKind.ITUserPlaylistSpecialKindPurchases) ||
                            (ulist.SpecialKind == ITUserPlaylistSpecialKind.ITUserPlaylistSpecialKindFolder))
                        {
                            if (ulist.Tracks.Count > 0)
                            {
                                Playlist playlist = new Playlist(ulist);
                                playlist.IsSelected = (playlist.PlaylistID == currentID);
                                playlists.Add(playlist);
                            }
                        }
                    }
                }
            });

            return playlists;
        }
Exemplo n.º 4
0
 /// <summary>
 /// Add a playlist to the local and storage collections.
 /// Wait for the storage to complete in case the called requires access to the stored Id
 /// </summary>
 /// <param name="playlistToAdd"></param>
 public static async Task AddPlaylistAsync(Playlist playlistToAdd)
 {
     PlaylistCollection.Add(playlistToAdd);
     await DbAccess.InsertAsync(playlistToAdd);
 }
        private void SearchingThread()
        {
            try
            {
                MusicJson       playerList = Newtonsoft.Json.JsonConvert.DeserializeObject <MusicJson>(JSONHelper.getJsondata(query));
                List <JsonItem> items      = playerList.play_list;
                int             total_page = Int32.Parse(playerList.page_cnt);
//                Console.WriteLine("{0}", total);
//                foreach(var it in items)
//                {
//                    Console.WriteLine("{0} {1}", it.title, it.hits_count);
//
//                }
                if (items.Count > 0)
                {
                    //MessageBoxOrange.ShowDialog(col.Count.ToString());

                    Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate
                    {
                        foreach (JsonItem item in items)
                        {
                            string resultTitle    = item.title;
                            string resultHitcount = item.hits_count;
                            PlaylistItem mitem    = new PlaylistItem();
                            mitem.name            = resultTitle;
                            mitem.hits_count      = resultHitcount;
                            playCollection.Add(mitem);
                        }

                        if (cur_page < total_page)
                        {
                            morebtn.Visibility = Visibility.Visible;
                        }
                        else if (cur_page == total_page)
                        {
                            morebtn.Visibility = Visibility.Collapsed;
                        }

                        ProgressRing.IsActive   = false;
                        progressGrid.Visibility = Visibility.Collapsed;
                    }));
                }
                else
                {
                    Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate
                    {
                        MessageBoxOrange.ShowDialog("Warning", "There is no any the result.");
                        ProgressRing.IsActive   = false;
                        progressGrid.Visibility = Visibility.Collapsed;
                    }));
                }
            }
            catch (Exception e)
            {
                Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate
                {
                    MessageBoxOrange.ShowDialog("Warning", e.Message);
                    ProgressRing.IsActive   = false;
                    progressGrid.Visibility = Visibility.Collapsed;
                }));
            }
        }
Exemplo n.º 6
0
        internal async void OnImportMenuCommand(object param)
        {
            ClearPlaylists();
            _songListModel.TraktorLibrary.SetCollectionPath();

            if (_songListModel.TraktorLibrary.IsCollectionFound())
            {
                _songListModel.IsProgressBarIndeterminate = true;
                await Task.Run(() => _songListModel.TraktorLibrary.DeleteWorkingCollection());

                await Task.Run(() => _songListModel.TraktorLibrary.CreateWorkingCollection());

                await Task.Run(() => _songListModel.TraktorLibrary.LoadWorkingCollection());

                ProgressBarMax = await Task.Run(() => _songListModel.TraktorLibrary.GetSongCount());

                IsProgressBarIndeterminate = false;

                if (!string.IsNullOrEmpty(_songListModel.TraktorLibrary.WorkingCollection))
                {
                    _xmlWrapper.XmlPath = _songListModel.TraktorLibrary.WorkingCollectionPath;
                    _xmlWrapper.Load();

                    foreach (XmlNode collectionNode in _xmlWrapper.XmlDocument.DocumentElement.SelectNodes("/NML/COLLECTION"))
                    {
                        foreach (XmlNode entryNode in collectionNode.SelectNodes("ENTRY"))
                        {
                            ISong song = await Task.Run(() => GetSong(entryNode));

                            ImportedTrackCollection.Add(song);

                            if (!PlaylistComboBoxCollection.Contains(song.Playlist))
                            {
                                PlaylistComboBoxCollection.Add(song.Playlist);
                            }

                            var playlist = new Playlist {
                                Name = song.Playlist, Path = Path.GetDirectoryName(song.Path), Selected = true
                            };

                            if (PlaylistCollection.FirstOrDefault(p => p.Path == playlist.Path) == null)
                            {
                                PlaylistCollection.Add(playlist);
                            }

                            ProgressBarValue++;
                        }
                    }
                }

                PlaylistComboBoxCollection        = new ObservableCollection <string>(PlaylistComboBoxCollection.OrderBy(p => p));
                MixDiscPlaylistComboBoxCollection = new ObservableCollection <string>(PlaylistComboBoxCollection);
                PlaylistCollection = new ObservableCollection <IPlaylist>(PlaylistCollection.OrderBy(p => p.Path));
                Filter();

                if (FilteredTrackCollection.Count > 0)
                {
                    SelectedTrackCollectionItem = FilteredTrackCollection[0];
                }

                EnableControls();
                var statusMessage = string.Concat(ImportedTrackCollection.Count.ToString(), " tracks imported from Traktor collection");
                ProgressBarMessage = statusMessage;
                MessageBox.Show(string.Concat(statusMessage, "."));
            }
            else
            {
                ProgressBarMessage = "No Traktor collection found";
                MessageBox.Show("No Traktor collection found.");
            }

            ResetProgressBar(false);
        }