예제 #1
0
        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
                }
            }
            ;
        }
예제 #2
0
 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,
     });
 }