static void Run(Options options) { // Open files using (FileStream inputFile = File.OpenRead(options.InputFile)) using (FileStream outputFile = File.Create(options.OutputFile)) { Mosher mosher = new Mosher(inputFile, outputFile); mosher.Mosh(options.Mosh); } }
private async void GoButton_Click(object sender, EventArgs e) { if (!ValidateInput()) { return; } GoButton.Enabled = false; await Task.Factory.StartNew(ConvertInputFile); if (!File.Exists("input.avi")) { OperationFailed(); return; } using (FileStream inputFile = File.OpenRead("input.avi")) using (FileStream outputFile = File.Create("output.avi")) { Mosher mosher = new Mosher(inputFile, outputFile); mosher.ProgressChanged += Mosher_ProgressChanged; await mosher.MoshAsync((int)MoshPicker.Value); } await Task.Factory.StartNew(ConvertOutputFile); if (File.Exists(OutputFileDialog.FileName)) { OperationSuccess(); } else { OperationFailed(); } ProgressBar.Value = 0; GoButton.Enabled = true; }