Onyx and Iris 227a973949 remove streamlabs code, only communicate with OBS
added methods to Audio class for:
stage gaining microphones
toggling audio to/from ws
toggling audio to/from tv
2026-01-01 23:00:27 +00:00

27 lines
778 B
Python

def ensure_obsws(func):
"""ensure an obs websocket connection has been established"""
def wrapper(self, *args):
if self.request is None:
try:
self.obs_connect()
except (ConnectionRefusedError, TimeoutError):
return
return func(self, *args)
return wrapper
def ensure_mixer_fadeout(func):
"""ensure mixer fadeout is stopped before proceeding"""
def wrapper(self, *args):
if self.mixer.lr.mix.fader > -90:
self._fade_mixer(-90, fade_in=False)
return func(self, *args)
return wrapper
def to_snakecase(scene_name: str) -> str:
"""Convert caplitalized words to lowercase snake_case"""
return '_'.join(word.lower() for word in scene_name.split())