示例#1
0
        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();
        }
示例#2
0
        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);
            }
        }