xair-api-python/examples/xair-obs/__main__.py

40 lines
1.2 KiB
Python
Raw Permalink Normal View History

2022-09-20 15:12:50 +01:00
import obsws_python as obs
import xair_api
class Observer:
def __init__(self, mixer):
2022-09-20 15:12:50 +01:00
self._mixer = mixer
self._cl = obs.EventClient()
2022-09-20 15:12:50 +01:00
self._cl.callback.register(self.on_current_program_scene_changed)
def on_current_program_scene_changed(self, data):
scene = data.scene_name
print(f"Switched to scene {scene}")
match scene:
case "START":
print("Toggling strip 01 on")
self._mixer.strip[0].mix.on = not self._mixer.strip[0].mix.on
case "BRB":
print("Setting strip 08 fader")
self._mixer.strip[7].mix.fader = -12.8
case "END":
print("Settings strip 02 color")
self._mixer.strip[1].config.color = 8
case "LIVE":
2022-09-30 19:30:42 +01:00
self._mixer.config.mute_group[0].on = True
print(f"Mute Group 1 is {self._mixer.config.mute_group[0].on}")
2022-09-20 15:12:50 +01:00
2022-10-28 21:07:14 +01:00
def main():
2022-09-20 15:12:50 +01:00
with xair_api.connect("MR18", ip="mixer.local") as mixer:
Observer(mixer)
2022-09-20 15:12:50 +01:00
while cmd := input("<Enter> to exit\n"):
if not cmd:
break
2022-10-28 21:07:14 +01:00
if __name__ == "__main__":
main()