tt2468
3cc612cb1c
SettingsDialog: Redesign settings sections
2021-06-05 21:20:11 -07:00
tt2468
19375921d3
EventHandler: Add media input events
2021-05-31 21:44:03 -07:00
tt2468
6c03b86514
EventHandler: Add Outputs events and other files
2021-05-31 18:51:56 -07:00
tt2468
9077ac911d
EventHandler: Add some transition stuff
...
Transitions in OBS are implemented badly.
Not sure what will reasonably be possible with them.
I'll probably save implementing them for last
2021-05-14 03:59:00 -07:00
tt2468
becf604fc3
EventHandler: Add missing input event fields
2021-05-14 01:39:06 -07:00
tt2468
e4fbebb3b4
Utils: Always return a JSON object
2021-05-14 01:38:51 -07:00
tt2468
45d62e5ce0
EventHandler: General, Config, Scenes, Inputs
2021-05-14 01:13:27 -07:00
tt2468
c8eac893f2
Utils: Add more OBS utils
2021-05-14 01:13:09 -07:00
tt2468
ab12d5f39f
EventHandler: Add some events
2021-05-13 19:11:19 -07:00
tt2468
f0d68f3eec
WebSocketProtocol: Remove availableEvents
from Hello
...
Not reasonably possible with the current structure of the `EventHandler`
2021-05-13 17:48:10 -07:00
tt2468
680b5c470e
RequestHander: Add GetRequestList()
2021-05-13 17:46:05 -07:00
tt2468
11d28d17f1
EventHandler: Add EventSubscriptions enum
2021-05-13 17:34:57 -07:00
tt2468
4d6901c075
WebSocketServer: Add RPC version support to events
2021-05-10 22:55:48 -07:00
tt2468
921bc81a7b
EventHandler: More stuff
2021-05-10 22:46:53 -07:00
tt2468
8b30d2e77e
EventHandler: Add some calldata helpers
2021-05-10 18:34:27 -07:00
tt2468
902c9dfdc5
WebSocketServer: Don't try to send events if the server is not listening
2021-05-10 18:26:28 -07:00
tt2468
23b6ce607c
Utils: Add some Obs helpers
2021-05-10 18:25:15 -07:00
tt2468
89046ccb1a
EventHandler: Add handling of all frontent events we care about
2021-05-10 17:34:40 -07:00
tt2468
5157134b02
EventHandler: Add more code
2021-05-10 16:54:48 -07:00
tt2468
c0accd9cde
base: Add EventHandler files
2021-05-10 15:48:41 -07:00
tt2468
ee751edf54
SettingsDialog: Mild refactor and add Connect Info dialog
...
Among lots of stuff:
- Generate a random password on first load
- Add `ConnectInfo` dialog including QR code display
- Add `Generate Password` button to generate a new random
password
- Delete `Copy Password to Clipboard` button
- Delete `GetConnectString` or whatever from WebSocketServer
(reimplemented the functionality directly into ConnectInfo)
- Added `GeneratePassword()` to Utils
Todo: Show warning when users specify their own passwords
2021-05-08 04:29:03 -07:00
tt2468
600505b60a
Utils: Add Obs utils namespace
2021-05-08 00:54:35 -07:00
tt2468
8a18d3603c
RequestStatus: Add a few items
2021-05-04 15:50:38 -07:00
tt2468
160ef4d771
RequestHandler: Add RequestBatch logic
2021-05-03 18:44:13 -07:00
tt2468
2aba810ce1
RequestHandler: Finish checks system and first request
2021-05-03 16:55:30 -07:00
tt2468
c2b717cabf
RequestStatus: Put into namespace
...
Apparently this is supposed to help?
2021-05-03 13:43:59 -07:00
tt2468
807a1501b7
base: Refactor request stuff and finish more logic
2021-05-03 13:31:22 -07:00
tt2468
687f53bc6d
plugin-macros: Include base.h directly (to avoid missing blog())
2021-05-03 10:34:36 -07:00
tt2468
36af7f6f58
base: Lots of stuff, including RequestHandler progress
2021-05-02 19:48:44 -07:00
tt2468
04f7b33755
SettingsDialog: Add Identified
column to session table
2021-04-30 11:24:09 -07:00
tt2468
997dc40d6c
WebSocketProtocol: Fix compare (oops)
2021-04-30 10:46:53 -07:00
tt2468
7f503d846b
WebSocketProtocol: Fix vector initialization
2021-04-30 10:42:53 -07:00
tt2468
51e7fdae9e
SettingsDialog: Add debug setting hover text
...
Debug mode requires a restart of the websocket server by design.
However, to avoid interrupting connections, the websocket server is
not automatically restarted when the setting is changed
2021-04-30 10:27:41 -07:00
tt2468
df8ef87dc5
WebSocketServer: Add parts for availableRequests/availableEvents
2021-04-30 10:13:42 -07:00
tt2468
45367a7355
WebSocketProtocol: Session parameter stuff
2021-04-30 10:03:38 -07:00
tt2468
ffaac93ba6
WebSocketSession: Add mutex for operations which change session parameters
2021-04-30 08:56:08 -07:00
tt2468
4be9b995fb
base: Use shared_ptr instead of explicit ref counts
...
Took a night of sleep but I realized how I could solve the
concurrency issues in a good way. Uses shared_ptr, where the map
always accounts for one reference to a session.
2021-04-30 08:45:34 -07:00
tt2468
32758198ab
WebSocketSession: Add refcount
...
Working towards fixing concurrency issues. Todo:
- Wait for refcount to be 0 before deleting object
- Use .at() instead of operator[] to prevent recreating deleted
sessions
- There was a third thing. Dont remember what it was
2021-04-29 22:11:24 -07:00
tt2468
e151a9a8db
base: Use Unix EOL
2021-04-29 21:13:34 -07:00
tt2468
904e866a07
WebSocketProtocol: Delete left over log message
2021-04-29 21:10:19 -07:00
tt2468
09bfea0628
WebSocketProtocol: Add Identify logic (not tested well)
2021-04-29 20:37:28 -07:00
tt2468
f57d03e4bb
WebSocketProtocol: Rename Process to ProcessMessage
2021-04-29 19:14:23 -07:00
tt2468
e0183d2f85
WebSocketServer: This *should* complete the functionality of WebSocketServer.
2021-04-29 19:03:32 -07:00
tt2468
ad8b13606f
Base: Add WebSocketProtocol
...
Will be used to handle incoming websocket messages. Initially I was
going to handle messages within WebSocketServer, but the file is
starting to get very large and so it's only fair to split it up.
2021-04-29 10:52:29 -07:00
tt2468
44c5683ec4
WebSocketServer: Fix some bugs
2021-04-29 10:11:19 -07:00
tt2468
7c80a5d050
WebSocketServer: Add incoming and outgoing message logging and incrementing
2021-04-29 09:56:21 -07:00
tt2468
190d42fdf2
WebSocketServer: Initial onMessage handling
2021-04-29 09:42:22 -07:00
tt2468
724a63f1c8
WebSocketServer: Catch and ignore errors in Hello
sending.
2021-04-29 09:14:35 -07:00
tt2468
561ba907d4
WebSocketServer: Ignore send errors
2021-04-29 09:09:20 -07:00
tt2468
ba710efe09
WebSocketServer: Include password in changed GetConnectString()
...
New format is `obswebsocket|ip:port|password`
2021-04-29 09:06:12 -07:00
tt2468
4028d42931
WebSocketServer: Only encode event once and when it's required
2021-04-29 08:52:40 -07:00
tt2468
d8e84321b1
WebSocketServer: Clarify logging
2021-04-29 08:34:50 -07:00
tt2468
1cee256cb3
WebSocketServer: Store debug setting
2021-04-29 08:24:27 -07:00
tt2468
fa259b43a9
WebSocketServer: Finish BroadcastEvent()
2021-04-28 22:52:19 -07:00
tt2468
b43fc4fec6
WebSocketServer: Make QObject again
2021-04-28 22:13:02 -07:00
tt2468
0370b5882d
WebSocketServer: Finish GetConnectUrl()
2021-04-28 22:07:52 -07:00
tt2468
d1d5dd74ea
WebSocketServer: Send hello in onOpen
2021-04-28 22:03:23 -07:00
tt2468
b0a594e509
WebSocketCloseCode: Add InvalidContentType
2021-04-28 20:54:31 -07:00
tt2468
c73f6608b9
Config: Add command line parameters to override port and password
2021-04-28 15:59:29 -07:00
tt2468
1dcf6460f1
Utils: Add Platform helpers
2021-04-28 14:24:05 -07:00
tt2468
af46271b27
WebSocketServer: Add some onOpen and onClose logic, make websocketpp logging mirror debug setting
2021-04-28 13:26:22 -07:00
tt2468
0be9174bb1
WebSocketServer: Don't call stop() on the server
...
For some reason I thought I was supposed to call it /shrug
2021-04-28 12:36:15 -07:00
tt2468
af7a539e84
Only stop server if its running
2021-04-28 12:20:56 -07:00
tt2468
c91b924f0e
SettingsDialog: Server port had no logic for some reason. Also restart server if settings are changed
2021-04-28 12:18:46 -07:00
tt2468
a70e18a2bf
WebSocketServer: Add some error handling
2021-04-28 12:09:12 -07:00
tt2468
fb01a28623
SettingsDialog: Add timer to constantly update session table
2021-04-28 11:56:41 -07:00
tt2468
aa241ecc9e
base: Make sure config is saved on exit
2021-04-28 11:45:34 -07:00
tt2468
b53b40d9c8
base: Improve logging
2021-04-28 11:43:39 -07:00
tt2468
e2d837958f
WebSocketServer: Fix shutdown order
2021-04-28 11:40:07 -07:00
tt2468
5348c80aa8
WebSocketServer: Add GetWebSocketSessions() logic
2021-04-28 11:28:07 -07:00
tt2468
3d43bd525b
SettingsDialog: Fix datetime shit
2021-04-28 11:27:11 -07:00
tt2468
53e773b1a2
WebSocketSession: Add remoteAddress string
2021-04-28 11:23:12 -07:00
tt2468
11913dac76
WebSocketServer: Rename sessionDuration
to connectedAt
2021-04-28 11:14:00 -07:00
tt2468
0af2724ee9
WebSocketSession: Add connectedAt
2021-04-28 11:12:53 -07:00
tt2468
1245958031
WebSocketSession: Add encoding
2021-04-28 10:41:51 -07:00
tt2468
948750da6a
WebSocketServer: Start and stop
2021-04-28 10:27:32 -07:00
tt2468
0f7683af4e
WebSocketSession: Add challenge var
2021-04-28 08:52:23 -07:00
tt2468
98bc18cedd
utils: Create Utils namespace and add Crypto utils
2021-04-27 17:55:23 -07:00
tt2468
98ec9d01ac
base: Dumb #include redefinitions
2021-04-27 16:45:44 -07:00
tt2468
d9ee288cf1
base: cmake is fucking retarded
2021-04-27 16:33:47 -07:00
tt2468
5d170d6bb3
WebSocketServer: Include WebSocketCloseCode
2021-04-27 15:29:09 -07:00
tt2468
08fda22d0f
base: Include RPC version on load
2021-04-27 15:26:23 -07:00
tt2468
b61cf82e84
base: Shutdown websocket server on unload
2021-04-27 15:25:11 -07:00
tt2468
20de7409d8
base: Reset websocket server on unload
2021-04-27 15:21:30 -07:00
tt2468
9577382780
SettingsDialog: Fix log levels
2021-04-27 15:17:44 -07:00
tt2468
205fb75555
SettingsDialog: Add websocket session list logic
2021-04-27 15:16:53 -07:00
tt2468
8067cfb686
Base: Tons more shit
2021-04-27 14:52:48 -07:00
tt2468
fb22b31612
base: Add WebSocketSession
2021-04-27 14:52:04 -07:00
tt2468
fb8e520d10
utils: Create JsonUtils
...
Utility functions for converting from obs_data_t to json and back
2021-04-27 12:50:42 -07:00
tt2468
107d3cce09
deps: Add nlohmann json
...
I decided to go with nlohmann::json because it supports both JSON and
msgpack. I'm likely going to have to write some conversion utils to
convert between obs_data_t and json, but the advantages of what
nlohmann::json brings to the table are just too attractive.
2021-04-27 09:46:00 -07:00
tt2468
a0162caad1
base: Add base RequestHandler and rpc files
2021-04-27 09:29:51 -07:00
tt2468
f0dfe72aca
base: Add starting WebSocketServer files
2021-04-27 09:18:06 -07:00
tt2468
927806a432
SettingsDialog: Add translations to Session Table
2021-04-27 08:56:49 -07:00
tt2468
aa0256611b
SettingsDialog: Enable grid layout and scaling
2021-04-27 08:46:34 -07:00
tt2468
41731f9d57
SettingsDialog: Add UI logic and start session table
2021-04-27 08:24:51 -07:00
tt2468
105229336e
Config: Rename config section name
2021-04-26 20:55:50 -07:00
tt2468
6f2f207adc
SettingsDialog: Add configs
2021-04-26 20:55:18 -07:00
tt2468
a8ca912044
generic: Add SettingsDialog and Config
2021-04-26 19:59:50 -07:00
tt2468
dd597f1ad6
everything: Massive amount of changes who knows
2021-04-26 08:46:11 -07:00
tt2468
f3d5cfbd18
Initial commit for attempted rewrite
2021-03-08 03:56:43 -08:00