static public void ApplyInspector(PopCast Instance, Object target, Editor ThisEditor) { GUILayout.Label("PopCast Version " + PopCast.GetVersion()); PopCast.mAllowBackgroundProcessing = GUILayout.Toggle(PopCast.mAllowBackgroundProcessing, "Allow background jobs"); string MetaString = (Instance != null) ? Instance.GetMetaJson() : null; if (MetaString == null) { if (Instance != null) { MetaString = "<no meta>"; } else if (Instance == null) { MetaString = "<no instance>"; } } // pop cast has some GPU processing to do, and if the editor is paused or stopped, // we'll be waiting for renderthread events, so we need to force them to finish encodings var BackgroundJobs = PopCast.GetBackgroundGpuJobCount(); if (BackgroundJobs > 0) { string Message = "" + BackgroundJobs + " background jobs"; if (!EditorApplication.isUpdating) { ThisEditor.Repaint(); if (PopCast.mAllowBackgroundProcessing) { Message += " (forcing GPU update)"; PopCast.Update(); } } Message += "\n" + MetaString; EditorGUILayout.HelpBox(Message, MessageType.Warning, true); } else { string Message = "Idle (no background jobs)"; Message += "\n" + MetaString; EditorGUILayout.HelpBox(Message, MessageType.Info, true); } if (Instance != null) { ThisEditor.Repaint(); } }
static public void ApplyInspector(PopCast Instance, Object target, Editor ThisEditor) { GUILayout.Label("PopCast Version " + PopCast.GetVersion()); PopCast.mAllowBackgroundProcessing = GUILayout.Toggle(PopCast.mAllowBackgroundProcessing, "Allow background jobs"); string MetaString = ""; var Meta = (Instance != null) ? Instance.GetMeta() : null; if (Meta != null) { MetaString += "BackgroundGpuJobCount: " + Meta.BackgroundGpuJobCount + "\n"; MetaString += "InstanceCount: " + Meta.InstanceCount + "\n"; MetaString += "MuxerInputQueueCount: " + Meta.MuxerInputQueueCount + "\n"; MetaString += "MuxerDefferedQueueCount: " + Meta.MuxerDefferedQueueCount + "\n"; MetaString += "MB's Written: " + (Meta.BytesWritten / (1024.0f * 1024.0f)) + "\n"; MetaString += "PendingWrites: " + Meta.PendingWrites + "\n"; MetaString += "PendingEncodedFrames: " + Meta.PendingEncodedFrames + "\n"; MetaString += "PushedFrameCount: " + Meta.PushedFrameCount + "\n"; MetaString += "PendingFrameCount: " + Meta.PendingFrameCount + "\n"; } else if (Instance != null) { MetaString = "<no meta>"; } else { MetaString = "<no instance>"; } // pop cast has some GPU processing to do, and if the editor is paused or stopped, // we'll be waiting for renderthread events, so we need to force them to finish encodings var BackgroundJobs = PopCast.GetBackgroundGpuJobCount(); if (BackgroundJobs > 0) { string Message = "" + BackgroundJobs + " background jobs"; if (!EditorApplication.isUpdating) { ThisEditor.Repaint(); if (PopCast.mAllowBackgroundProcessing) { Message += " (forcing GPU update)"; PopCast.Update(); } } Message += "\n" + MetaString; EditorGUILayout.HelpBox(Message, MessageType.Warning, true); } else { string Message = "Idle (no background jobs)"; Message += "\n" + MetaString; EditorGUILayout.HelpBox(Message, MessageType.Info, true); } if (Instance != null) { ThisEditor.Repaint(); } }