Commit Graph

424 Commits

Author SHA1 Message Date
e89c0c2b05 Base: More code cleanup and fixes 2021-09-04 10:47:51 -07:00
7e1e1bc33c Base: Large plugin refactor
- Merge WebSocketProtocol into WebSocketServer
  - Having them separated was not doing anything productive
- Request: Move SessionPtr to RequestHandler
  - Less copying to do for batch requests
- Fully modularize EventHandler
  - Make BroadcastEvent a stored callback that WebSocketServer sets
- Return early on high volume events to avoid unnecessary compute
  - These events will only generate a json object when it is actually
needed
2021-09-04 10:04:00 -07:00
537595658d Requests: Add GetSceneItemTransform 2021-09-03 15:59:09 -07:00
c43d829845 Events: Complete SceneItemTransformChanged 2021-09-03 15:58:50 -07:00
3d2fb65357 Utils: Add GetSceneItemTransform 2021-09-03 15:58:34 -07:00
96dcc49adb Requests: More requests and code cleanup
(plus very slight performance improvement)
2021-09-03 12:52:50 -07:00
25b3bd44ba RequestHandler/RPC: Improve code efficiency and add optionals 2021-09-03 12:52:15 -07:00
bcdb8ee352 Events: Fix SceneItemListReindexed event name 2021-09-03 08:59:09 -07:00
333737f400 Requests: Additions and code cleanup 2021-09-02 19:29:13 -07:00
82d8a3d7ce Utils: Add stuff to Obs 2021-09-02 19:28:55 -07:00
d7f96b6dea Revert "Request: Minor code cleanup"
This reverts commit c16669c7b0.
2021-09-02 13:33:20 -07:00
c16669c7b0 Request: Minor code cleanup 2021-09-02 13:25:17 -07:00
0269209d59 Requests: Use OBS naming for monitorType enum 2021-09-02 11:24:48 -07:00
9a8587d6df Requests: Check for last scene in RemoveScene 2021-09-01 10:43:36 -07:00
8a45560297 Utils: Add GetSceneCount() 2021-09-01 10:43:24 -07:00
fb0656c31e RequestHandler: Simplify request statuses 2021-09-01 10:30:40 -07:00
26bef074ac EventHandler: Add (disabled) InputAudioMonitorTypeChanged event 2021-08-31 06:39:09 -07:00
e18aaff661 RequestStatus: Add new statuses to replace old soon 2021-08-31 06:38:55 -07:00
4271730dc2 Requests: Add more requests 2021-08-30 13:55:22 -07:00
b86107a699 Base: Add OBSPropertiesAutoDestroy 2021-08-30 13:55:05 -07:00
a40160e305 WebSocketServer: Use Sec-WebSocket-Protocol for json/msgpack 2021-08-30 09:59:59 -07:00
b58f6e8366 WebSocketServer: Remove unnecessary string usage 2021-08-30 04:46:59 -07:00
1ecf2a4fdb CMakeLists: Allow specifying version suffix string 2021-08-30 02:50:02 -07:00
292b2b0d3b Base: Remove generated plugin macros file 2021-08-30 02:49:43 -07:00
f37edbd71c EventHandler: Include required event intent in emit 2021-08-30 01:39:46 -07:00
78f9c93739 Requests: Fix global realm storage on persistent data req's 2021-08-30 01:32:22 -07:00
96c5818395 ConnectInfo: Update QR code format 2021-08-30 01:11:29 -07:00
a37cfb3e5b WebSocketProtocol: Fix Identified OpCode responses 2021-08-28 07:10:03 -07:00
03e32c8b5e Base: Major protocol refactor
As discussed in the #development channel in discord
- Switch from using message types to integer op codes
- Consolidate op-specific keys into `d` sub-object
- Shorten low-level payload keys from `messageType` to `op`, add `d`

Other changes:
- The WebSocketCloseCode enum has been refactored. It's best to just
treat it like it's new
- Some performance benefits came along the way. Nothing gamechanging,
but notable
- Various bug fixes discovered while refactoring
2021-08-28 05:02:24 -07:00
91fadf505f Base: Overwrite bad define 2021-08-27 06:24:30 -07:00
ade9653ed6 Base: Only include required util namespaces 2021-08-27 04:34:06 -07:00
0547e1f2da Base: Lots of changes 2021-08-27 04:19:42 -07:00
16697fb65e Requests: Add more requests 2021-08-27 02:33:33 -07:00
fc08828773 Base: Update QMainWindow cast 2021-08-27 01:20:13 -07:00
251e3a28c1 Requests: Reorder some requests 2021-08-26 23:29:55 -07:00
bd289ae751 Requests: Rename slotData to slotValue to align with other profile parameters 2021-08-26 23:11:24 -07:00
7c5c0f42da Requests: Merge global and profile persistent data requests
The code was largely shared, so it made more sense to just merge the
requests and create realms.
2021-08-26 23:06:23 -07:00
8185580cff RequestStatus: Add DataRealmNotFound 2021-08-26 23:02:52 -07:00
64df33152a Utils: Switch to obs_enum_scenes() for GetSceneList
More threadsafe than `obs_frontend_get_scenes()`, not that either
are in any way threadsafe.
2021-08-26 22:46:53 -07:00
4d8b80a5a7 Utils: Fix missing header file newlines 2021-08-26 20:33:06 -07:00
ea713ea808 Requests: Add persistent data requests 2021-08-26 20:32:00 -07:00
8e539d6cdb Utils: Add file access utils for json and text 2021-08-26 20:11:42 -07:00
1fc60aba92 SettingsDialog: Fix Generate Password button enable logic
On OBS load, the Generate Password button would be enabled regardless
of if authentication was enabled, or if the password was overridden.
2021-08-26 19:07:26 -07:00
43a889c1d4 Utils: Refactor into dedicated components 2021-08-26 19:00:48 -07:00
306844e42d Utils: Add helper to get current profile file path 2021-08-26 18:41:53 -07:00
eb0743f683 Requests: Fix GetProfileParameter on Windows
If either return value was not defined in the profile config,
it would cause OBS to crash on Windows due to assigning a
nullptr to an std::string.
2021-08-26 17:56:13 -07:00
87e2972a2d WebSocketProtocol: Correct a log message 2021-08-26 17:49:15 -07:00
c402b4232c Merge branch 'master' of https://github.com/Palakis/obs-websocket 2021-07-24 20:48:58 -07:00
7f7651b405 Utils: Attempt fix output timecode string 2021-07-24 20:48:44 -07:00
fb1580b44e Requests: Add extra logging to GetProfileParameter 2021-07-24 03:04:53 -07:00