Esempio n. 1
0
        public async Task <bool> Reload()
        {
            if (ObsTypes.Count == 0)
            {
                ObsTypes = await ws.GetSourcesTypesList();
            }

            Version = await ws.GetVersion();

            var studiomode = await ws.StudioModeEnabled();

            Mode = studiomode ? EOBSMode.Studio : EOBSMode.Normal;

            var OutputStatus = await ws.GetStreamingStatus();

            _state = _translateStreamingStatus(OutputStatus);

            await _loadTransitions();
            await _loadActiveTransition();

            SpecialSources = await ws.GetSpecialSources();

            await _loadSources();
            await _loadScenes();
            await _loadActiveScene();

            if (Mode == EOBSMode.Studio)
            {
                _loadActivePScene();
            }

            return(true);
        }
Esempio n. 2
0
        public void OBSVersion_BuildFromJSON()
        {
            string pluginVersion = "4.0.0";
            string obsVersion    = "18.0.1";

            var data = new JObject();

            data.Add("obs-websocket-version", pluginVersion);
            data.Add("obs-studio-version", obsVersion);

            var version = new OBSVersion(data);

            Assert.AreEqual(pluginVersion, version.PluginVersion);
            Assert.AreEqual(obsVersion, version.OBSStudioVersion);
        }
Esempio n. 3
0
        private void onConnect(object sender, EventArgs e)
        {
            connection_start = true;
            websocket.SendRequestAsync(delegate(JObject r)
            {
                OBSAuthInfo authInfo = new OBSAuthInfo(r);
                if (authInfo.AuthRequired)
                {
                    websocket.AuthenticateAsync(delegate(JObject authresponse)
                    {
                        Console.WriteLine(authresponse);

                        /*cstatus = false;
                         * if (midiStatus != null) midiStatus(this, SMidiEvent.WrongPassword);
                         * return;*/
                    }, OBSPwd, authInfo);
                }
            }, "GetAuthRequired");

            if (ObsTypes == null)
            {
                ObsTypes = new List <OBSSourceTypes>();
                websocket.SendRequestAsync(delegate(JObject response)
                {
                    Version = new OBSVersion(response);
                }, "GetVersion");

                websocket.SendRequestAsync(delegate(JObject response)
                {
                    if ((string)response["status"] == "ok")
                    {
                        JArray items = (JArray)response["types"];
                        ObsTypes.Clear();
                        foreach (JObject typeData in items)
                        {
                            OBSSourceTypes t = new OBSSourceTypes(typeData);
                            ObsTypes.Add(t);
                        }
                    }
                }, "GetSourceTypesList");
            }
        }
Esempio n. 4
0
        private void VerifyValidVersion(OBSVersion obsVersion)
        {
            IsValidVersion = false;
            if (obsVersion == null)
            {
                Logger.Instance.LogMessage(TracingLevel.WARN, "VerifyValidVersion - Version is null");
                Disconnect();
                return;
            }

            Version pluginVersion = new Version(obsVersion.PluginVersion);

            if (pluginVersion < MINIMUM_SUPPORTED_WEBSOCKET_VERSION)
            {
                Logger.Instance.LogMessage(TracingLevel.WARN, $"VerifyValidVersion - obs-websocket version is not up to date: {pluginVersion.ToString()} expected {MINIMUM_SUPPORTED_WEBSOCKET_VERSION.ToString()}");
                Disconnect();
                return;
            }

            IsValidVersion = true;
        }