mirror of
https://github.com/onyx-and-iris/obsws-python.git
synced 2024-11-22 21:00:53 +00:00
c8f2b6419d
expand events example
40 lines
1.0 KiB
Python
40 lines
1.0 KiB
Python
import obsstudio_sdk as obs
|
|
|
|
|
|
class Observer:
|
|
def __init__(self, cl):
|
|
self._cl = cl
|
|
self._cl.callback.register(
|
|
[
|
|
self.on_current_program_scene_changed,
|
|
self.on_scene_created,
|
|
self.on_input_mute_state_changed,
|
|
self.on_exit_started,
|
|
]
|
|
)
|
|
print(f"Registered events: {self._cl.callback.get()}")
|
|
|
|
def on_current_program_scene_changed(self, data):
|
|
print(f"Switched to scene {data['sceneName']}")
|
|
|
|
def on_scene_created(self, event, data):
|
|
"""A new scene has been created."""
|
|
print(f"{event}: {data}")
|
|
|
|
def on_input_mute_state_changed(self, event, data):
|
|
"""An input's mute state has changed."""
|
|
print(f"{event}: {data}")
|
|
|
|
def on_exit_started(self):
|
|
print(f"OBS closing!")
|
|
self._cl.unsubscribe()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
cl = obs.EventsClient()
|
|
observer = Observer(cl)
|
|
|
|
while cmd := input("<Enter> to exit\n"):
|
|
if not cmd:
|
|
break
|