Releases: DeliciousMeatPop/SubGenie
Release list
SubtitleGenie 0.1.1
SubtitleGenie 🧞 0.1.1
📝 What changed in 0.1.1
Fixed
- Embedding no longer fails with "the process cannot access the file". On
Windows a just-written large movie is briefly locked (antivirus/indexer), which
made the final file swap fail and lose the whole embed. The swap now retries
with backoff, and the error message points at the real cause if it still can't.
Added
- Built-in auto-sync that works in the standalone app.
--syncnow aligns
subtitles using a built-in engine that needs only ffmpeg — it detects speech in
the movie's audio and cross-correlates it with the subtitle to find and fix a
constant offset. Nopip installrequired, so it works in the.exe. If
ffsubsync happens to be installed (or is bundled) it's used instead for the
highest quality (fixes framerate drift too), otherwise the built-in engine
handles the common case. (Optional: the release workflow can bundle ffsubsync
via a manual build toggle.)
Changed
--syncnow re-times the subtitles you already have, in place — no
downloading, no language picker, no embedding. The workflow is: get subs, and
if they're off, run--sync(auto-align) or--sync-offset SECONDS(fixed
shift). It offers to fetch ffmpeg if it's missing.- Self-update deletes the old version. After the new build launches, the
previous executable is removed automatically (it couldn't delete its own
running file before), so old versions don't pile up next to it.
⬇️ Download & run
Grab the archive for your OS from the Assets section below, unpack it, and
run the subtitlegenie executable inside. No Python required.
| OS | Archive |
|---|---|
| 🪟 Windows | SubtitleGenie_Win_0.1.1.zip |
| 🍎 MacOS | SubtitleGenie_Mac_0.1.1.tar.gz |
| 🐧 Linux | SubtitleGenie_Linux_0.1.1.tar.gz |
First run: subtitlegenie setup to add your free OpenSubtitles API key and
pick your defaults. Then just drop a movie on it. subgenie setup also works!
For embedding subtitles into movies you also need
ffmpeg on yourPATH. Saving subtitles as
sidecar files needs nothing extra.
🔗 Links
- 📖 README
- 📋 Full changelog
SubtitleGenie 0.1.0
SubtitleGenie 🧞 0.1.0
📝 What changed in 0.1.0
Added
- Progress feedback so it doesn't look frozen. After the 2D/3D question there
used to be a long silent pause. SubtitleGenie now shows what it's doing at each
step — searching, downloading (with an N/total counter), analyzing the video for
3D placement, and embedding with a running percentage — so you can tell it's
working, not stuck.
Changed
- 3D picture-area detection (cropdetect) is faster: fewer sampled frames and no
audio/subtitle decoding, so the pause before 3D subtitles are written is
shorter.
⬇️ Download & run
Grab the archive for your OS from the Assets section below, unpack it, and
run the subtitlegenie executable inside. No Python required.
| OS | Archive |
|---|---|
| 🪟 Windows | SubtitleGenie_Win_0.1.0.zip |
| 🍎 MacOS | SubtitleGenie_Mac_0.1.0.tar.gz |
| 🐧 Linux | SubtitleGenie_Linux_0.1.0.tar.gz |
First run: subtitlegenie setup to add your free OpenSubtitles API key and
pick your defaults. Then just drop a movie on it. subgenie setup also works!
For embedding subtitles into movies you also need
ffmpeg on yourPATH. Saving subtitles as
sidecar files needs nothing extra.
🔗 Links
- 📖 README
- 📋 Full changelog
SubtitleGenie 0.0.9
SubtitleGenie 🧞 0.0.9
📝 What changed in 0.0.9
Added
commonlanguage preset. Instead ofall(every language) you can now use
common— a curated popular set: English, Spanish (Spain + Latin America),
French, German, Italian, Portuguese (Portugal + Brazil), and Dutch. Works
anywherealldoes (--langs common, the interactive picker, defaults).
⬇️ Download & run
Grab the archive for your OS from the Assets section below, unpack it, and
run the subtitlegenie executable inside. No Python required.
| OS | Archive |
|---|---|
| 🪟 Windows | SubtitleGenie_Win_0.0.9.zip |
| 🍎 MacOS | SubtitleGenie_Mac_0.0.9.tar.gz |
| 🐧 Linux | SubtitleGenie_Linux_0.0.9.tar.gz |
First run: subtitlegenie setup to add your free OpenSubtitles API key and
pick your defaults. Then just drop a movie on it. subgenie setup also works!
For embedding subtitles into movies you also need
ffmpeg on yourPATH. Saving subtitles as
sidecar files needs nothing extra.
🔗 Links
- 📖 README
- 📋 Full changelog
SubtitleGenie 0.0.8
SubtitleGenie 🧞 0.0.8
📝 What changed in 0.0.8
Fixed
- 3D subtitles no longer float in the middle of the picture. On letterboxed
(cinemascope) 3D releases the per-eye subtitles were placed by frame percentage,
which on a wide, letterboxed frame drifted up toward the middle (or down into a
black bar). SubtitleGenie now detects the active picture area with ffmpeg
cropdetect and sits the subtitles just above the bottom of the visible image,
in each eye. Without ffmpeg it falls back to near the bottom of the frame. - Empty/broken subtitles are skipped instead of embedded as dead tracks. A
download with no timed cues no longer becomes a subtitle track that shows
nothing; it's reported as "empty" and left out.
Added
- Embedded tracks are tagged so you can tell them apart. Subtitles
SubtitleGenie muxes in are now titled e.g.English [SG], so in your player's
track list they're obviously yours versus the movie's own (English [PGS],
etc.). Change or clear the marker withconfig --set defaults.embed_tag SG
(empty = no tag). - Your default language is the auto-selected track — even with
all. When
embedding, the track for your primary language (first indefaults.languages)
is marked the MKV default and the movie's own default is cleared, so playback
starts on your language instead of whatever the release shipped as default. If
that language is already in the movie, that existing track is marked default.
⬇️ Download & run
Grab the archive for your OS from the Assets section below, unpack it, and
run the subtitlegenie executable inside. No Python required.
| OS | Archive |
|---|---|
| 🪟 Windows | SubtitleGenie_Win_0.0.8.zip |
| 🍎 MacOS | SubtitleGenie_Mac_0.0.8.tar.gz |
| 🐧 Linux | SubtitleGenie_Linux_0.0.8.tar.gz |
First run: subtitlegenie setup to add your free OpenSubtitles API key and
pick your defaults. Then just drop a movie on it. subgenie setup also works!
For embedding subtitles into movies you also need
ffmpeg on yourPATH. Saving subtitles as
sidecar files needs nothing extra.
🔗 Links
- 📖 README
- 📋 Full changelog
SubtitleGenie 0.0.7
SubtitleGenie 🧞 0.0.7
📝 What changed in 0.0.7
Fixed
- 3D subtitles no longer float in the middle of the picture. On letterboxed
(cinemascope) 3D releases the per-eye subtitles were placed by frame percentage,
which on a wide, letterboxed frame drifted up toward the middle (or down into a
black bar). SubtitleGenie now detects the active picture area with ffmpeg
cropdetect and sits the subtitles just above the bottom of the visible image,
in each eye. Without ffmpeg it falls back to near the bottom of the frame.
Added
- Subtitle timing sync.
--syncauto-aligns each subtitle to the movie's
audio using ffsubsync (fixes offset and
framerate drift; install withpip install ffsubsync).--sync-offset SECONDS
applies a fixed shift (may be negative) with no extra tools. Hash-matched
OpenSubtitles results are already synced, so this mainly helps fallback subs.
⬇️ Download & run
Grab the archive for your OS from the Assets section below, unpack it, and
run the subtitlegenie executable inside. No Python required.
| OS | Archive |
|---|---|
| 🪟 Windows | SubtitleGenie_Win_0.0.7.zip |
| 🍎 MacOS | SubtitleGenie_Mac_0.0.7.tar.gz |
| 🐧 Linux | SubtitleGenie_Linux_0.0.7.tar.gz |
First run: subtitlegenie setup to add your free OpenSubtitles API key and
pick your defaults. Then just drop a movie on it. subgenie setup also works!
For embedding subtitles into movies you also need
ffmpeg on yourPATH. Saving subtitles as
sidecar files needs nothing extra.
🔗 Links
- 📖 README
- 📋 Full changelog
SubtitleGenie 0.0.6
SubtitleGenie 🧞 0.0.6
📝 What changed in 0.0.6
Changed
- The update check now runs on every launch (it's silent when you're up to
date) instead of at most once a day, so a new release is noticed right away.
Throttle it withconfig --set updates.check_interval_hours N, skip a single
run with--no-update-check, or turn it off with
config --set updates.check_on_run false.
⬇️ Download & run
Grab the archive for your OS from the Assets section below, unpack it, and
run the subtitlegenie executable inside. No Python required.
| OS | Archive |
|---|---|
| 🪟 Windows | SubtitleGenie_Win_0.0.6.zip |
| 🍎 MacOS | SubtitleGenie_Mac_0.0.6.tar.gz |
| 🐧 Linux | SubtitleGenie_Linux_0.0.6.tar.gz |
First run: subtitlegenie setup to add your free OpenSubtitles API key and
pick your defaults. Then just drop a movie on it. subgenie setup also works!
For embedding subtitles into movies you also need
ffmpeg on yourPATH. Saving subtitles as
sidecar files needs nothing extra.
🔗 Links
- 📖 README
- 📋 Full changelog
SubtitleGenie 0.0.5
SubtitleGenie 🧞 0.0.5
📝 What changed in 0.0.5
Fixed
-
Each release's notes now list only that release's changes. The workflow
auto-promotes## [Unreleased]into a dated## [X.Y.Z]section at release
time and commits it back, so[Unreleased]is cleared every release instead
of accumulating — no more every release repeating everything since the first
one. You just keep adding notes under[Unreleased]; no manual moving needed. -
Embedding into a movie that already has subtitle tracks no longer fails.
BluRay rips usually carry bitmap (PGS) subtitle tracks; the old mux forced
every subtitle stream to a text codec, so ffmpeg tried to transcode those
bitmaps to text and aborted the whole embed ("Subtitle encoding currently only
possible from text to text or bitmap to bitmap"). Existing streams are now
copied untouched, and the codec/language/forced metadata are applied only to
the subtitle streams we add — at the correct offset, so their language tags no
longer land on the movie's own tracks.
Added
- ffmpeg help & opt-in install. When embedding is requested but ffmpeg isn't
found, SubtitleGenie now prints the official download link
(https://ffmpeg.org/download.html), per-OS PATH instructions, and package-
manager one-liners — and offers to fetch it for you.subtitlegenie install-ffmpegdownloads an official/trusted static build (gyan.dev on
Windows, John Van Sickle on Linux) into<config dir>/binand uses it
automatically; ffmpeg on PATH still takes priority. macOS is guided to
brew install ffmpeg. We don't bundle ffmpeg in releases (GPL + codec-patent
reasons); the on-demand download keeps that clean.
⬇️ Download & run
Grab the archive for your OS from the Assets section below, unpack it, and
run the subtitlegenie executable inside. No Python required.
| OS | Archive |
|---|---|
| 🪟 Windows | SubtitleGenie_Win_0.0.5.zip |
| 🍎 MacOS | SubtitleGenie_Mac_0.0.5.tar.gz |
| 🐧 Linux | SubtitleGenie_Linux_0.0.5.tar.gz |
First run: subtitlegenie setup to add your free OpenSubtitles API key and
pick your defaults. Then just drop a movie on it. subgenie setup also works!
For embedding subtitles into movies you also need
ffmpeg on yourPATH. Saving subtitles as
sidecar files needs nothing extra.
🔗 Links
- 📖 README
- 📋 Full changelog
SubtitleGenie 0.0.4
SubtitleGenie 🧞 0.0.4
📝 What changed in 0.0.4
Added
-
ffmpeg help & opt-in install. When embedding is requested but ffmpeg isn't
found, SubtitleGenie now prints the official download link
(https://ffmpeg.org/download.html), per-OS PATH instructions, and package-
manager one-liners — and offers to fetch it for you.subtitlegenie install-ffmpegdownloads an official/trusted static build (gyan.dev on
Windows, John Van Sickle on Linux) into<config dir>/binand uses it
automatically; ffmpeg on PATH still takes priority. macOS is guided to
brew install ffmpeg. We don't bundle ffmpeg in releases (GPL + codec-patent
reasons); the on-demand download keeps that clean. -
Self-update that installs itself. On a normal run (or via
subtitlegenie update) SubtitleGenie checks GitHub for a newer release
(interactive, throttled to once a day). If you accept, it downloads the archive
for your OS, unzips the new executable next to your current one (version-
stamped names never collide), and hands off to it — on Windows it opens the new
version in a fresh console, on macOS/Linux it replaces the running process in
the same terminal — carrying along the same movie you dropped, so the update is
a single click and the job continues on the new version. Suppress a single run
with--no-update-check; turn the automatic check off with
config --set updates.check_on_run false. -
Release archives now contain a clearly named binary,
SubtitleGenie_<os>_v<version>(win/mac/linux, e.g.
SubtitleGenie_win_v0.2.0.exe), and the build stamps that version into the
binary so--versionand the update check report the release it was built
from. -
Real 3D subtitles. In 3D mode SubtitleGenie now rewrites the downloaded
subtitle into a per-eye.assfile: for Side-by-Side it draws one copy in the
left half and one in the right (each horizontally squeezed for Half-SBS), and
for Over-Under it stacks top/bottom copies (vertically squeezed for Half-OU).
Previously the 3D option only affected naming/matching, so a flat subtitle was
rendered once across the seam and didn't fuse on a 3D display.- New flags:
--3d-format {auto,hsbs,sbs,hou,ou},--3d-depth N
(per-eye shift; 0 = screen plane),--keep-flat(also keep the plain 2D
subtitle). New config keys:defaults.three_d_format,
defaults.three_d_disparity,defaults.three_d_keep_flat. - Frame resolution is probed with ffprobe so the per-eye positions match the
actual movie; falls back to 1080p when ffprobe isn't available. - Embedding 3D subtitles into MKV keeps them as ASS (positioning preserved);
MP4 can't carry positioned subtitles, so use MKV or sidecar mode for 3D.
- New flags:
Fixed
- Release notes now fall back to the Unreleased changelog section when a tag
has no matching## [X.Y.Z]heading, so notes kept under Unreleased show up in
the draft instead of a "no entry" placeholder. - The release workflow no longer overwrites an existing release. Publishing a
draft re-creates its tag and re-triggers the workflow; it now detects the
existing release and skips, preserving any manual edits. Delete the release to
regenerate it.
⬇️ Download & run
Grab the archive for your OS from the Assets section below, unpack it, and
run the subtitlegenie executable inside. No Python required.
| OS | Archive |
|---|---|
| 🪟 Windows | SubtitleGenie_Win_0.0.4.zip |
| 🍎 MacOS | SubtitleGenie_Mac_0.0.4.tar.gz |
| 🐧 Linux | SubtitleGenie_Linux_0.0.4.tar.gz |
First run: subtitlegenie setup to add your free OpenSubtitles API key and
pick your defaults. Then just drop a movie on it. subgenie setup also works!
For embedding subtitles into movies you also need
ffmpeg on yourPATH. Saving subtitles as
sidecar files needs nothing extra.
🔗 Links
- 📖 README
- 📋 Full changelog
SubtitleGenie 0.0.3
SubtitleGenie 🧞 0.0.3
📝 What changed in 0.0.3
Added
- Self-update that installs itself. On a normal run (or via
subtitlegenie update) SubtitleGenie checks GitHub for a newer release
(interactive, throttled to once a day). If you accept, it downloads the archive
for your OS, unzips the new executable next to your current one (version-
stamped names never collide), and hands off to it — on Windows it opens the new
version in a fresh console, on macOS/Linux it replaces the running process in
the same terminal — carrying along the same movie you dropped, so the update is
a single click and the job continues on the new version. Suppress a single run
with--no-update-check; turn the automatic check off with
config --set updates.check_on_run false. - Release archives now contain a clearly named binary,
SubtitleGenie_<os>_v<version>(win/mac/linux, e.g.
SubtitleGenie_win_v0.2.0.exe), and the build stamps that version into the
binary so--versionand the update check report the release it was built
from.
Fixed
- Release notes now fall back to the Unreleased changelog section when a tag
has no matching## [X.Y.Z]heading, so notes kept under Unreleased show up in
the draft instead of a "no entry" placeholder. - The release workflow no longer overwrites an existing release. Publishing a
draft re-creates its tag and re-triggers the workflow; it now detects the
existing release and skips, preserving any manual edits. Delete the release to
regenerate it.
⬇️ Download & run
Grab the archive for your OS from the Assets section below, unpack it, and
run the subtitlegenie executable inside. No Python required.
| OS | Archive |
|---|---|
| 🪟 Windows | SubtitleGenie-0.0.3-windows-*.zip |
| 🍎 macOS | SubtitleGenie-0.0.3-macos-*.tar.gz |
| 🐧 Linux | SubtitleGenie-0.0.3-linux-*.tar.gz |
First run: subtitlegenie setup to add your free OpenSubtitles API key and
pick your defaults. Then just drop a movie on it.
For embedding subtitles into movies you also need
ffmpeg on yourPATH. Saving subtitles as
sidecar files needs nothing extra.
🔗 Links
- 📖 README
- 📋 Full changelog
SubtitleGenie 0.0.2
SubtitleGenie 🧞 v0.0.2
📝 What changed in 0.0.2
Added
- Real 3D subtitles. In 3D mode SubtitleGenie now rewrites the downloaded
subtitle into a per-eye.assfile: for Side-by-Side it draws one copy in the
left half and one in the right (each horizontally squeezed for Half-SBS), and
for Over-Under it stacks top/bottom copies (vertically squeezed for Half-OU).
Previously the 3D option only affected naming/matching, so a flat subtitle was
rendered once across the seam and didn't fuse on a 3D display.- New flags:
--3d-format {auto,hsbs,sbs,hou,ou},--3d-depth N
(per-eye shift; 0 = screen plane),--keep-flat(also keep the plain 2D
subtitle). New config keys:defaults.three_d_format,
defaults.three_d_disparity,defaults.three_d_keep_flat. - Frame resolution is probed with ffprobe so the per-eye positions match the
actual movie; falls back to 1080p when ffprobe isn't available. - Embedding 3D subtitles into MKV keeps them as ASS (positioning preserved);
MP4 can't carry positioned subtitles, so use MKV or sidecar mode for 3D.
- New flags:
Fixed
- Release notes now fall back to the Unreleased changelog section when a tag
has no matching## [X.Y.Z]heading, so notes kept under Unreleased show up in
the draft instead of a "no entry" placeholder. - The release workflow no longer overwrites an existing release. Publishing a
draft re-creates its tag and re-triggers the workflow; it now detects the
existing release and skips, preserving any manual edits. Delete the release to
regenerate it.
⬇️ Download & run
Grab the archive for your OS from the Assets section below, unpack it, and
run the subtitlegenie executable/binary inside. No Python required.
| OS | Archive |
|---|---|
| 🪟 Windows | SubtitleGenie-0.0.2-windows-*.zip |
| 🍎 macOS | SubtitleGenie-0.0.2-macos-*.tar.gz |
| 🐧 Linux | SubtitleGenie-0.0.2-linux-*.tar.gz |
First run: subtitlegenie setup to add your free OpenSubtitles API key and
pick your defaults. Then just drop a movie on it. subgenie setup works too
For embedding subtitles into movies you also need
ffmpeg added on yourPATH. Saving subtitles as
sidecar files needs nothing extra.
🔗 Links
- 📖 README
- 📋 Full changelog
