More OBS, and Streamlabs Desktop¶
C# methods for a Run C# code step. See C# methods for how to use them.
ObsGetConnectionByName¶
Finds the number of an OBS connection by its name, as shown on the OBS page. The first connection is 0. Capital letters do not matter.
int ObsGetConnectionByName(string name)
Gives back: The connection number, or -1 when no connection has that name.
Example
int studio = CPH.ObsGetConnectionByName("Studio PC");
CPH.LogInfo($"Studio PC is connection {studio}");
ObsConnect¶
Checks whether OBS is connected. Cuebot connects (and reconnects) OBS by itself, so this does not start a connection.
bool ObsConnect(int connection = 0)
Gives back: true when OBS is connected, otherwise false.
Example
bool ready = CPH.ObsConnect();
CPH.LogInfo($"OBS connected: {ready}");
ObsDisconnect¶
Not supported in Cuebot: Cuebot keeps its OBS connections open. It only writes a warning in the log. Disconnect OBS on the OBS page instead.
void ObsDisconnect(int connection = 0)
Gives back: Nothing.
Example
CPH.ObsDisconnect();
ObsPauseRecording¶
Pauses the OBS recording. Gives an error when OBS is not connected.
void ObsPauseRecording(int connection = 0)
Gives back: Nothing.
Example
CPH.ObsPauseRecording();
ObsResumeRecording¶
Carries on with a paused OBS recording. Gives an error when OBS is not connected.
void ObsResumeRecording(int connection = 0)
Gives back: Nothing.
Example
CPH.ObsResumeRecording();
ObsReplayBufferStart¶
Starts the OBS replay buffer, which keeps the last few seconds of your stream ready to save. Gives an error when OBS is not connected.
void ObsReplayBufferStart(int connection = 0)
Gives back: Nothing.
Example
CPH.ObsReplayBufferStart();
ObsReplayBufferStop¶
Stops the OBS replay buffer. Gives an error when OBS is not connected.
void ObsReplayBufferStop(int connection = 0)
Gives back: Nothing.
Example
CPH.ObsReplayBufferStop();
ObsReplayBufferSave¶
Saves the replay buffer to a file, so you keep the last few seconds of your stream. The replay buffer must be running in OBS.
void ObsReplayBufferSave(int connection = 0)
Gives back: Nothing.
Example
CPH.ObsReplayBufferSave();
ObsSetReplayBufferState¶
Starts, stops or saves the OBS replay buffer with a number: 0 starts it, 1 stops it, 2 saves it. Any other number gives an error.
void ObsSetReplayBufferState(int state, int connection = 0)
Gives back: Nothing.
Example
CPH.ObsSetReplayBufferState(2);
ObsMediaPlay¶
Plays a media source (a video or sound file in OBS). The scene is not needed, because OBS finds the source by its name.
void ObsMediaPlay(string scene, string source, int connection = 0)
Gives back: Nothing.
Example
CPH.ObsMediaPlay("Gameplay", "Intro Video");
ObsMediaPause¶
Pauses a media source (a video or sound file in OBS). The scene is not needed, because OBS finds the source by its name.
void ObsMediaPause(string scene, string source, int connection = 0)
Gives back: Nothing.
Example
CPH.ObsMediaPause("Gameplay", "Intro Video");
ObsMediaRestart¶
Starts a media source again from the beginning. The scene is not needed, because OBS finds the source by its name.
void ObsMediaRestart(string scene, string source, int connection = 0)
Gives back: Nothing.
Example
CPH.ObsMediaRestart("Gameplay", "Intro Video");
ObsMediaStop¶
Stops a media source (a video or sound file in OBS). The scene is not needed, because OBS finds the source by its name.
void ObsMediaStop(string scene, string source, int connection = 0)
Gives back: Nothing.
Example
CPH.ObsMediaStop("Gameplay", "Intro Video");
ObsMediaNext¶
Skips to the next file in a media source that plays a list (like a VLC playlist source).
void ObsMediaNext(string scene, string source, int connection = 0)
Gives back: Nothing.
Example
CPH.ObsMediaNext("Just Chatting", "Music Playlist");
ObsMediaPrevious¶
Goes back to the previous file in a media source that plays a list (like a VLC playlist source).
void ObsMediaPrevious(string scene, string source, int connection = 0)
Gives back: Nothing.
Example
CPH.ObsMediaPrevious("Just Chatting", "Music Playlist");
ObsSetMediaState¶
Controls a media source with a number: 0 play, 1 pause, 2 restart, 3 stop, 4 next, 5 previous. Any other number gives an error.
void ObsSetMediaState(string scene, string source, int state, int connection = 0)
Gives back: Nothing.
Example
CPH.ObsSetMediaState("Gameplay", "Intro Video", 0);
ObsSourceMute¶
Mutes an audio source in OBS, like your microphone. The scene is not needed, because OBS finds the source by its name.
void ObsSourceMute(string scene, string source, int connection = 0)
Gives back: Nothing.
Example
CPH.ObsSourceMute("Gameplay", "Mic");
ObsSourceUnMute¶
Unmutes an audio source in OBS, like your microphone. The scene is not needed, because OBS finds the source by its name.
void ObsSourceUnMute(string scene, string source, int connection = 0)
Gives back: Nothing.
Example
CPH.ObsSourceUnMute("Gameplay", "Mic");
ObsSourceMuteToggle¶
Mutes an audio source when it is on, or unmutes it when it is muted.
void ObsSourceMuteToggle(string scene, string source, int connection = 0)
Gives back: Nothing.
Example
CPH.ObsSourceMuteToggle("Gameplay", "Mic");
ObsSetSourceMuteState¶
Mutes or unmutes an audio source with a number: 0 mutes, 1 unmutes, 2 switches it. Any other number gives an error.
void ObsSetSourceMuteState(string scene, string source, int state, int connection = 0)
Gives back: Nothing.
Example
CPH.ObsSetSourceMuteState("Gameplay", "Mic", 0);
ObsSetSceneFilterState¶
Turns a filter on a scene itself on or off with a number: 0 on, 1 off, 2 switches it.
void ObsSetSceneFilterState(string scene, string filterName, int state, int connection = 0)
Gives back: Nothing.
Example
CPH.ObsSetSceneFilterState("Gameplay", "Blur", 0);
ObsSetSourceFilterState¶
Turns a filter on a source on or off with a number: 0 on, 1 off, 2 switches it. The scene is not needed, because OBS finds the source by its name.
void ObsSetSourceFilterState(string scene, string source, string filterName, int state, int connection = 0)
Gives back: Nothing.
Example
CPH.ObsSetSourceFilterState("Gameplay", "Webcam", "Green Screen", 1);
ObsHideGroupsSources¶
Hides every source inside an OBS group. The scene is not needed, because OBS finds the group by its name.
void ObsHideGroupsSources(string scene, string groupName, int connection = 0)
Gives back: Nothing.
Example
CPH.ObsHideGroupsSources("Gameplay", "Alerts");
ObsHideSceneSources¶
Hides every source in a scene.
void ObsHideSceneSources(string scene, int connection = 0)
Gives back: Nothing.
Example
CPH.ObsHideSceneSources("Gameplay");
ObsSetRandomGroupSourceVisible¶
Shows one random source inside an OBS group and hides the others. Fun for a random hat or sticker. The scene is not needed.
string ObsSetRandomGroupSourceVisible(string scene, string groupName, int connection = 0)
Gives back: The name of the source it showed, or empty text when the group has no sources.
Example
string picked = CPH.ObsSetRandomGroupSourceVisible("Gameplay", "Hats");
CPH.LogInfo($"Showing {picked}");
ObsSetRandomSceneSourceVisible¶
Shows one random source in a scene and hides the others.
string ObsSetRandomSceneSourceVisible(string scene, int connection = 0)
Gives back: The name of the source it showed, or empty text when the scene has no sources.
Example
string picked = CPH.ObsSetRandomSceneSourceVisible("Backgrounds");
CPH.LogInfo($"Showing {picked}");
ObsGetGroupSources¶
Lists the sources inside an OBS group, top first. The scene is not needed, because OBS finds the group by its name.
List<string> ObsGetGroupSources(string scene, string groupName, int connection = 0)
Gives back: A list with the names of the group's sources.
Example
List<string> hats = CPH.ObsGetGroupSources("Gameplay", "Hats");
CPH.LogInfo($"Hats: {string.Join(", ", hats)}");
ObsSetColorSourceColor¶
Changes the colour of a colour source. Give the colour as text like "#FF0000" (red) or "#80FF0000" (see-through red), or as four numbers 0-255: alpha (see-through), red, green, blue.
void ObsSetColorSourceColor(string scene, string source, int a, int r, int g, int b, int connection = 0)
void ObsSetColorSourceColor(string scene, string source, string hexColor, int connection = 0)
Gives back: Nothing.
Example
CPH.ObsSetColorSourceColor("Gameplay", "Background", "#9146FF");
CPH.ObsSetColorSourceColor("Gameplay", "Border", 255, 255, 0, 0);
ObsSetColorSourceRandomColor¶
Gives a colour source a random colour. The colour is never see-through.
void ObsSetColorSourceRandomColor(string scene, string source, int connection = 0)
Gives back: Nothing.
Example
CPH.ObsSetColorSourceRandomColor("Gameplay", "Background");
ObsConvertColorHex¶
Turns a colour like "#FF0000" or "#80FF0000" (the # is optional) into the colour number OBS uses. Text that is not a colour gives an error.
long ObsConvertColorHex(string colorHex)
Gives back: The colour as OBS's number.
Example
long red = CPH.ObsConvertColorHex("#FF0000");
CPH.LogInfo($"OBS colour number: {red}");
ObsConvertRgb¶
Turns alpha (see-through), red, green and blue (each 0-255) into the colour number OBS uses. Numbers outside 0-255 are cut to fit.
long ObsConvertRgb(int a, int r, int g, int b)
Gives back: The colour as OBS's number.
Example
long purple = CPH.ObsConvertRgb(255, 145, 70, 255);
CPH.LogInfo($"OBS colour number: {purple}");
ObsTakeScreenshot¶
Saves a picture of a source or scene to a file. Leave the source empty for what is on stream. The file ending (.png, .jpg) sets the format. Quality is 0-100, or -1 for OBS's default.
bool ObsTakeScreenshot(string source, string path, int quality = -1, int connection = 0)
bool ObsTakeScreenshot(string scene, string source, string path, int quality = -1, int connection = 0)
Gives back: true when the picture was saved, false when it failed (a warning goes in the log).
Example
bool saved = CPH.ObsTakeScreenshot("Webcam", "C:/Stream/Screenshots/webcam.png");
CPH.LogInfo($"Screenshot saved: {saved}");
ObsGetSceneItemProperties¶
Reads the details of a source in a scene, like its position, size, whether it is visible or locked. Uses the same names as the "Get Scene Item Properties" sub-action.
string ObsGetSceneItemProperties(string scene, string source, int connection = 0)
Gives back: The details as text in JSON format, or "{}" when there are none.
Example
string props = CPH.ObsGetSceneItemProperties("Gameplay", "Webcam");
CPH.LogInfo(props);
ObsSendBatchRaw¶
Sends several raw OBS requests at once, for advanced users. The data is a JSON list of {requestType, requestData}. Cuebot always runs them in order. haltOnFailure stops at the first one that fails.
string ObsSendBatchRaw(string data, bool haltOnFailure = false, int executionType = 0, int connectionIdx = 0)
Gives back: The answers from OBS as text in JSON format.
Example
string answers = CPH.ObsSendBatchRaw("[{\"requestType\":\"GetVersion\"}]");
CPH.LogInfo(answers);
SlobsIsConnected¶
Checks whether Cuebot is connected to Streamlabs Desktop. Cuebot has one Streamlabs Desktop connection, number 0.
bool SlobsIsConnected(int connection = 0)
Gives back: true when it is connected, otherwise false (also for any connection number other than 0).
Example
bool ready = CPH.SlobsIsConnected();
CPH.LogInfo($"Streamlabs Desktop connected: {ready}");
SlobsConnect¶
Checks whether Streamlabs Desktop is connected. Cuebot connects (and reconnects) it by itself, so this does not start a connection.
bool SlobsConnect(int connection = 0)
Gives back: true when it is connected, otherwise false.
Example
bool ready = CPH.SlobsConnect();
CPH.LogInfo($"Streamlabs Desktop connected: {ready}");
SlobsDisconnect¶
Not supported in Cuebot: Cuebot keeps the Streamlabs Desktop connection open. It only writes a warning in the log. Disconnect it on its page instead.
void SlobsDisconnect(int connection = 0)
Gives back: Nothing.
Example
CPH.SlobsDisconnect();
SlobsSetScene¶
Switches Streamlabs Desktop to another scene.
void SlobsSetScene(string sceneName, int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsSetScene("Gameplay");
SlobsGetCurrentScene¶
Finds out which scene Streamlabs Desktop is showing right now.
string SlobsGetCurrentScene(int connection = 0)
Gives back: The scene's name, or empty text when Streamlabs Desktop is not connected.
Example
string scene = CPH.SlobsGetCurrentScene();
CPH.LogInfo($"Current scene: {scene}");
SlobsStartStreaming¶
Starts streaming in Streamlabs Desktop.
void SlobsStartStreaming(int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsStartStreaming();
SlobsStopStreaming¶
Stops streaming in Streamlabs Desktop.
void SlobsStopStreaming(int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsStopStreaming();
SlobsStartRecording¶
Starts recording in Streamlabs Desktop.
void SlobsStartRecording(int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsStartRecording();
SlobsStopRecording¶
Stops recording in Streamlabs Desktop.
void SlobsStopRecording(int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsStopRecording();
SlobsPauseRecording¶
Not supported in Cuebot: Streamlabs Desktop cannot pause a recording from outside. It only writes a warning in the log.
void SlobsPauseRecording(int connection = 0)
Gives back: Nothing.
Example
CPH.SlobsPauseRecording();
SlobsResumeRecording¶
Not supported in Cuebot: Streamlabs Desktop cannot pause or resume a recording from outside. It only writes a warning in the log.
void SlobsResumeRecording(int connection = 0)
Gives back: Nothing.
Example
CPH.SlobsResumeRecording();
SlobsIsStreaming¶
Checks whether Streamlabs Desktop is live right now.
bool SlobsIsStreaming(int connection = 0)
Gives back: true while it is streaming, otherwise false. Also false when Streamlabs Desktop is not connected.
Example
bool live = CPH.SlobsIsStreaming();
CPH.LogInfo($"Streamlabs live: {live}");
SlobsIsRecording¶
Checks whether Streamlabs Desktop is recording right now.
bool SlobsIsRecording(int connection = 0)
Gives back: true while it is recording, otherwise false. Also false when Streamlabs Desktop is not connected.
Example
bool recording = CPH.SlobsIsRecording();
CPH.LogInfo($"Recording: {recording}");
SlobsSetSourceVisibility¶
Shows (true) or hides (false) a source in a Streamlabs Desktop scene. The form with an output (horizontal or vertical) works the same: Cuebot ignores the output.
void SlobsSetSourceVisibility(string scene, string source, bool visible, int connection = 0)
void SlobsSetSourceVisibility(string scene, string source, bool visible, StreamlabsDesktopOutputType output, int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsSetSourceVisibility("Gameplay", "Webcam", true);
SlobsSetSourceVisibilityState¶
Shows or hides a source in a Streamlabs Desktop scene with a number: 0 shows it, 1 hides it, 2 switches it. The output setting is ignored.
void SlobsSetSourceVisibilityState(string scene, string source, int state, StreamlabsDesktopOutputType output = StreamlabsDesktopOutputType.Both, int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsSetSourceVisibilityState("Gameplay", "Webcam", 2);
SlobsShowSource¶
Shows a source in a Streamlabs Desktop scene. The form with an output (horizontal or vertical) works the same: Cuebot ignores the output.
void SlobsShowSource(string scene, string source, int connection = 0)
void SlobsShowSource(string scene, string source, StreamlabsDesktopOutputType output, int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsShowSource("Gameplay", "Webcam");
SlobsHideSource¶
Hides a source in a Streamlabs Desktop scene. The form with an output (horizontal or vertical) works the same: Cuebot ignores the output.
void SlobsHideSource(string scene, string source, int connection = 0)
void SlobsHideSource(string scene, string source, StreamlabsDesktopOutputType output, int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsHideSource("Gameplay", "Webcam");
SlobsIsSourceVisible¶
Checks whether a source in a Streamlabs Desktop scene is showing. The output setting is ignored.
bool SlobsIsSourceVisible(string scene, string source, int connection = 0)
bool SlobsIsSourceVisible(string scene, string source, StreamlabsDesktopOutputType output, int connection = 0)
Gives back: true when the source is visible, false when it is hidden or not found. Also false when Streamlabs Desktop is not connected.
Example
bool showing = CPH.SlobsIsSourceVisible("Gameplay", "Webcam");
CPH.LogInfo($"Webcam visible: {showing}");
SlobsGetGroupSources¶
Lists the sources inside a Streamlabs Desktop folder (group) in a scene.
List<string> SlobsGetGroupSources(string scene, string groupName, int connection = 0)
Gives back: A list with the names of the sources, or an empty list when the folder is not found. Empty when Streamlabs Desktop is not connected.
Example
List<string> hats = CPH.SlobsGetGroupSources("Gameplay", "Hats");
CPH.LogInfo($"Hats: {string.Join(", ", hats)}");
SlobsHideGroupsSources¶
Hides every source inside a Streamlabs Desktop folder (group). The output setting is ignored.
void SlobsHideGroupsSources(string scene, string groupName, int connection = 0)
void SlobsHideGroupsSources(string scene, string groupName, StreamlabsDesktopOutputType output, int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsHideGroupsSources("Gameplay", "Alerts");
SlobsSetRandomGroupSourceVisible¶
Shows one random source inside a Streamlabs Desktop folder (group) and hides the others. The output setting is ignored.
string SlobsSetRandomGroupSourceVisible(string scene, string groupName, int connection = 0)
string SlobsSetRandomGroupSourceVisible(string scene, string groupName, StreamlabsDesktopOutputType output, int connection = 0)
Gives back: The name of the source it showed, or empty text when there is none. Empty when Streamlabs Desktop is not connected.
Example
string picked = CPH.SlobsSetRandomGroupSourceVisible("Gameplay", "Hats");
CPH.LogInfo($"Showing {picked}");
SlobsSetGdiText¶
Changes the words in a Streamlabs Desktop text source. The scene is not needed.
void SlobsSetGdiText(string scene, string source, string text, int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsSetGdiText("Gameplay", "Last Follower", "Thanks, CoolViewer!");
SlobsSetBrowserSource¶
Changes the web address a Streamlabs Desktop browser source shows. The scene is not needed.
void SlobsSetBrowserSource(string scene, string source, string url, int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsSetBrowserSource("Gameplay", "Alert Box", "https://example.com/alerts");
SlobsSourceMute¶
Mutes an audio source in Streamlabs Desktop, like your microphone. The scene and the third text (filterName) are not used; you can leave the third one empty.
void SlobsSourceMute(string scene, string source, string filterName, int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsSourceMute("Gameplay", "Mic", "");
SlobsSourceUnMute¶
Unmutes an audio source in Streamlabs Desktop. The scene and the third text (filterName) are not used; you can leave the third one empty.
void SlobsSourceUnMute(string scene, string source, string filterName, int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsSourceUnMute("Gameplay", "Mic", "");
SlobsSourceMuteToggle¶
Mutes an audio source in Streamlabs Desktop when it is on, or unmutes it when it is muted. The scene and the third text are not used.
void SlobsSourceMuteToggle(string scene, string source, string filterName, int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsSourceMuteToggle("Gameplay", "Mic", "");
SlobsSetSourceMuteState¶
Mutes or unmutes an audio source in Streamlabs Desktop with a number: 0 mutes, 1 unmutes, 2 switches it. Any other number gives an error.
void SlobsSetSourceMuteState(string scene, string source, int state, int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsSetSourceMuteState("Gameplay", "Mic", 0);
SlobsShowFilter¶
Turns on a filter in Streamlabs Desktop. With a scene and a filter it changes the scene's own filter; with a scene, a source and a filter it changes the source's filter.
void SlobsShowFilter(string scene, string filterName, int connection = 0)
void SlobsShowFilter(string scene, string source, string filterName, int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsShowFilter("Gameplay", "Webcam", "Green Screen");
SlobsHideFilter¶
Turns off a filter in Streamlabs Desktop. With a scene and a filter it changes the scene's own filter; with a scene, a source and a filter it changes the source's filter.
void SlobsHideFilter(string scene, string filterName, int connection = 0)
void SlobsHideFilter(string scene, string source, string filterName, int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsHideFilter("Gameplay", "Blur");
SlobsToggleFilter¶
Switches a filter in Streamlabs Desktop on or off. With a scene and a filter it changes the scene's own filter; with a scene, a source and a filter, the source's filter.
void SlobsToggleFilter(string scene, string filterName, int connection = 0)
void SlobsToggleFilter(string scene, string source, string filterName, int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsToggleFilter("Gameplay", "Webcam", "Blur");
SlobsSetFilterState¶
Turns a Streamlabs Desktop filter on or off with a number: 0 on, 1 off, 2 switches it. Give a source too to change the source's filter instead of the scene's own.
void SlobsSetFilterState(string scene, string filterName, int state, int connection = 0)
void SlobsSetFilterState(string scene, string source, string filterName, int state, int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsSetFilterState("Gameplay", "Webcam", "Blur", 2);
SlobsSetRandomFilterState¶
Picks one random filter and sets it with a number: 0 on, 1 off, 2 switches it. With only a scene it picks from the scene's own filters; with a source, from that source's.
void SlobsSetRandomFilterState(string scene, int state, int connection = 0)
void SlobsSetRandomFilterState(string scene, string source, int state, int connection = 0)
Gives back: Nothing. When Streamlabs Desktop is not connected, it does nothing and writes a warning in the log.
Example
CPH.SlobsSetRandomFilterState("Gameplay", "Webcam", 0);
SlobsIsFilterEnabled¶
Checks whether a Streamlabs Desktop filter is on. With a scene and a filter it checks the scene's own filter; with a scene, a source and a filter, the source's filter.
bool SlobsIsFilterEnabled(string scene, string filterName, int connection = 0)
bool SlobsIsFilterEnabled(string scene, string source, string filterName, int connection = 0)
Gives back: true when the filter is on, false when it is off or not found. Also false when Streamlabs Desktop is not connected.
Example
bool blurred = CPH.SlobsIsFilterEnabled("Gameplay", "Webcam", "Blur");
CPH.LogInfo($"Blur on: {blurred}");