Commit Graph

674 Commits

Author SHA1 Message Date
Github Actions
258bfc5689 docs(ci): Update generated docs - 35e3e27 [skip ci] 2022-07-12 17:11:15 +00:00
tt2468
35e3e278bf
requesthandler: Fix GetGroupSceneItemList name in docs 2022-07-12 10:10:53 -07:00
tt2468
5341cb5951
README: Add Twitchat 2022-07-03 12:10:24 -07:00
tt2468
00504a0d52
README: Add Touch Portal to supported software 2022-07-03 11:29:06 -07:00
Github Actions
ab743c2ee6 docs(ci): Update generated docs - 1dd57f6 [skip ci] 2022-07-02 17:33:05 +00:00
Brendan Allan
1dd57f6140 requesthandler: Add Outputs requests
Co-authored-by: Ruggero Tomaselli <ruggerotomaselli@gmail.com>
Co-authored-by: tt2468 <tt2468@irltoolkit.com>
2022-07-02 10:32:48 -07:00
Github Actions
a22a7cf993 docs(ci): Update generated docs - d9026c1 [skip ci] 2022-07-02 15:30:44 +00:00
tt2468
d9026c1791 docs: Fix lint formatting error 2022-07-02 08:30:23 -07:00
tt2468
2524dc47cf requesthandler: Fix oopsies in OpenVideoMixProjector 2022-07-02 08:27:18 -07:00
Github Actions
798eebf638 docs(ci): Update generated docs - 9cdfa41 [skip ci] 2022-07-02 15:26:00 +00:00
tt2468
9cdfa41113 requesthandler: Add projector creation requests
I didn't think I'd be able to make remotely usable requests using OBS'
existing projector API, but I'm actually pretty happy with how it
turned out.

Closes #929

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2022-07-02 08:25:38 -07:00
Github Actions
aab925c0ed docs(ci): Update generated docs - be1b13f [skip ci] 2022-07-02 14:11:39 +00:00
tt2468
be1b13f15d requesthandler: Echo request details in response of CallVendorRequest
I generally don't like to echo data provided to obs-websocket in
requests, but since we do that for the request type in base requests,
this particular case seems fair.

Closes #919
2022-07-02 07:09:31 -07:00
Github Actions
6122fe6ea7 docs(ci): Update generated docs - 4201664 [skip ci] 2022-07-02 14:04:41 +00:00
tt2468
4201664c7b requesthandler, eventhandler: Add outputPath fields when record stops
Closes #934
2022-07-02 07:02:44 -07:00
tt2468
3deea2b5da requesthandler: Rework and fix a few data consistency checks
Some stuff led to possible crashes, other stuff simply didn't work.
Should be much better now.

Closes #942
2022-06-08 01:32:27 -07:00
Github Actions
c3ee52c4fe docs(ci): Update generated docs - f4b72b6 [skip ci] 2022-06-08 08:05:27 +00:00
tt2468
f4b72b69ce utils: Clean up a few iteration functions 2022-06-08 01:04:43 -07:00
tt2468
5b8fd096d5 clang-format: Indent namespaces 2022-06-08 00:37:04 -07:00
tt2468
22fee0312d utils: Move from explicit enum converters to nlohmann macros 2022-06-08 00:33:41 -07:00
tt2468
17292520f2 utils: A few casting nitpicks 2022-06-07 23:36:47 -07:00
tt2468
711746524c Revert "Config, websocketserver: Add feature to bind to loopback (default)"
This reverts commit 1da0214201.
2022-06-07 23:07:09 -07:00
tt2468
e04bca0993 Revert "forms: Add configuration to enable external access"
This reverts commit 1cd12c1023.
2022-06-07 22:34:40 -07:00
tt2468
c8d0ed2138 docs: Fix EventSubscription::All subscribes 2022-06-07 21:47:54 -07:00
tt2468
6deadc25ac base: Change column limit to 132
A column limit of 80 is very restrictive and code readability was
suffering. A limit of 132 is more realistic for this plugin.
2022-06-07 21:36:51 -07:00
tt2468
f73e78582b base: Format code 2022-05-13 21:19:29 -07:00
tt2468
7b238793d0 cmakelists: Various fixes 2022-05-13 20:40:01 -07:00
tt2468
7a09f38a64 base: Remove actions building and refactor CMake for submodule 2022-05-13 20:23:03 -07:00
tt2468
27d21975f0 websocketapi: Fix build on Windows 64 bit 2022-05-13 19:06:03 -07:00
tt2468
60e272e6f0 base: Update a few files with updated info 2022-05-13 18:58:45 -07:00
tt2468
dd4971b1cc lib: Fix compilation on 32 bit Windows 2022-05-13 18:48:55 -07:00
tt2468
749ecc976b base, lib: Update plugin API example and tests
Updates the example and tests for the plugin API to include the latest
additions to the plugin API.
2022-05-10 23:04:21 -07:00
tt2468
d85c86e3a0 base, lib: Add ability to call obs-websocket requests via plugin API
**Increments Plugin API Version**

