Skip to content

Releases: DeliciousMeatPop/SubGenie

SubtitleGenie 0.1.1

Choose a tag to compare

@github-actions github-actions released this 18 Aug 01:06

SubtitleGenie 🧞 0.1.1

Subtitle Genie

📝 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. --sync now 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. No pip install required, 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

  • --sync now 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 your PATH. Saving subtitles as
sidecar files needs nothing extra.

🔗 Links

SubtitleGenie 0.1.0

Choose a tag to compare

@github-actions github-actions released this 16 Aug 05:15

SubtitleGenie 🧞 0.1.0

Subtitle Genie

📝 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 your PATH. Saving subtitles as
sidecar files needs nothing extra.

🔗 Links

SubtitleGenie 0.0.9

Choose a tag to compare

@github-actions github-actions released this 16 Aug 04:09

SubtitleGenie 🧞 0.0.9

Subtitle Genie

📝 What changed in 0.0.9

Added

  • common language preset. Instead of all (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
    anywhere all does (--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 your PATH. Saving subtitles as
sidecar files needs nothing extra.

🔗 Links

SubtitleGenie 0.0.8

Choose a tag to compare

@github-actions github-actions released this 16 Aug 03:32
eb599e1

SubtitleGenie 🧞 0.0.8

Subtitle Genie

📝 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 with config --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 in defaults.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 your PATH. Saving subtitles as
sidecar files needs nothing extra.

🔗 Links

SubtitleGenie 0.0.7

Choose a tag to compare

@github-actions github-actions released this 16 Aug 02:41

SubtitleGenie 🧞 0.0.7

Subtitle Genie

📝 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. --sync auto-aligns each subtitle to the movie's
    audio using ffsubsync (fixes offset and
    framerate drift; install with pip 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 your PATH. Saving subtitles as
sidecar files needs nothing extra.

🔗 Links

SubtitleGenie 0.0.6

Choose a tag to compare

@github-actions github-actions released this 16 Aug 02:18

SubtitleGenie 🧞 0.0.6

Subtitle Genie

📝 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 with config --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 your PATH. Saving subtitles as
sidecar files needs nothing extra.

🔗 Links

SubtitleGenie 0.0.5

Choose a tag to compare

@github-actions github-actions released this 16 Aug 00:53

SubtitleGenie 🧞 0.0.5

Subtitle Genie

📝 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-ffmpeg downloads an official/trusted static build (gyan.dev on
    Windows, John Van Sickle on Linux) into <config dir>/bin and 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 your PATH. Saving subtitles as
sidecar files needs nothing extra.

🔗 Links

SubtitleGenie 0.0.4

Choose a tag to compare

@github-actions github-actions released this 16 Aug 00:20
e72acca

SubtitleGenie 🧞 0.0.4

Subtitle Genie

📝 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-ffmpeg downloads an official/trusted static build (gyan.dev on
    Windows, John Van Sickle on Linux) into <config dir>/bin and 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 --version and 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 .ass file: 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.

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 your PATH. Saving subtitles as
sidecar files needs nothing extra.

🔗 Links

SubtitleGenie 0.0.3

Choose a tag to compare

@github-actions github-actions released this 15 Aug 23:51
43a3b48

SubtitleGenie 🧞 0.0.3

Subtitle Genie

📝 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 --version and 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 your PATH. Saving subtitles as
sidecar files needs nothing extra.

🔗 Links

SubtitleGenie 0.0.2

Choose a tag to compare

@github-actions github-actions released this 15 Aug 22:34
e20db2b

SubtitleGenie 🧞 v0.0.2

Subtitle Genie

📝 What changed in 0.0.2

Added

  • Real 3D subtitles. In 3D mode SubtitleGenie now rewrites the downloaded
    subtitle into a per-eye .ass file: 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.

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 your PATH. Saving subtitles as
sidecar files needs nothing extra.

🔗 Links