public void OBSScene_BuildFromJSON() { string sceneName = "Scene name äëôû"; string itemName = "First item name äëôû"; JObject itemData = new JObject { { "name", itemName }, { "type", "dummy_source" }, { "volume", 1.0f }, { "x", 0.0f }, { "y", 0.0f }, { "source_cx", 1280 }, { "source_cy", 720 }, { "cx", 1280.0f }, { "cy", 720.0F } }; var items = new JArray { itemData }; var data = new JObject { { "name", sceneName }, { "sources", items } }; var scene = new OBSScene(data); Assert.AreEqual(sceneName, scene.Name); Assert.AreEqual(1, scene.Items.Count); Assert.AreEqual(itemName, scene.Items[0].SourceName); }
public void OBSScene_BuildFromJSON() { string sceneName = "Scene name äëôû"; string itemName = "First item name äëôû"; var itemData = new JObject(); itemData.Add("name", itemName); itemData.Add("type", "dummy_source"); itemData.Add("volume", 1.0f); itemData.Add("x", 0.0f); itemData.Add("y", 0.0f); itemData.Add("source_cx", 1280); itemData.Add("source_cy", 720); itemData.Add("cx", 1280.0f); itemData.Add("cy", 720.0F); var items = new JArray(); items.Add(itemData); var data = new JObject(); data.Add("name", sceneName); data.Add("sources", items); var scene = new OBSScene(data); Assert.AreEqual(sceneName, scene.Name); Assert.AreEqual(1, scene.Items.Count); Assert.AreEqual(itemName, scene.Items[0].SourceName); }
private void SetCurrentScene(string scenename) { OBSScene newscene = (from scene in m_scenes where scene.Name.ToLowerInvariant() == scenename.ToLowerInvariant() select scene).FirstOrDefault(); m_obs.SetCurrentScene(newscene.Name); }
private void onConnect(object sender, EventArgs e) { IsConnected = true; var scenes = m_obs.ListScenes(); m_scenes = scenes; CurrentScene = m_obs.GetCurrentScene(); }
public SceneController(OBSScene scene) { _scene = scene; InitializeComponent(); AppData = new SceneControllerData() { title = scene.Name }; SceneButton.DataContext = AppData; }
private void currentSceneLoaded(OBSScene scene) { for (int i = 0; i < Scenes.Count(); i++) { if (Scenes[i].Name == scene.Name) { Scenes[i] = scene; } } MidiObserver.RenderSurface(); }
public static SceneItem GetSceneItem(string sceneName, string itemName) { if (sceneList == null) { if (!obsWebsocket.IsConnected) { return(null); } sceneList = obsWebsocket.GetSceneList(); } OBSScene scene = sceneList?.Scenes?.FirstOrDefault(x => x.Name == sceneName); return(scene?.Items?.FirstOrDefault(x => x.SourceName == itemName)); }
string GetFoundationalScene() { try { OBSScene currentScene = ObsManager.GetCurrentScene(); if (IsFoundationScene(currentScene.Name)) { return(currentScene.Name); } return(DndObsManager.STR_PlayerScene); } catch //(Exception ex) { return(DndObsManager.STR_PlayerScene); } }
private SOBSScene _translateScene(OBSScene input, int index = -1) { SOBSScene output = new SOBSScene(); output.Index = index == -1 ? Scenes.Count() : index; output.Id = _uidFromString(input.Name); output.Name = input.Name; output.Items = new List <SOBSSceneItem>(); if (input.Items != null && input.Items.Count > 0) { for (int i = 0; i < input.Items.Count; i++) { SOBSSceneItem item = _translateSceneItem(input.Items[i], i); output.Items.Add(item); } } return(output); }
public Task <StreamingSourceDimensions> GetSourceDimensions(string sourceName) { try { OBSScene scene = this.OBSWebsocket.GetCurrentScene(); foreach (SceneItem item in scene.Items) { if (item.SourceName.Equals(sourceName)) { return(Task.FromResult(new StreamingSourceDimensions() { X = (int)item.XPos, Y = (int)item.YPos, XScale = (item.Width / item.SourceWidth), YScale = (item.Height / item.SourceHeight) })); } } } catch (Exception ex) { Logger.Log(ex); } return(Task.FromResult <StreamingSourceDimensions>(null)); }
private static void SetScene(OBSScene scene) { _obsWebSocket?.Api.SetCurrentScene(scene.Name); }
/// <summary> /// Change the currently active preview scene to the one specified. /// Triggers an error if Studio Mode is disabled. /// </summary> /// <param name="previewScene">Preview scene object</param> public void SetPreviewScene(OBSScene previewScene) { SetPreviewScene(previewScene.Name); }
/// <summary> /// Set the relative crop coordinates of the specified source item /// </summary> /// <param name="sceneItem">Scene item object</param> /// <param name="cropInfo">Crop coordinates</param> /// <param name="scene">Parent scene of scene item</param> public void SetSceneItemCrop(SceneItem sceneItem, SceneItemCropInfo cropInfo, OBSScene scene) { SetSceneItemCrop(sceneItem.SourceName, cropInfo, scene.Name); }