Adds functions:
- `obs_websocket_get_api_version()` - Gets the current obs-websocket
plugin API version
- `obs_websocket_call_request()` - Calls an obs-websocket request via
the plugin API

Adds structs:
- `obs_websocket_request_response`
2022-05-10 23:04:04 -07:00
tt2468
3303acfcca requesthandler: Don't require session for Request Handler
Required to call requests in situations where a session is not
relevant.
2022-05-10 22:48:57 -07:00
tt2468
1cd12c1023 forms: Add configuration to enable external access
After discussion in the Discord server, and some internal discussion,
this was deemed a reasonable patch for various security concerns. This
basically controls whether obs-websocket binds to 127.0.0.1 or 0.0.0.0.

I decided to have obs-websocket bind to 127.0.0.1 by default, since
most users appear to be using obs-websocket on the same machines as
their client software. This will be changed if it poses significant
support-related issues.

Further security solutions have been discussed, but are either a heavy
amount of work, or significantly impact client applications' connect
flows.

One idea that I should mention is like a cookie system, where:
- On first connect, obs-websocket asks the user to approve the
connection.
- After authentication, obs-websocket gives the client a token in the
`Identified` message, which the client stores.
- On future connects, the client uses this token, along with the
password, to authenticate without needing user confirmation.

This system will likely be implemented in a future version of
obs-websocket.

Closes #907
2022-04-26 03:24:26 -07:00
tt2468
1da0214201 Config, websocketserver: Add feature to bind to loopback (default)
Binds to localhost or 127.0.0.1 by default, since most users don't have
to access obs-websocket externally.
2022-04-25 21:31:52 -07:00
tt2468
226c81ce78 utils/Platform: Ignore virtualbox interface IP
Somewhat common on systems, so we'll just manually ignore it.

Closes #928
2022-04-25 20:38:26 -07:00
Github Actions
ca34981aae docs(ci): Update generated docs - 828dbde [skip ci] 2022-04-26 03:33:37 +00:00
tt2468
828dbde75c
Merge pull request #879 from dnaka91/docs-formatting
docs: Improve generated docs formatting
2022-04-25 20:33:19 -07:00
tt2468
ac102de1e8
Merge branch 'master' into docs-formatting 2022-04-25 20:30:25 -07:00
Github Actions
20e654186c docs(ci): Update generated docs - f42cd21 [skip ci] 2022-04-26 03:25:55 +00:00
tt2468
f42cd2177a
Merge pull request #889 from csunday95/feature-csunday95-get-screen-info
Requests: Add GetMonitorList
2022-04-25 20:25:37 -07:00
Christopher Sund
2479501879 Requests: Add GetMonitorList
Adds a new request `GetMonitorList` that returns a json Array of
objects containing data about connected monitors. See #868
2022-04-25 20:20:45 -07:00
tt2468
371c414281
Merge pull request #924 from ChrisTallon/ipv4only
Server: Add --websocket_ipv4_only switch
2022-04-25 19:53:42 -07:00
Chris Tallon
3a5f0d89b9 Server: Add --websocket_ipv4_only switch
Socket listening default changed to IPv4 and IPv6,
overridable to IPv4 only by using the command line switch.
2022-04-25 19:53:15 -07:00
Github Actions
9f68e0166b docs(ci): Update generated docs - 8b85658 [skip ci] 2022-04-26 02:46:24 +00:00
tt2468
8b85658c61 requesthandler: Add platform info to GetVersion
It can be very useful to know which platform you're connecting to in
the case of things like text input modification, where Windows uses
GDI while unix uses FT2.
2022-04-25 19:43:40 -07:00
tt2468
a9c9363d4a eventhandler: Fix group remove signals
Like inputs, if a group is ungrouped, the group itself is not removed.
What actually happens is the removal of the last scene item triggers
a destroy, just like with inputs.

This modifies the old signal selection in favor of falling back
to the destroy signal if an object is not explicitly removed.
2022-04-16 19:34:47 -07:00
Github Actions
95df4782f3 docs(ci): Update generated docs - 9d89937 [skip ci] 2022-04-13 09:18:28 +00:00
tt2468
9d899376a5 requesthandler: Fix docs for SetSourceFilterEnabled 2022-04-13 02:17:27 -07:00