public ConvertOperationViewModel(IConvertOperation operation, IPreview preview, IMediaManager mediaManager) : base(operation) { _convertOperation = operation; _mediaManager = mediaManager; _destMediaName = operation.DestMediaProperties.MediaName; _destFileName = operation.DestMediaProperties.FileName; _destCategory = operation.DestMediaProperties.MediaCategory; _destMediaEmphasis = operation.DestMediaProperties is IPersistentMediaProperties ? ((IPersistentMediaProperties)operation.DestMediaProperties).MediaEmphasis : TMediaEmphasis.None; _destParental = operation.DestMediaProperties.Parental; _destMediaVideoFormat = operation.DestMediaProperties.VideoFormat; _audioChannelMappingConversion = operation.AudioChannelMappingConversion; _aspectConversion = operation.AspectConversion; _audioVolume = operation.AudioVolume; _sourceFieldOrderEnforceConversion = operation.SourceFieldOrderEnforceConversion; _duration = operation.Duration; _startTC = operation.StartTC; _trim = operation.Trim; _loudnessCheck = operation.LoudnessCheck; operation.SourceMedia.PropertyChanged += OnSourceMediaPropertyChanged; Array.Copy(_aspectConversions, _aspectConversionsEnforce, 3); if (preview != null) { _previewVm = new PreviewViewmodel(preview) { Media = operation.SourceMedia }; _previewVm.PropertyChanged += _previewVm_PropertyChanged; } }
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); }