void CreatePlaylist_AddNewPlaylist() { PlaylistCollection.Add(new Playlist { Name = CreatePlaylist_Name, Items = new ObservableCollection <string> { NewFilePath } }); CreateSelectPlaylist_final(); }
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); } }
/// <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; }
/// <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; })); } }
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); }