overlay: OBS control window via WebSocket API (#773)

## Link to GitHub Issue or related Pull Request, if one exists
n/a

## Description of change
Adds an overlay window widget for controlling OBS over WebSocket.

Add new lines to the FPS widget that shows recording / streaming timers.

Show notifications for major state changes (stream started/stopped,
recording started/paused/resumed/stopped)

## Testing
This commit is contained in:
bicarus
2026-06-24 02:44:36 -07:00
committed by GitHub
parent 5c69e295ab
commit 451cbec0b9
19 changed files with 1680 additions and 25 deletions
+7
View File
@@ -50,6 +50,7 @@
#include "windows/sdvx_sub.h"
#include "windows/keypad.h"
#include "windows/log.h"
#include "windows/obs.h"
#include "windows/patch_manager.h"
#include "windows/exitprompt.cpp"
@@ -416,6 +417,12 @@ void overlay::SpiceOverlay::init() {
}
this->window_add(new overlay::windows::PatchManager(this));
// OBS control spawns a background WebSocket worker; skip it in the standalone
// configurator, where there is no running game to stream/record
if (!cfg::CONFIGURATOR_STANDALONE) {
this->window_add(window_obs = new overlay::windows::OBSControl(this));
}
{
window_keypad1 = new overlay::windows::Keypad(this, 0);
this->window_add(window_keypad1);