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 } } ; }
public static PersistentMediaProxy FromMedia(IPersistentMediaProperties media) { return(new PersistentMediaProxy { AudioChannelMapping = media.AudioChannelMapping, AudioLevelIntegrated = media.AudioLevelIntegrated, AudioLevelPeak = media.AudioLevelPeak, AudioVolume = media.AudioVolume, Duration = media.Duration, DurationPlay = media.DurationPlay, FileName = media.FileName, FileSize = media.FileSize, Folder = media.Folder, LastUpdated = media.LastUpdated, MediaCategory = media.MediaCategory, MediaName = media.MediaName, MediaStatus = media.MediaStatus, MediaType = media.MediaType, Parental = media.Parental, TcPlay = media.TcPlay, TcStart = media.TcStart, VideoFormat = media.VideoFormat, FieldOrderInverted = media.FieldOrderInverted, MediaGuid = media.MediaGuid, IdAux = media.IdAux, IdProgramme = media.IdProgramme, KillDate = media.KillDate, MediaEmphasis = media.MediaEmphasis, }); }