private void DoRipCdToFolder() { var audioCdDrive = BrowseForAudioCdDrive(); if (string.IsNullOrEmpty(audioCdDrive)) { return; } var dialogResult = _selectMp3OutputDialog.ShowDialog(); if (dialogResult != DialogResult.OK) { return; } var progressWindow = new ProgressMonitor(); var progressViewModel = new CdRippingProgressMonitorViewModel(); progressWindow.DataContext = progressViewModel; progressViewModel.Title = RipCdTitle; progressViewModel.OnComplete += (o, e) => progressWindow.Dispatcher.InvokeAsync(progressWindow.Hide); _cdRippingService.RipCdToFolder(audioCdDrive, _selectMp3OutputDialog.SelectedPath, progressViewModel); progressWindow.Show(); }
private void DoAddFilesToLibrary() { var dialogResult = _selectFolderDialog.ShowDialog(); if (dialogResult != DialogResult.OK) { return; } var progressWindow = new ProgressMonitor(); var progressViewModel = new ProgressMonitorViewModel(); progressWindow.DataContext = progressViewModel; progressViewModel.Title = AddToLibraryTitle; progressViewModel.HeaderText = AddToLibraryHeader; progressViewModel.StatusText = "Searching for Audio Files..."; progressWindow.Show(); var filesAdded = 0; var pathToAdd = _selectFolderDialog.SelectedPath; try { _musicLibrary.AddSupportedFilesInDirectory(pathToAdd, true, (o, a) => ImportStep(progressViewModel, a, ref filesAdded), (o, i) => progressWindow.Dispatcher.InvokeAsync(progressWindow.Close)); } catch (Exception ex) { var errMsg = string.Format("Unable to add directory '{0}': {1}", pathToAdd, ex.Message); System.Windows.MessageBox.Show(errMsg, "Error Adding Directory", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error); } }