TVSUB v0.2.1 — INSTALLATION
============================

Requirements
------------
- macOS 13 or later
- Apple Silicon or Intel Mac
- A video purchased in Apple TV.app
- Your own .srt or .smi subtitle file (movie subtitles are not included)

Install and run
---------------
1. Unzip this archive and keep the tvsub folder together.
2. Verify this archive's SHA-256 against the value published on the download page.
3. Put your subtitle file in the subtitles folder.
4. Play the video in Apple TV.app.
5. Double-click run.command. Keep its Terminal window open while watching.

Translate a subtitle (optional)
-------------------------------
1. Double-click translate.command.
2. Choose a source SRT, SMI, SAMI, or VTT file and a target language.
3. Enter your Anthropic API key. It is stored in macOS Keychain, not a plaintext file.
4. Review the cost estimate, confirm, and wait for the translated SRT to be saved in subtitles/.

The selected subtitle text and nearby context are sent to Anthropic for translation.
API usage is billed to your Anthropic account. Translation does not require Claude Code,
Python, MCP, or any third-party package. LLM output can be wrong; review important lines.

Signing and quarantine
----------------------
This release is not Developer ID-signed or notarized. The included universal binary
has an ad-hoc signature. Only after verifying the SHA-256 and trusting the download,
remove quarantine from the executable if macOS blocks it:

    xattr -d com.apple.quarantine build/tvsub

The complete Swift source is included and can be built locally with build.sh.

Sync correction
---------------
Pause on a spoken line and double-click sync.command. Search for a few words and
select the matching subtitle cue. Repeat once at a much later point in the video.
The two anchors correct both a fixed delay and gradual timing drift.

Notes
-----
tvsub does not bypass DRM: it reads playback timing exposed by macOS and draws a
separate overlay. It uses a private MediaRemote API and may stop working after a
future macOS update. It is independent from and not affiliated with Apple Inc.
