# v0.2.0 — Graphical Interface

Surivoice now ships with a **built-in GUI** alongside the existing CLI. Same engine, same local-first pipeline — just a friendlier way to use it.

## ✨ What's New

### GUI (`surivoice gui`)

- **File pickers** — browse for input audio/video and choose where to save the transcript
- **Model & device dropdowns** — select Whisper model size and compute device from the available options
- **Language & speaker count** — optional fields, same as the CLI flags
- **Settings tab** — manage your Hugging Face token separately, with a dedicated Save button
- **Dark / Light theme** — toggle in Settings, defaults to dark (Catppuccin-inspired palette)
- **Real-time status log** — pipeline progress shown live in the window
- **Threaded execution** — the UI stays responsive while transcription runs in the background

### Internal Improvements

- **Validation helpers extracted** into `audio/validators.py` and `diarization/validators.py` — shared between CLI and GUI, framework-agnostic
- **CLI refactored** — thin wrappers over the new validators, no behavior changes

## 📦 Installation

```bash
pip install "surivoice[ml]"
# or
pipx install "surivoice[ml]"
```

> **Linux only:** The GUI requires `tkinter`. Install it with:
> ```bash
> sudo apt install python3-tk  # Ubuntu/Debian
> ```
> On **Windows** and **macOS**, tkinter is included with Python — no extra step needed.

## 🚀 Usage

```bash
# Launch the GUI
surivoice gui

# Or use the CLI as before
surivoice transcribe -i meeting.mp4 -o transcript.md
```

**Full changelog:** [`v0.1.0...v0.2.0`](https://github.com/MozartSoares/surivoice/compare/v0.1.0...v0.2.0)
