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); }
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); }
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"); } }
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; }