public PluginActionImageResult StartEditingTask(FileHandlingPluginTask argPluginTask, ReportProgress argProgress) { if (argPluginTask.PluginAction.Identifier == _runProcessAction.Identifier) { if (!IsValidInstallation()) { throw new PluginException("You do not have valid Hugin installation. Please see plugin settings to download or configure."); } var created = StartPanoCaptureProcessor(argPluginTask, argProgress, true); return(new PluginActionImageResult(new[] { created })); } else if (argPluginTask.PluginAction.Identifier == _runStackProcessAction.Identifier) { if (!IsValidInstallation()) { throw new PluginException("You do not have valid Hugin installation. Please see plugin settings to download or configure."); } var created = StartPanoCaptureStackProcessor(argPluginTask, argProgress, true); return(new PluginActionImageResult(new[] { created })); } return(new PluginActionImageResult()); }
public PluginActionOpenWithResult StartOpenWithTask(FileHandlingPluginTask argTask, ReportProgress argProgress) { if (argTask.PluginAction.Identifier == _openConfiguratorAction.Identifier) { StartPostCaptureStudio(argTask); } if (argTask.PluginAction.Identifier == _runProcessAction.Identifier) { StartPostCaptureProcessor(argTask); } return(new PluginActionOpenWithResult()); }
public PluginActionPublishResult StartPublishingTask(FileHandlingPluginTask argPluginTask, ReportProgress argProgress) { if (argPluginTask.PluginAction.Identifier != publishAction.Identifier && argPluginTask.PluginAction.Identifier != publishActionEachFileSeparately.Identifier) { throw new ArgumentException("Unknown action"); } if (!argPluginTask.Files.Any()) { throw new ArgumentException("no files"); } var files = argPluginTask.Files.ToArray(); var total = files.Length; var completed = 0; var startDelay = 1500; Thread.Sleep(startDelay); var msg = $"Publishing {files[completed]})"; while (completed < total) { Console.Out.WriteLine($"publishing {files[completed]} started..."); var steps = 100; // simulate publishing for (int i = 0; i < steps; i++) { var isCancelled = argProgress(completed * steps + i, total * steps, msg); if (isCancelled) { throw new PluginOperationCancelled(); } Thread.Sleep(randomSleepTime.Next(50, 200)); } completed++; Console.Out.WriteLine("publishing done"); } // Return a publish result return(new PluginActionPublishResult(new Uri("https://www.captureone.com/"))); }
public PluginActionImageResult StartEditingTask(FileHandlingPluginTask argPluginTask, ReportProgress argProgress) { var paths = new List <string>(); if (argPluginTask.PluginAction.Identifier == _openConfiguratorAction.Identifier) { // Clear down after last run. var dir = new DirectoryInfo(TempImagesPath); foreach (FileInfo file in dir.GetFiles()) { file.Delete(); } // Populate with new temp images. foreach (var path in argPluginTask.Files) { var filename = Path.GetFileName(path); var tempPath = Path.Combine(TempImagesPath, filename); File.Copy(path, tempPath); paths.Add(tempPath); } StartPostCaptureStudio(paths); return(new PluginActionImageResult()); } if (argPluginTask.PluginAction.Identifier == _runProcessAction.Identifier) { StartPostCaptureProcessor(argPluginTask); return(new PluginActionImageResult(argPluginTask.Files.ToArray())); } return(new PluginActionImageResult()); }
private void StartPostCaptureStudio(FileHandlingPluginTask argTask) { StartPostCaptureStudio(argTask.Files); }
private void StartPostCaptureProcessor(FileHandlingPluginTask argTask) { StartPostCaptureProcessor(argTask.Files); }
private string StartPanoCaptureStackProcessor(FileHandlingPluginTask argTask, ReportProgress argProgress, bool crop) { return(StartPanoCaptureStackProcessor(argTask.Files, argProgress, crop)); }