示例#1
0
        public AssemblyEpisodeWork(EditorModel model, EpisodInfo episodeInfo)
        {
            Model = model;
            var videoFile       = model.Locations.GetOutputFile(episodeInfo);
            var convertDesktop  = new ConvertDesktopWork(model, false);
            var convertFace     = new ConvertFaceWork(model, false);
            var createSoundWork = new CreateCleanSoundWork(model.Locations.FaceVideo, model, false);

            convertDesktop.Name  = "Converting Desktop video";
            convertFace.Name     = "Converting Face video";
            createSoundWork.Name = "Cleaning sound";

            if (model.Locations.DesktopVideo.Exists)
            {
                Tasks.Add(convertDesktop);
            }

            if (model.Locations.FaceVideo.Exists)
            {
                Tasks.Add(convertFace);
            }

            Tasks.Add(createSoundWork);
            Tasks.Add(new AtomicAssemblyEpisodeWork(model, episodeInfo)); // atomic version

            if (model.Videotheque.Data.WorkSettings.NormilizeSound)
            {
                var task = new NormalizeSoundWork(Model, videoFile);
                Tasks.Add(task);
            }

            Name = "Assembling episode: " + episodeInfo.Name;
        }
示例#2
0
 public UploadVideo(EditorModel model, int number, FileInfo path)
 {
     this.model         = model;
     this.episodeNumber = number;
     this.episode       = model.Montage.Information.Episodes[number];
     this.pathToFile    = path;
 }
示例#3
0
        public AtomicAssemblyEpisodeWork(EditorModel model, EpisodInfo episodeInfo)
        {
            Model = model;
            var videoFile = Model.Locations.GetOutputFile(episodeInfo);

            Name                = "Assembling";
            this.episodeInfo    = episodeInfo;
            this.episodeNumber  = Model.Montage.Information.Episodes.IndexOf(episodeInfo);
            filesToDelIfAborted = new List <string>();
            episodeNode         = new AssemblerService(model.Videotheque.Data.EditorSettings.CrossFadesEnabled).GetEpisodesNodes(model)[episodeNumber];
        }
示例#4
0
        public YoutubeWork(EditorModel model, int number, bool forced)
        {
            Model = model;
            this.episodeNumber = number;
            episode            = Model.Montage.Information.Episodes[number];

            var assembledFile = Model.Locations.GetOutputFile(episode);
            var finalFile     = Model.Locations.GetFinalOutputFile(number);

            pathToFile = File.Exists(assembledFile.FullName) ? assembledFile : finalFile;
            Forced     = forced;
            Name       = "Uploading: " + episode.Name;
        }