private void DoMenuHyperlapseAssets() { List<IAsset> SelectedAssets = ReturnSelectedAssets(); if (SelectedAssets.Count == 0 || SelectedAssets.FirstOrDefault() == null) { MessageBox.Show("No asset was selected"); return; } CheckSingleFileMP4MOVWMVExtension(SelectedAssets); // Get the SDK extension method to get a reference to the Azure Media Indexer. IMediaProcessor processor = GetLatestMediaProcessorByName(Constants.AzureMediaHyperlapse); Hyperlapse form = new Hyperlapse(_context, processor.Version) { HyperlapseJobName = "Hyperlapse processing of " + Constants.NameconvInputasset, HyperlapseOutputAssetName = Constants.NameconvInputasset + " - Hyperlapsed", HyperlapseInputAssetName = (SelectedAssets.Count > 1) ? SelectedAssets.Count + " assets have been selected for Hyperlapse processing." : "Asset '" + SelectedAssets.FirstOrDefault().Name + "' will be processed by Hyperlapse.", }; string taskname = "Hyperlapse processing of " + Constants.NameconvInputasset; if (form.ShowDialog() == DialogResult.OK) { string configHyperlapse = Hyperlapse.LoadAndUpdateHyperlapseConfiguration( Path.Combine(_configurationXMLFiles, @"Hyperlapse.xml"), form.HyperlapseStartFrame, form.HyperlapseNumFrames, form.HyperlapseSpeed ); LaunchJobs_OneJobPerInputAsset_OneTaskPerfConfig(processor, SelectedAssets, form.HyperlapseJobName, form.JobOptions.Priority, taskname, form.HyperlapseOutputAssetName, new List<string> { configHyperlapse }, form.JobOptions.OutputAssetsCreationOptions, form.JobOptions.TasksOptionsSetting, form.JobOptions.StorageSelected); } }
private void DoMenuHyperlapseAssets() { List<IAsset> SelectedAssets = ReturnSelectedAssets(); if (SelectedAssets.Count == 0 || SelectedAssets.FirstOrDefault() == null) { MessageBox.Show("No asset was selected"); return; } if (SelectedAssets.Any(a => a.AssetFiles.Count() != 1) || SelectedAssets.Any(a => a.AssetFiles.Count() == 1 && (!a.AssetFiles.FirstOrDefault().Name.EndsWith(".wmv", StringComparison.OrdinalIgnoreCase) && (!a.AssetFiles.FirstOrDefault().Name.EndsWith(".mp4", StringComparison.OrdinalIgnoreCase))) )) { MessageBox.Show("Source asset must be a single MP4 or WMV file.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); } // Get the SDK extension method to get a reference to the Azure Media Indexer. IMediaProcessor processor = GetLatestMediaProcessorByName(Constants.AzureMediaHyperlapse); Hyperlapse form = new Hyperlapse(_context) { HyperlapseJobName = "Hyperlapse processing of " + Constants.NameconvInputasset, HyperlapseOutputAssetName = Constants.NameconvInputasset + " - Hyperlapsed", HyperlapseProcessorName = "Processor: " + processor.Vendor + " / " + processor.Name + " v" + processor.Version, HyperlapseInputAssetName = (SelectedAssets.Count > 1) ? SelectedAssets.Count + " assets have been selected for Hyperlapse processing." : "Asset '" + SelectedAssets.FirstOrDefault().Name + "' will be processed by Hyperlapse.", }; string taskname = "Hyperlapse processing of " + Constants.NameconvInputasset; if (form.ShowDialog() == DialogResult.OK) { string configHyperlapse = Hyperlapse.LoadAndUpdateHyperlapseConfiguration( Path.Combine(_configurationXMLFiles, @"Hyperlapse.xml"), form.HyperlapseStartFrame, form.HyperlapseNumFrames, form.HyperlapseSpeed ); LaunchJobs(processor, SelectedAssets, form.HyperlapseJobName, form.JobOptions.Priority, taskname, form.HyperlapseOutputAssetName, new List<string> { configHyperlapse }, form.JobOptions.OutputAssetsCreationOptions, form.JobOptions.TasksOptionsSetting, form.JobOptions.StorageSelected); } }