Example #1
0
        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());
        }
Example #2
0
        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());
        }
Example #3
0
        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/")));
        }
Example #4
0
        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());
        }
Example #5
0
 private void StartPostCaptureStudio(FileHandlingPluginTask argTask)
 {
     StartPostCaptureStudio(argTask.Files);
 }
Example #6
0
 private void StartPostCaptureProcessor(FileHandlingPluginTask argTask)
 {
     StartPostCaptureProcessor(argTask.Files);
 }
Example #7
0
 private string StartPanoCaptureStackProcessor(FileHandlingPluginTask argTask, ReportProgress argProgress, bool crop)
 {
     return(StartPanoCaptureStackProcessor(argTask.Files, argProgress, crop));
 }