Commit Graph

32 Commits

Author SHA1 Message Date
tt2468
d48ddef031 EventHandler: Implement InputVolumeMeters
This is probably one of the most requested features for obs-websocket.
This currently works by firing an event to all explicit subscribers
with an array of all active audio sources every **60 milliseconds.**

The `inputLevelsMul` field follows this data format:

Base: [Channel, Channel]
Channel: [magnitude (mul), peak (mul), input_peak (mul)]

           *Not Muted*         *Muted*
Example: [[0.3, 0.5, 0.9], [0.0, 0.0, 0.0]]

(input_peak is the actual peak value, before volume adjustment.)

You may notice that the values are only in mul. This is because we are
trying to cut down on bandwidth. dB values can be calculated using this
formula:

`dB = 20.0 * log10(mul)`
2021-11-22 03:37:56 -08:00
tt2468
32a9e12f62 Base: Logging improvements
Use blog_debug() in place of almost all debug logging messages, and
change some log levels to be less verbose.
2021-11-20 01:50:49 -08:00
tt2468
99cbaaf34c Base: Implement ObsWebSocketApi + cleanup
- Implements a WIP ObsWebSocketApi, for obs-websocket-api.h. Events are
finished, but requests are not.
- Some logging improvements
- A bit of code cleanup around the plugin
2021-11-20 01:26:50 -08:00
tt2468
bd6c663775 Base: Add copyright header to source 2021-11-19 17:32:22 -08:00
Dominik Nakamura
6cb8eef96d
Events: Add events for record pause and resume 2021-11-19 15:24:00 +09:00
tt2468
c60d09246c Revert "Events: Re-enable *Changing events"
This reverts commit 32be21886c.
2021-11-17 03:16:42 -08:00
tt2468
32be21886c Events: Re-enable *Changing events 2021-11-17 00:37:50 -08:00
tt2468
d5a702b0e8 Events: Disable *Changing events
CI fails right now because they are not yet included in an OBS release.
2021-11-17 00:36:53 -08:00
tt2468
152faa5fe2 Events: Add profile/scene collection change events 2021-11-12 15:20:01 -08:00
tt2468
42c78f1831 Events: Prepare to add a few new OBS events
Pending PR merge and version release
2021-10-06 00:44:42 -07:00
tt2468
f0b207d021 Base: Add variable support to request batches + refactor
- Adds variables to execution types SERIAL_REALTIME and SERIAL_FRAME
- Pass by reference where copy is unnecessary
- Start WebSocket server after OBS finishes loading instead of on
plugin load
2021-10-01 17:34:09 -07:00
tt2468
e89c0c2b05 Base: More code cleanup and fixes 2021-09-04 10:47:51 -07:00
tt2468
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
tt2468
26bef074ac EventHandler: Add (disabled) InputAudioMonitorTypeChanged event 2021-08-31 06:39:09 -07:00
tt2468
4d271da541 Base: Code cleanup and add some requests 2021-07-22 03:24:53 -07:00
tt2468
aaadf4d2ff EventHandler: Remove unnecessary calldata helper 2021-06-13 04:50:04 -07:00
tt2468
33ba2d2415 EventHandler: Remove old logging
oops
2021-06-13 04:02:17 -07:00
tt2468
38c47bc76f EventHandler: Rename SceneListReindexed to SceneListChanged 2021-06-13 02:11:14 -07:00
tt2468
129ee12542 EventHandler: More scene item events 2021-06-13 02:10:18 -07:00
tt2468
7716b30c27 EventHandler: Minor refactor and some event additions 2021-06-13 00:46:42 -07:00
tt2468
f608423045 EventHandler: Remove unnecessary CPU usage info 2021-06-12 22:59:47 -07:00
tt2468
ca26f679c8 EventHandler: Add ReplayBufferSaved 2021-06-12 20:34:24 -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
45d62e5ce0 EventHandler: General, Config, Scenes, Inputs 2021-05-14 01:13:27 -07:00
tt2468
ab12d5f39f EventHandler: Add some events 2021-05-13 19:11:19 -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
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