void view_PrepareMedia(object sender, EventArgs e) { MediaCreationManagement mediaObject; GeneralPurposeCDDVDProfileProcessor processor; mediaObject = GetMediaCreationObject(); MediaComposer mediaComposer = new MediaComposer(mediaObject, ViewerContainer.State.ActiveWorkstation.StorageDataAccess); processor = new GeneralPurposeCDDVDProfileProcessor(); processor.SetProfile(GetProfile(MediaType.DVD)); processor.ViewerDirectory = (__View.IncludeViewer) ? __View.ViewerDirectory : string.Empty; if (__View.IncludeViewer && __View.CreateAutoRun) { processor.NonDicomFiles = new string[] { CreateAutoRunFile() }; } mediaComposer.ProfileProcessors.Add(processor); //__View.MediaDirectory = mediaComposer.ComposeMedia ( __View.MediaBaseFolder ) ; { var taskCreateMedia = new LTTask <string>(); taskCreateMedia.SetTask(() => { return(mediaComposer.ComposeMedia(__View.MediaBaseFolder)); }); TaskDialogFactory.Create(taskCreateMedia, "Preparing media...").ShowDialog(); if (taskCreateMedia.IsCompletedWithErrors()) { throw taskCreateMedia.GetError(); } __View.MediaDirectory = taskCreateMedia.GetResult(); } __View.TotalSize = GetFormattedSize(GetFolderSize(__View.MediaDirectory)); __MediaObject = mediaObject; __MediaObject.SetCreationPath(__View.MediaDirectory); UpdateUI(); SavePreferences(); __View.SetMediaCreationWarning(""); view_BurnMedia(this, e); }
private void OnTranscode(object sender, RoutedEventArgs e) { if (Preview.File == null) { ShowMessageDialog(StringLoader.Get("Please_Pick_Media_File")); return; } Preview.Stop(); destinationFileName = Preview.File.Name + ".transcoded.mp4"; mediaComposer = new MediaComposer(this); SetTranscodeParameters(); mediaComposer.setTargetFile(new File(KnownFolders.VideosLibrary, destinationFileName)); DoTranscode(); }
void view_PrepareMedia(object sender, EventArgs e) { MediaCreationManagement mediaObject; GeneralPurposeCDDVDProfileProcessor processor; mediaObject = GetMediaCreationObject( ); MediaComposer mediaComposer = new MediaComposer(mediaObject, ViewerContainer.State.ActiveWorkstation.StorageDataAccess); processor = new GeneralPurposeCDDVDProfileProcessor( ); processor.SetProfile(GetProfile(MediaType.DVD)); processor.ViewerDirectory = (__View.IncludeViewer) ? __View.ViewerDirectory : string.Empty; if (__View.IncludeViewer && __View.CreateAutoRun) { processor.NonDicomFiles = new string [] { CreateAutoRunFile( ) }; } mediaComposer.ProfileProcessors.Add(processor); __View.MediaDirectory = mediaComposer.ComposeMedia(__View.MediaBaseFolder); __View.TotalSize = GetFormattedSize(GetFolderSize(__View.MediaDirectory)); __MediaObject = mediaObject; __MediaObject.SetCreationPath(__View.MediaDirectory); UpdateUI( ); SavePreferences( ); __View.SetMediaCreationWarning(""); view_BurnMedia(this, e); }
private void ComposeMediaObject ( MediaCreationManagement mediaObject, IMediaCreationDataAccessAgent dataAccess ) { try { MediaComposer mediaComposer; GeneralPurposeCDDVDProfileProcessor processor; string folderPath; mediaComposer = new MediaComposer(mediaObject); processor = new GeneralPurposeCDDVDProfileProcessor( ); if ((null == mediaObject.IncludeDisplayApplication || mediaObject.IncludeDisplayApplication.Value == YesNo.Undefined || mediaObject.IncludeDisplayApplication.Value == YesNo.Yes) && AddInsSession.AddInConfiguration.IncludeViewer) { processor.ViewerDirectory = AddInsSession.AddInConfiguration.ViewerDirectory; processor.NonDicomFiles = AddInsSession.AddInConfiguration.Files.ToArray( ); processor.ViewerSize = (int)Math.Ceiling(AddInsSession.AddInConfiguration.ViewerSize / 0x100000); } else { string fileName; fileName = AddInsSession.AddInConfiguration.RemoveViewerAutorunFile( ); processor.NonDicomFiles = AddInsSession.AddInConfiguration.Files.ToArray( ); if (!string.IsNullOrEmpty(fileName)) { AddInsSession.AddInConfiguration.AddViewerAutorunFile(fileName); } processor.ViewerSize = 0; } processor.NonDicomDirectories = AddInsSession.AddInConfiguration.Folders.ToArray( ); processor.NonDicomObjectsSize = (int)Math.Ceiling(AddInsSession.AddInConfiguration.FilesAndFoldersSize / 0x100000); mediaComposer.ProfileProcessors.Add(processor); folderPath = mediaComposer.ComposeMedia(AddInsSession.AddInConfiguration.MediaFolder); mediaObject.SetCreationPath(folderPath); if (null != dataAccess) { MediaLocation mediaLocation; MediaLocation[] currentMediaLocation; mediaLocation = new MediaLocation( ); mediaLocation.MediaSopInstanceUID = mediaObject.SopCommon.SOPInstanceUID; mediaLocation.Location = folderPath; currentMediaLocation = dataAccess.FindMediaLocation(new string[] { mediaObject.SopCommon.SOPInstanceUID }); if (null == currentMediaLocation || currentMediaLocation.Length == 0) { dataAccess.InsertMediaLocation(new MediaLocation[] { mediaLocation }); } else { dataAccess.UpdateMediaLocation(new MediaLocation[] { mediaLocation }); } } NotifyResult(mediaObject, null); } catch (Exception exception) { Logger.Global.Log(AddInsSession.ServerAE, AddInsSession.ServerAddress, AddInsSession.ServerPort, string.Empty, string.Empty, -1, DicomCommandType.Undefined, DateTime.Now, LogType.Error, MessageDirection.None, exception.Message, null, null); if (mediaObject.ExecutionStatus.ExecutionStatus != ExecutionStatus.Failure) { mediaObject.ExecutionStatus.ExecutionStatus = ExecutionStatus.Failure; mediaObject.ExecutionStatus.ExecutionStatusInfo = ExecutionStatusInfo.UNKNOWN; } try { if (null != dataAccess) { dataAccess.UpdateMediaObjectStatus(mediaObject.SopCommon.SOPInstanceUID, mediaObject.ExecutionStatus); } MediaService.MediaQueue.NotifyMediaObjectUpdated(mediaObject); NotifyResult(mediaObject, exception); } //we don't care here if some subscriber throw an exception catch {} } }