public IngestOperationViewModel(IIngestOperation operation, IPreview preview, IEngine engine) : base(operation) { _ingestOperation = operation; _engine = engine; string destFileName = $"{Path.GetFileNameWithoutExtension(operation.Source.FileName)}.{operation.MovieContainerFormat}"; _destMediaProperties = new PersistentMediaProxy { FileName = operation.DestDirectory.GetUniqueFileName(destFileName), MediaName = FileUtils.GetFileNameWithoutExtension(destFileName, operation.Source.MediaType), MediaType = operation.Source.MediaType == TMediaType.Unknown ? TMediaType.Movie : operation.Source.MediaType, Duration = operation.Source.Duration, TcStart = operation.StartTC, MediaGuid = operation.Source.MediaGuid, MediaCategory = operation.Source.MediaCategory }; _audioChannelMappingConversion = operation.AudioChannelMappingConversion; _aspectConversion = operation.AspectConversion; _audioVolume = operation.AudioVolume; _sourceFieldOrderEnforceConversion = operation.SourceFieldOrderEnforceConversion; _loudnessCheck = operation.LoudnessCheck; operation.Source.PropertyChanged += OnSourceMediaPropertyChanged; AspectConversionsEnforce = new TAspectConversion[3]; Array.Copy(AspectConversions, AspectConversionsEnforce, 3); if (preview != null) { PreviewViewmodel = new PreviewViewmodel(engine, preview) { SelectedIngestOperation = operation } } ; }
internal IngestOperation(FileManager ownerFileManager) : base(ownerFileManager) { Kind = TFileOperationKind.Ingest; _aspectConversion = TAspectConversion.NoConversion; _sourceFieldOrderEnforceConversion = TFieldOrder.Unknown; _audioChannelMappingConversion = TAudioChannelMappingConversion.FirstTwoChannels; }
public IngestOperationViewModel(IIngestOperation operation, IEngine engine) : base(operation, engine.MediaManager) { _operation = operation; _engine = engine; _destMediaVideoFormat = operation.Source.VideoFormat; DestMediaName = FileUtils.GetFileNameWithoutExtension(operation.Source.MediaName, operation.Source.MediaType); _duration = operation.Source.Duration; _startTc = operation.Source.TcStart; _destCategory = ((IIngestDirectory)operation.Source.Directory).MediaCategory; IsMovie = operation.Source.MediaType == TMediaType.Unknown || operation.Source.MediaType == TMediaType.Movie; IsStill = operation.Source.MediaType == TMediaType.Still; _audioChannelMappingConversion = operation.AudioChannelMappingConversion; _aspectConversion = operation.AspectConversion; _audioVolume = operation.AudioVolume; _sourceFieldOrderEnforceConversion = operation.SourceFieldOrderEnforceConversion; _loudnessCheck = operation.LoudnessCheck; operation.Source.PropertyChanged += OnSourceMediaPropertyChanged; AspectConversionsEnforce = new TAspectConversion[3]; Array.Copy(AspectConversions, AspectConversionsEnforce, 3); if (engine.Preview != null) { _preview = new PreviewViewmodel(engine.Preview, true, false) { SelectedIngestOperation = operation } } ; CommandRemove = new UiCommand(o => Removed?.Invoke(this, EventArgs.Empty)); }
private MediaConversion(TFieldOrder type) { Conversion = type; switch (type) { case TFieldOrder.Unknown: break; case TFieldOrder.TFF: OutputFormat = TFieldOrder.TFF; FFMpegFilter = "setfield=tff"; break; case TFieldOrder.BFF: OutputFormat = TFieldOrder.BFF; FFMpegFilter = "setfield=bff"; break; case TFieldOrder.Progressive: OutputFormat = TFieldOrder.Progressive; FFMpegFilter = "setfield=prog"; break; } }
internal IngestOperation() { _aspectConversion = TAspectConversion.NoConversion; _sourceFieldOrderEnforceConversion = TFieldOrder.Unknown; _audioChannelMappingConversion = TAudioChannelMappingConversion.FirstTwoChannels; }
internal IConvertOperation CreateConvertOperation(IMedia sourceMedia, IMediaProperties destMediaProperties, IMediaDirectory destDirectory, TVideoFormat outputFormat, decimal audioVolume, TFieldOrder sourceFieldOrderEnforceConversion, TAspectConversion aspectConversion, bool loudnessCheck) { IConvertOperation result = _fileManager.CreateConvertOperation(); result.SourceMedia = sourceMedia; result.DestMediaProperties = destMediaProperties; result.DestDirectory = destDirectory; result.AudioVolume = audioVolume; result.SourceFieldOrderEnforceConversion = sourceFieldOrderEnforceConversion; result.AspectConversion = aspectConversion; result.StartTC = sourceMedia.TcPlay; result.Duration = sourceMedia.DurationPlay; result.LoudnessCheck = loudnessCheck; return(result); }
private MediaConversion(TFieldOrder type) { Conversion = type; switch (type) { case TFieldOrder.Unknown: break; case TFieldOrder.TFF: OutputFormat = TFieldOrder.TFF; FFMpegVideoFilter = "setfield=tff"; break; case TFieldOrder.BFF: OutputFormat = TFieldOrder.BFF; FFMpegVideoFilter = "setfield=bff"; break; case TFieldOrder.Progressive: OutputFormat = TFieldOrder.Progressive; FFMpegVideoFilter = "setfield=prog"; break; } }