public void ProcessFile(string sourceFile)
        {
            IsComplete = false;
            Filename = Path.ChangeExtension(sourceFile, ".avi");

            Assembly a = System.Reflection.Assembly.GetEntryAssembly();
            string processorDir = Path.GetDirectoryName(a.Location);
            string videoDir = FileLocationUtility.GetVideoFolderLoctation();

            panopticonCLI = new PanopticonCLI(processorDir + "\\" + PROCESSOR);
            panopticonCLI.Completed += new PanopticonCLI.CompletedEventHandler(panopticonCLI_Completed);
            panopticonCLI.ProgressChanged += new PanopticonCLI.ProgressChangedEventHandler(panopticonCLI_ProgressChanged);
            panopticonCLI.ConvertAsync(videoDir + "\\" + sourceFile, videoDir + "\\" + Filename, COMMAND_LINE_PARAMS);
        }
        private void panopticonCLI_Completed(object sender, PanopticonCLI.CompletedEventArgs e)
        {
            if (e.Error == null)
            {
                IsComplete = true;
                Info = new PanopticonInfo(panopticonCLI.GridHorizontal,
                                            panopticonCLI.GridVertical,
                                            panopticonCLI.PanelWidth,
                                            panopticonCLI.PanelHeight,
                                            panopticonCLI.OutputWidth,
                                            panopticonCLI.OutputHeight,
                                            panopticonCLI.OutputDuration);

                Timer t = new Timer(0.25);
                t.Elapsed += new ElapsedEventHandler(t_Elapsed);
                t.Start();
            }
            else if(ProcessingFailed != null)
            {
                ProcessingFailed(this, e.Error);
            }
        }
 private void panopticonCLI_ProgressChanged(object sender, PanopticonCLI.ProgressChangedEventArgs e)
 {
     if (PercentageChanged != null)
     {
         PercentageChanged(this, e.ProgressPercentage);
     }
 }