private void MenuItemPreview_Click(object sender, RoutedEventArgs e) { if (ListBoxJob.SelectedIndex < 0) { return; } VideoAnalysis.Preview(ListBoxJob.SelectedItem as EditorInfo); }
private async void ButtonRun_ClickAsync(object sender, RoutedEventArgs e) { if (ListBoxJob.Items.Count == 0) { return; } // 出力先チェック DataContext dc = DataContext as DataContext; if (String.IsNullOrEmpty(dc.OutputPath) || !System.IO.Directory.Exists(dc.OutputPath)) { MessageBox.Show("出力先を指定して下さい"); return; } // ファイル重複チェック HashSet <String> filenames = new HashSet <String>(); foreach (var item in ListBoxJob.Items) { String filename = (item as EditorInfo).Filename; if (filenames.Contains(filename)) { MessageBox.Show("ファイル名が重複しています"); return; } filenames.Add(filename); } // エンコード if (dc.Jobs.Info().Mode != Job.eMode.Combination) { foreach (var item in ListBoxJob.Items) { await VideoAnalysis.Encode(dc.OutputPath, item as EditorInfo); } } // 結合 if (dc.Jobs.Info().Mode != Job.eMode.Encode) { if (!String.IsNullOrEmpty(dc.CombinationFile)) { VideoAnalysis.Combination(dc); } } System.Diagnostics.Process.Start(dc.OutputPath); }
private void Window_Drop(object sender, DragEventArgs e) { String[] files = e.Data.GetData(DataFormats.FileDrop) as String[]; if (files == null) { return; } DataContext dc = DataContext as DataContext; foreach (var file in files) { var info = VideoAnalysis.Analysis(file); if (info == null) { continue; } dc.EditorInfos.Add(info); } }