private void _ingestSelectionToDir(IServerDirectory directory) { IMediaDirectory currentDir = _selectedDirectory?.Directory; if (currentDir is IIngestDirectory) { List <IConvertOperation> ingestList = new List <IConvertOperation>(); var selectedMedia = _getSelections(); ThreadPool.QueueUserWorkItem(o => { selectedMedia.ForEach(m => { if (!m.IsVerified) { m.Verify(); } }); }); foreach (IMedia sourceMedia in selectedMedia) { string destFileName = FileUtils.GetUniqueFileName(directory.Folder, $"{Path.GetFileNameWithoutExtension(sourceMedia.FileName)}{FileUtils.DefaultFileExtension(sourceMedia.MediaType)}"); IPersistentMediaProperties destMediaProperties = new PersistentMediaProxy { FileName = destFileName, MediaName = FileUtils.GetFileNameWithoutExtension(sourceMedia.FileName, sourceMedia.MediaType), MediaType = sourceMedia.MediaType == TMediaType.Unknown ? TMediaType.Movie : sourceMedia.MediaType, Duration = sourceMedia.Duration, DurationPlay = sourceMedia.DurationPlay, MediaGuid = sourceMedia.MediaGuid, MediaCategory = sourceMedia.MediaCategory }; ingestList.Add( FileManagerViewmodel.CreateConvertOperation( sourceMedia, destMediaProperties, directory, _mediaManager.VideoFormat, (sourceMedia.Directory is IIngestDirectory) ? ((IIngestDirectory)sourceMedia.Directory).AudioVolume : 0, (sourceMedia.Directory is IIngestDirectory) ? ((IIngestDirectory)sourceMedia.Directory).SourceFieldOrder : TFieldOrder.Unknown, (sourceMedia.Directory is IIngestDirectory) ? ((IIngestDirectory)sourceMedia.Directory).AspectConversion : TAspectConversion.NoConversion, (sourceMedia.Directory is IIngestDirectory) ? ((IIngestDirectory)sourceMedia.Directory).MediaLoudnessCheckAfterIngest : false )); } if (ingestList.Count != 0) { using (IngestEditViewmodel ievm = new IngestEditViewmodel(ingestList, _preview, _mediaManager)) { if (ievm.ShowDialog() == true) { foreach (var operationVm in ievm.OperationList) { _mediaManager.FileManager.Queue(operationVm.FileOperation, false); } } } } } }
public void Apply() { _convertOperation.Trim = _trim; _convertOperation.LoudnessCheck = _loudnessCheck; _convertOperation.AudioVolume = _audioVolume; _convertOperation.StartTC = _startTC; _convertOperation.Duration = _duration; _convertOperation.SourceFieldOrderEnforceConversion = _sourceFieldOrderEnforceConversion; _convertOperation.AudioChannelMappingConversion = _audioChannelMappingConversion; _convertOperation.AspectConversion = _aspectConversion; _convertOperation.SourceFieldOrderEnforceConversion = _sourceFieldOrderEnforceConversion; IMediaProperties newMediaProperties; if (_convertOperation.DestMediaProperties is IPersistentMediaProperties) { newMediaProperties = PersistentMediaProxy.FromMedia(_convertOperation.DestMediaProperties as IPersistentMediaProperties); } else { newMediaProperties = MediaProxy.FromMedia(_convertOperation.DestMediaProperties); } newMediaProperties.MediaName = _destMediaName; if (newMediaProperties is IPersistentMediaProperties) { ((IPersistentMediaProperties)newMediaProperties).IdAux = _idAux; ((IPersistentMediaProperties)newMediaProperties).MediaEmphasis = _destMediaEmphasis; } newMediaProperties.VideoFormat = _destMediaVideoFormat; newMediaProperties.FileName = _destFileName; newMediaProperties.TcStart = _startTC; newMediaProperties.TcPlay = _startTC; newMediaProperties.Duration = _duration; newMediaProperties.DurationPlay = _duration; newMediaProperties.MediaCategory = _destCategory; newMediaProperties.Parental = _destParental; _convertOperation.DestMediaProperties = newMediaProperties; //required to pass this parameter from client to server application }