From eb2ca225681ed26f0ed199f9e23f00429ec98440 Mon Sep 17 00:00:00 2001 From: onyx-and-iris Date: Tue, 10 Jun 2025 19:46:39 +0100 Subject: [PATCH] README initial commit add CHANGELOG --- CHANGELOG.md | 12 +++ README.md | 234 ++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 245 insertions(+), 1 deletion(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..d4a8edd --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,12 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +# [0.7.3] - 2025-06-10 + +### Added + +- Initial release. \ No newline at end of file diff --git a/README.md b/README.md index 3447539..451ebf5 100644 --- a/README.md +++ b/README.md @@ -1 +1,233 @@ -# sld-cli +# slobs-cli + +[![pdm-managed](https://img.shields.io/endpoint?url=https%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2Fpdm-project%2F.github%2Fbadge.json)](https://pdm-project.org) +[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) + + +A command line interface for Streamlabs Desktop + +For an outline of past/future changes refer to: [CHANGELOG](CHANGELOG.md) + +----- + +## Table of Contents + +- [Installation](#installation) +- [Configuration](#configuration) +- [Commands](#root-typer) +- [License](#license) + +## Requirements + +- Python 3.12 or greater +- [Streamlabs Desktop][sl-desktop] + +## Installation + +##### *with uv* + +```console +uv tool install slobs-cli +``` + +##### *with pipx* + +```console +pipx install slobs-cli +``` + +The CLI should now be discoverable as `slobs-cli` + +## Configuration + +#### Flags + +- --domain/-d: Streamlabs client domain +- --port/-p Streamlabs client port +- --token/-t: Remote Control API Token + +Pass `--domain`, `--port` and `--password` as flags on the root command, for example: + +```console +slobs-cli --domain localhost --port 59650 --token --help +``` + +#### Environment Variables + +Load the following values from your environment: + +```env +SLOBS_DOMAIN=localhost +SLOBS_PORT=59650 +SLOBS_TOKEN= +``` + +Flags can be used to override environment variables. + +[sl-desktop]: https://streamlabs.com/streamlabs-live-streaming-software?srsltid=AfmBOopnswGBgEyvVSi2DIc_vsGovKn2HQZyLw1Cg6LEo51OJhONXnAX + +## Commands + +#### Scene + +- list: List all available scenes. + +```console +slobs-cli scene list +``` + +- current: Show the currently active scene. + +```console +slobs-cli scene current +``` + +- switch: Switch to a scene by its name. + - flags: + + *optional* + - --preview: Switch the preview scene only. + - args: + +```console +slobs-cli scene switch "slobs-test-scene-1" +``` + +#### Stream + +- start: Start the stream. + +```console +slobs-cli stream start +``` + +- status: Get the current stream status. + +```console +slobs-cli stream start +``` + +- stop: Stop the stream. + +```console +slobs-cli stream stop +``` + +- toggle: Toggle the stream status. + +```console +slobs-cli stream toggle +``` + +#### Record + +- start Start recording. + +```console +slobs-cli record start +``` + +- status Get recording status. + +```console +slobs-cli record status +``` + +- stop Stop recording. + +```console +slobs-cli record stop +``` + +- toggle Toggle recording status. + +```console +slobs-cli record status +``` + +#### Audio + +- list: List all audio sources. + +```console +slobs-cli audio list +``` + +- mute: Mute an audio source by name. + - args: + +```console +slobs-cli audio list +``` + +- unmute: Unmute an audio source by name. + - args: + +```console +slobs-cli audio list +``` + +- toggle: Toggle mute state of an audio source by name. + - args: + +```console +slobs-cli audio list +``` + +#### Replay Buffer + +- start Start the replay buffer. + +```console +slobs-cli replaybuffer start +``` + +- stop: Stop the replay buffer. + +```console +slobs-cli replaybuffer stop +``` + +- status: Get the current status of the replay buffer. + +```console +slobs-cli replaybuffer status +``` + +- save: Save the current replay buffer. + +```console +slobs-cli replaybuffer save +``` + +#### Studio Mode + +- enable: Enable studio mode. + +```console +slobs-cli studiomode enable +``` + +- disable: Disable studio mode. + +```console +slobs-cli studiomode disable +``` + +- toggle: Toggle studio mode. + +```console +slobs-cli studiomode toggle +``` + +- status: Check the status of studio mode. + +```console +slobs-cli studiomode status +``` + +- force-transition: Force a transition in studio mode. + +```console +slobs-cli studiomode force-transition +```