/// <summary> /// Loads songs from a specified folder into the library. <seealso cref="LoadCommand"/> /// </summary> public async void Load() { //LibVM.Database.RemoveFolder(LibraryFoldersCollection[0].Path); FolderPicker picker = new FolderPicker(); picker.FileTypeFilter.Add(".mp3"); picker.FileTypeFilter.Add(".wav"); picker.FileTypeFilter.Add(".ogg"); picker.FileTypeFilter.Add(".flac"); picker.FileTypeFilter.Add(".m4a"); picker.FileTypeFilter.Add(".aif"); picker.FileTypeFilter.Add(".wma"); picker.SuggestedStartLocation = PickerLocationId.MusicLibrary; picker.ViewMode = PickerViewMode.List; picker.CommitButtonText = "Import"; StorageFolder folder = await picker.PickSingleFolderAsync(); if (folder != null) { LibraryFoldersCollection.Add(folder); StorageApplicationPermissions.FutureAccessList.Add(folder); //Get query options with which we search for files in the specified folder var options = Common.DirectoryWalker.GetQueryOptions(); //this is the query result which we recieve after querying in the folder StorageFileQueryResult queryResult = folder.CreateFileQueryWithOptions(options); //the event for files changed queryResult.ContentsChanged += QueryResult_ContentsChanged; await AddFolderToLibraryAsync(queryResult); } }
private async void Reset() { Messenger.Instance.NotifyColleagues(MessageTypes.MSG_DISPOSE); LibraryFoldersCollection.Clear(); await ApplicationData.Current.ClearAsync(); ResetCommand.IsEnabled = false; await Task.Delay(200); ResetCommand.IsEnabled = true; }
async void Reset() { LibVM.Dispose(); await Player.Stop(); ShellVM.Dispose(); AlbumArtistVM.Dispose(); LibraryFoldersCollection.Clear(); await ApplicationData.Current.ClearAsync(); LibVM.Database = new Database.DatabaseQueryMethods(); AlbumArtistVM.InitDB(); // GC.Collect(); LibVM.SongCount = 0; ResetCommand.IsEnabled = false; await Task.Delay(200); ResetCommand.IsEnabled = true; }
private async void Reset() { try { Messenger.Instance.NotifyColleagues(MessageTypes.MSG_DISPOSE); LibraryFoldersCollection.Clear(); await ApplicationData.Current.ClearAsync(); ResetCommand.IsEnabled = false; await Task.Delay(200); ResetCommand.IsEnabled = true; } catch (Exception ex) { BLogger.Logger.Error("Error occured while resetting the player.", ex); } }
public async Task LoadFolders() { if (LibraryFoldersCollection.Count <= 0) { var folderPaths = RoamingSettingsHelper.GetSetting <string>("folders", null); if (folderPaths != null) { foreach (var folder in folderPaths.Split('|')) { if (!string.IsNullOrEmpty(folder)) { var storageFolder = await StorageFolder.GetFolderFromPathAsync(folder); LibraryFoldersCollection.Add(storageFolder); } } } } }
/// <summary> /// Loads songs from a specified folder into the library. <seealso cref="LoadCommand"/> /// </summary> public async void Load() { try { //LibVM.Database.RemoveFolder(LibraryFoldersCollection[0].Path); FolderPicker picker = new FolderPicker(); picker.FileTypeFilter.Add(".mp3"); picker.FileTypeFilter.Add(".wav"); picker.FileTypeFilter.Add(".ogg"); picker.FileTypeFilter.Add(".flac"); picker.FileTypeFilter.Add(".m4a"); picker.FileTypeFilter.Add(".aif"); picker.FileTypeFilter.Add(".wma"); picker.SuggestedStartLocation = PickerLocationId.MusicLibrary; picker.ViewMode = PickerViewMode.List; picker.CommitButtonText = "Import"; StorageFolder folder = await picker.PickSingleFolderAsync(); if (folder != null) { Messenger.Instance.NotifyColleagues(MessageTypes.MSG_UPDATE_SONG_COUNT, 1); LibraryFoldersCollection.Add(folder); StorageApplicationPermissions.FutureAccessList.Add(folder); //Get query options with which we search for files in the specified folder var options = Common.DirectoryWalker.GetQueryOptions(); //this is the query result which we recieve after querying in the folder StorageFileQueryResult queryResult = folder.CreateFileQueryWithOptions(options); //the event for files changed queryResult.ContentsChanged += QueryResult_ContentsChanged; await AddFolderToLibraryAsync(queryResult); } } catch (UnauthorizedAccessException) { await NotificationManager.ShowMessageAsync("You are not authorized to access this folder. Please choose another folder or try again."); } }