add studiomode typer

This commit is contained in:
onyx-and-iris 2025-04-26 14:18:19 +01:00
parent 0a1985d527
commit 5a8e733bbb

46
obsws_cli/studiomode.py Normal file
View File

@ -0,0 +1,46 @@
"""module containing commands for manipulating studio mode in OBS."""
import typer
from .alias import AliasGroup
app = typer.Typer(cls=AliasGroup)
@app.callback()
def main():
"""Control studio mode in OBS."""
@app.command()
def enable(ctx: typer.Context):
"""Enable studio mode."""
ctx.obj.set_studio_mode_enabled(True)
@app.command()
def disable(ctx: typer.Context):
"""Disable studio mode."""
ctx.obj.set_studio_mode_enabled(False)
@app.command()
def toggle(ctx: typer.Context):
"""Toggle studio mode."""
resp = ctx.obj.get_studio_mode_enabled()
if resp.studio_mode_enabled:
ctx.obj.set_studio_mode_enabled(False)
typer.echo('Studio mode is now disabled.')
else:
ctx.obj.set_studio_mode_enabled(True)
typer.echo('Studio mode is now enabled.')
@app.command()
def status(ctx: typer.Context):
"""Get the status of studio mode."""
resp = ctx.obj.get_studio_mode_enabled()
if resp.studio_mode_enabled:
typer.echo('Studio mode is enabled.')
else:
typer.echo('Studio mode is disabled.')