no longer sending event name to callback

update tests accordingly
This commit is contained in:
onyx-and-iris 2022-07-26 21:47:41 +01:00
parent 5532ecef03
commit 362ec22257
3 changed files with 12 additions and 13 deletions

View File

@ -15,17 +15,19 @@ class Observer:
print(f"Registered events: {self._cl.callback.get()}") print(f"Registered events: {self._cl.callback.get()}")
def on_current_program_scene_changed(self, data): def on_current_program_scene_changed(self, data):
"""The current program scene has changed."""
print(f"Switched to scene {data['sceneName']}") print(f"Switched to scene {data['sceneName']}")
def on_scene_created(self, event, data): def on_scene_created(self, data):
"""A new scene has been created.""" """A new scene has been created."""
print(f"{event}: {data}") print(f"scene {data['sceneName']} has been created")
def on_input_mute_state_changed(self, event, data): def on_input_mute_state_changed(self, data):
"""An input's mute state has changed.""" """An input's mute state has changed."""
print(f"{event}: {data}") print(f"{data['inputName']} mute toggled")
def on_exit_started(self): def on_exit_started(self, data):
"""OBS has begun the shutdown process."""
print(f"OBS closing!") print(f"OBS closing!")
self._cl.unsubscribe() self._cl.unsubscribe()

View File

@ -4,12 +4,12 @@ import obsstudio_sdk as obs
def main(): def main():
res = cl.GetSceneList() resp = cl.get_scene_list()
scenes = reversed(tuple(d["sceneName"] for d in res["d"]["responseData"]["scenes"])) scenes = reversed(tuple(di["sceneName"] for di in resp["scenes"]))
for sc in scenes: for sc in scenes:
print(f"Switching to scene {sc}") print(f"Switching to scene {sc}")
cl.SetCurrentProgramScene(sc) cl.set_current_program_scene(sc)
time.sleep(0.5) time.sleep(0.5)

View File

@ -23,15 +23,12 @@ class Callback:
return [self.to_camel_case(fn.__name__) for fn in self._callbacks] return [self.to_camel_case(fn.__name__) for fn in self._callbacks]
def trigger(self, event, data=None): def trigger(self, event, data):
"""trigger callback on update""" """trigger callback on update"""
for fn in self._callbacks: for fn in self._callbacks:
if fn.__name__ == self.to_snake_case(event): if fn.__name__ == self.to_snake_case(event):
if "eventData" in data: fn(data.get("eventData"))
fn(event, data["eventData"])
else:
fn(event)
def register(self, fns: Union[Iterable, Callable]): def register(self, fns: Union[Iterable, Callable]):
"""registers callback functions""" """registers callback functions"""