mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-10-21 05:01:26 -07:00
7.1 KiB
7.1 KiB
This is a prerelease build for testing. Stable changelog and docs-site updates remain pending until the final stable release.
Highlights
Added
- YouTube Browser Window:
- Open a YouTube browser with
subminer youtube(orsubminer yt), or pick Browse YouTube from the tray. It stays logged in to YouTube across restarts. - Clicking a video plays it in mpv instead of on the page.
- Middle-click, Shift-click, Ctrl-click, or the right-click menu adds a video to mpv's playlist.
- When a queued video starts, it gets the same Japanese subtitle setup.
- If you started SubMiner with
subminer youtube, closing the YouTube window quits SubMiner. If a video is still playing, SubMiner quits after mpv closes.
- Open a YouTube browser with
- Whisper Subtitles for YouTube:
- Set
youtube.subtitleSourcetowhisperto make subtitles with Whisper instead of downloading YouTube's captions. The default is stillyoutube. - The video stays paused while Whisper works, and progress shows in the subtitle generation modal. Close the modal to keep watching, or cancel to carry on without subtitles.
- The subtitle generation modal (
Ctrl+Shift+G) now works on YouTube videos with eitheryoutube.subtitleSourcesetting. - Whisper downloads only a small audio stream and deletes it when generation ends, or when you switch videos, close mpv, or quit.
- Set
- Mouse and Scroll Wheel Bindings:
keybindingsnow accepts scroll wheel keys (WHEEL_UP,WHEEL_DOWN,WHEEL_LEFT,WHEEL_RIGHT), with or without modifiers. You can also record them in the settings key editor.- Mouse button and scroll wheel bindings from mpv now work while the cursor is over the overlay. This covers your
input.confand mpv's defaults, such as double-click for fullscreen, the wheel for volume, and back/forward for the playlist. - Hyprland users benefit most: the overlay always takes input there, so these bindings did nothing before.
- SubMiner's own bindings and right-click pause still win over mpv's.
- Session Help Commands:
- During playback, press
Enteror double-click a row in session help to run that command. - Hovering over a row makes it the target for
Enter. - Session help opened from the tray with no video loaded is still read-only.
- During playback, press
Changed
- Release Assets: Releases no longer include package-size JSON reports. Package contents are still validated before release.
Fixed
- Jellyfin Subtitles:
- The Japanese subtitle track is selected, and annotations start, as soon as that track downloads. SubMiner no longer waits for every other track.
- Subtitle tracks now download in parallel, so a slow embedded track no longer holds up the main subtitles.
- Episodes with image-based subtitles (PGS, DVD, DVB) now select the Japanese and English tracks automatically.
- If one subtitle track fails to download, the other tracks are still selected.
- Jellyfin Audio Track: On direct-play Jellyfin streams, timing review previews and mined card audio now use the audio track you're playing, not the one Jellyfin marks as default.
- Media Timing Review:
- Trim handles are now thin lines centered on the clip edges. The start and end of the clip are easier to see, and less of the waveform is hidden.
- The original subtitle boundaries are now plain orange bars without text labels, so the waveform stays visible.
- On macOS with Bluetooth headphones such as AirPods, the preview cursor now moves smoothly. Before, it stuttered and jumped to the end partway through. This affected Opus audio, including Jellyfin streams.
- Hyprland Fullscreen:
- The subtitle overlay now stays visible when mpv enters or leaves fullscreen, so focus changes no longer cancel fullscreen. Sway still refreshes the overlay as before.
- With
mpv.backend: x11, subtitles and the sidebar no longer stop responding to clicks after mpv goes fullscreen.
- mpv Key Bindings in the Overlay:
- mpv key bindings, such as
9/0for volume, now work while the overlay has focus. - They used to do nothing if the overlay loaded before SubMiner connected to mpv, which was common with
mpv.backend: x11. The overlay now reloads mpv's bindings once mpv connects.
- mpv key bindings, such as
- YouTube Japanese Subtitles:
- Some videos also list a machine-translated Japanese track. On those, Japanese subtitles no longer fail with "HTTP 429", because SubMiner now picks the real Japanese track.
- If YouTube refuses a direct subtitle download, SubMiner retries with yt-dlp.
- AppImage in Sandboxes: The AppImage now opens its window when started in a sandbox that mounts the image itself, such as
firejail --appimage. Before, it exited without opening a window. - Ctrl+C Crash: Stopping the terminal command that started SubMiner with Ctrl+C no longer crashes SubMiner with a "write EPIPE" error.
- Security Updates: Electron is updated to 42.10.0 and undici to 7.29.1 to fix known security advisories.
Docs
- Docs Site Rewrite:
- Pages are shorter and easier to scan. Each one starts with setup and usage, and reference details are in compact tables.
- The configuration reference now gives each config block a short explanation and a table of keys and defaults.
- Pages that no longer matched how SubMiner works have been corrected.
- Arch Linux Install:
- The MeCab install command is fixed. MeCab is only in the AUR, as
mecab-git. - The README's requirements and quick start now match the installation guide.
- The MeCab install command is fixed. MeCab is only in the AUR, as
What's Changed
- fix(jellyfin): select subtitles faster and survive failed track downloads by @ksyasuda in #270
- fix(jellyfin): use the current audio track for media generation by @ksyasuda in #271
- feat(youtube): add YouTube browser window and Whisper subtitle source by @ksyasuda in #273
- fix(overlay): thin centered trim handles and label-free subtitle boundaries in timing review by @ksyasuda in #274
- feat(overlay): run session help commands with Enter or double-click by @ksyasuda in #275
- fix(overlay): keep overlay mapped during Hyprland/Sway fullscreen by @ksyasuda in #276
- fix(linux): skip AppImage mount keepalive on sandbox squashfs mounts by @ksyasuda in #277
- fix(overlay): reload imported mpv keys after mpv connects by @ksyasuda in #278
- feat(overlay): forward mpv mouse button and wheel bindings by @ksyasuda in #279
Installation
See the installation guide for full setup steps.
Assets
- Linux:
SubMiner-*.AppImage - macOS:
SubMiner-*.dmgandSubMiner-*.zip - Windows:
SubMiner-*.exeandSubMiner-*-win.zip - Optional extras:
subminer-assets.tar.gz, thesubminerlauncher, and the Windowssubminer.cmdlauncher - Bun corresponding source:
bun-v1.3.5-source.tar.gzand its.sha256file
Both launcher downloads use Bun included with the SubMiner app. Download subminer on Linux or macOS and subminer.cmd on Windows.
The app bundles an unmodified Bun 1.3.5 runtime. Bun is MIT licensed and statically links JavaScriptCore (LGPL 2.0) and TinyCC (LGPL 2.1). License texts and third-party notices ship inside the app under resources/bun/licenses, and the source archive above contains the matching Bun, WebKit, and dependency sources for relinking.