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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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;
 }
Esempio n. 6
0
 private void currentSceneLoaded(OBSScene scene)
 {
     for (int i = 0; i < Scenes.Count(); i++)
     {
         if (Scenes[i].Name == scene.Name)
         {
             Scenes[i] = scene;
         }
     }
     MidiObserver.RenderSurface();
 }
Esempio n. 7
0
        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));
        }
Esempio n. 8
0
 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);
     }
 }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
 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));
 }
Esempio n. 11
0
 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);
 }