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; }
public UploadVideo(EditorModel model, int number, FileInfo path) { this.model = model; this.episodeNumber = number; this.episode = model.Montage.Information.Episodes[number]; this.pathToFile = path; }
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]; }
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; }