Metadata-Version: 2.1
Name: simple-recorder
Version: 0.1.3
Summary: A simple OBS recorder
Author-Email: onyx-and-iris <code@onyxandiris.online>
License: MIT
Requires-Python: >=3.11
Requires-Dist: clypi>=1.8.1
Requires-Dist: FreeSimpleGUI>=5.2.0.post1
Requires-Dist: obsws-python>=1.7.2
Description-Content-Type: text/markdown

# simple-recorder

[![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 single purpose application for naming file recording in OBS.

Run it as a CLI or a GUI.

---

## Requirements

-   Python 3.11 or greater
-   [OBS Studio 28+][obs-studio]

## Installation

*with uv*

```console
uv tool install simple-recorder
```

*with pipx*

```console
pipx install simple-recorder
```

*with pyz*

An executable pyz has been included in [Release](https://github.com/onyx-and-iris/simple-recorder/releases) which you can run in Windows. Follow the steps in this [Setting up Windows for Zipapps](https://jhermann.github.io/blog/python/deployment/2020/02/29/python_zippapps_on_windows.html#Setting-Up-Windows-10-for-Zipapps) guide.

## Configuration

Pass --host, --port and --password as flags on the root command:

```console
simple-recorder --host=localhost --port=4455 --password=<websocket password> --help
```

Or load them from your environment:

```env
OBS_HOST=localhost
OBS_PORT=4455
OBS_PASSWORD=<websocket password>
```

## Use

Without passing a subcommand (start/stop) a GUI will be launched, otherwise a CLI will be launched.

### GUI

![simple-recorder](./img/simple-recorder.png)

Just enter the filename and click *Start Recording*.

### CLI

```shell
Usage: simple-recorder [OPTIONS] COMMAND

┏━ Subcommands ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ start  Start recording                                                       ┃
┃ stop   Stop recording                                                        ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

┏━ Options ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ --host <HOST>                                                                ┃
┃ --port <PORT>                                                                ┃
┃ --password <PASSWORD>                                                        ┃
┃ --theme <THEME>                                                              ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
```

```console
simple-recorder start "File Name"

simple-recorder stop
```

If no filename is passed to start then you will be prompted for one. A default_name will be used if none is supplied to the prompt.

[obs-studio]: https://obsproject.com/