mirror of
https://github.com/onyx-and-iris/obsws-python.git
synced 2024-11-22 21:00:53 +00:00
2a3a86c277
remove getter, setter for send. add persistend data unit test add hotkey example default event sub now 0. explicitly define subs in event class. now subs can be set as kwarg
42 lines
1.2 KiB
Python
42 lines
1.2 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):
|
|
"""The current program scene has changed."""
|
|
print(f"Switched to scene {data['sceneName']}")
|
|
|
|
def on_scene_created(self, data):
|
|
"""A new scene has been created."""
|
|
print(f"scene {data['sceneName']} has been created")
|
|
|
|
def on_input_mute_state_changed(self, data):
|
|
"""An input's mute state has changed."""
|
|
print(f"{data['inputName']} mute toggled")
|
|
|
|
def on_exit_started(self, data):
|
|
"""OBS has begun the shutdown process."""
|
|
print(f"OBS closing!")
|
|
self._cl.unsubscribe()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
cl = obs.EventClient()
|
|
observer = Observer(cl)
|
|
|
|
while cmd := input("<Enter> to exit\n"):
|
|
if not cmd:
|
|
break
|