예제 #1
0
        private void LoadConversionJob(ConversionJob job)
        {
            videoConverter = multimediaToolkit.GetVideoConverter (job.EncodingSettings.OutputFile);
            videoConverter.Progress += OnProgress;
            videoConverter.EncodingSettings = job.EncodingSettings;
            videoConverter.Error += OnError;

            foreach (MediaFile file in job.InputFiles) {
                videoConverter.AddFile (file.FilePath, file.Duration.MSeconds,
                    file.VideoWidth, file.VideoHeight, file.Par);
            }

            try {
                videoConverter.Start ();
            } catch (Exception ex) {
                videoConverter.Cancel ();
                job.State = JobState.Error;
                Log.Exception (ex);
                Log.Error ("Error rendering job: ", job.Name);
                guiToolkit.ErrorMessage (Catalog.GetString ("Error rendering job: ") + ex.Message);
            }
        }
예제 #2
0
        public bool Start()
        {
            stateBar.Cancel += (sender, e) => CancelCurrentJob ();
            stateBar.ManageJobs += (sender, e) => ManageJobs ();
            Config.EventsBroker.ConvertVideoFilesEvent += (inputFiles, encSettings) => {
                ConversionJob job = new ConversionJob (inputFiles, encSettings);
                AddJob (job);
            };

            return true;
        }