caery 0.1.22

KnottDynamics-styled Linux desktop media converter for audio and video.
Documentation
# Caery Usage

Caery can run as a desktop GUI or as a terminal converter. It expects `ffmpeg` and `ffprobe` on `PATH`.

## GUI

Run with no arguments to open the desktop interface:

```bash
caery
```

From source:

```bash
cargo run
```

## Quick CLI

Run with two paths to convert immediately. Caery infers the route from the input and output extensions:

```bash
caery song.wav song.mp3
caery clip.mp4 clip.flac
caery clip.mkv clip.webm
```

Supported inferred routes:

- Audio to audio, such as `song.wav` to `song.mp3`.
- Video to audio, such as `clip.mp4` to `clip.flac`.
- Video to video, such as `clip.mkv` to `clip.webm`.

Unsupported pairs fail before conversion. For example, `caery song.wav song.mp4` reports that audio input cannot be converted into a video output.

## Explicit CLI

Use `--cli` when you want explicit route, format, quality, or overwrite options:

```bash
caery --cli --input clip.mp4 --audio-format mp3
caery --cli --input clip.mkv --output clip.webm --mode video-to-video --video-format webm --quality archive
caery --cli --input song.wav --mode audio-to-audio --audio-format flac
```

Options:

- `--input` or `-i`: source media file.
- `--output` or `-o`: output file; omitted output paths use `<source>-caery.<format>`.
- `--mode` or `-m`: `extract-audio`, `video-to-video`, or `audio-to-audio`.
- `--audio-format`: `mp3`, `m4a`, `flac`, `wav`, `ogg`, or `opus`.
- `--video-format`: `mp4`, `mkv`, `webm`, or `mov`.
- `--quality` or `-q`: `compact`, `balanced`, or `archive`.
- `--overwrite` or `-y`: replace an existing output file.

## Desktop Install

Install a Linux desktop launcher for the exact binary that runs the command:

```bash
caery --install
```

From source:

```bash
cargo run -- --install
```

The installer writes:

- `~/.local/share/applications/caery.desktop`
- `~/.local/share/icons/hicolor/256x256/apps/caery.png` from the bundled `assets/logo.png`
- `~/Desktop/Caery.desktop` when `~/Desktop` exists

For a permanent launcher, run `--install` from the final installed binary path rather than a temporary build path.