Commit Graph
35 Commits
Author SHA1 Message Date
tri 01471b40da ci: push the CI image with a package token 2026-11-14 08:26:25 +07:00
tri 18fafa01c5 ci: build in a prebuilt Arch image with ccache and no QML cachegen 2026-11-14 08:26:25 +07:00
tri 015626b65b ci: upload the Arch package with a package token, since the registry rejects the job token (#21)
CI / build (push) Successful in 6m17s
Co-authored-by: Tri Vo Khac <git@trivk.dev>
2026-11-14 02:42:32 +07:00
tri c449402b04 ci: publish an Arch package to the Gitea registry so pacman users can install while the AUR is closed (#19)
CI / build (push) Successful in 4m45s
Co-authored-by: Tri Vo Khac <git@trivk.dev>
2026-11-14 02:21:22 +07:00
tri 35cc4eb39b chore(aur): pin the qtpotato package to the v0.1.0 release (#18)
CI / build (push) Successful in 5m19s
Co-authored-by: Tri Vo Khac <git@trivk.dev>
2026-11-14 01:58:49 +07:00
tri fb7df904c5 ci: drop the AppImage from releases so uploads fit under Cloudflare's 100 MB limit (#17)
CI / build (push) Successful in 5m4s
Release / release (push) Successful in 19s
Co-authored-by: Tri Vo Khac <git@trivk.dev>
2026-11-14 01:08:21 +07:00
tri 8c57c9ddb6 ci: build and test every PR, release on tags, and add AUR packages (#15)
CI / build (push) Successful in 5m11s
Release / release (push) Failing after 7m17s
Co-authored-by: Tri Vo Khac <git@trivk.dev>
2026-11-14 00:18:16 +07:00
tri bcfc2f3f6a feat(translate): translate a whole playlist so the next episodes are ready (#16)
Co-authored-by: Tri Vo Khac <git@trivk.dev>
2026-11-13 23:27:13 +07:00
tri ad50230829 feat(playlist): compact rows with clean titles and durations (#13)
Co-authored-by: Tri Vo Khac <git@trivk.dev>
2026-11-13 22:54:32 +07:00
tri 76b12d6632 feat(translate): keep translated subtitles next to the video so they load on reopen (#14)
Co-authored-by: Tri Vo Khac <git@trivk.dev>
2026-11-13 22:49:56 +07:00
tri b34a01a92f fix(mpv): auto-select subtitle and audio tracks on file open (#12)
Closes #7

mpv only turns on a subtitle that is flagged default or matches `slang`, so releases like VisionQuest (Russian dub by default, ru/ru/en subtitles, none flagged) open with subtitles off, which also disabled **Translate subtitle**.

- New `TrackSelection` helpers in `qtpotato_core` with unit tests.
- On file load: audio follows *Preferred languages* (Playback settings); subtitle follows *Preferred languages* (Subtitles settings), else keeps mpv's choice, else (new *Turn on a subtitle when none matches*, on by default) picks a full text subtitle in the system language, then English, then the audio language, then the default/first track.
- Translate is enabled whenever the file has a text subtitle; with none or a bitmap subtitle shown it translates the best text track (English first).

Verified in the real app on VisionQuest S01E01: subtitle 3 (en) is selected on open; with audio set to `en` and auto-select off, audio switches to track 7, subtitle stays off and Translate stays enabled with the English source.

Reviewed-on: #12
Co-authored-by: Tri Vo Khac <git@trivk.dev>
2026-11-13 21:15:22 +07:00
tri 32c686e0e3 fix(mpv): avoid render stalls from video timing offset (#6)
mpvqt renders without disabling MPV_RENDER_PARAM_BLOCK_FOR_TARGET_TIME, so each new video frame blocks the Qt Quick render thread for up to video-timing-offset (50 ms). Animations over a playing video (playlist slide-in) stuttered; paused video was smooth. Set video-timing-offset=0.

Measured offscreen while toggling the playlist during playback: worst frame 35–39 ms before, 17–21 ms after.

Reviewed-on: #6
Co-authored-by: Tri Vo Khac <git@trivk.dev>
2026-11-11 20:36:58 +07:00
tri 41188fc665 Merge pull request 'fix(ui): keep Space for playback after mouse clicks' (#5) from fix/menu-space-key-trap into main
Reviewed-on: #5
2026-11-11 20:16:11 +07:00
tri 0098641425 fix(ui): keep Space for playback after mouse clicks
Controls take focus only via Tab, so a click leaves Space for playback.
2026-11-11 20:12:06 +07:00
tri 97b4a2fe32 feat(glossary): add episode groups, search, and import/export
Apply glossary edits directly to translated subtitles and reload the active track. Keep terms with their originating episode, preserve existing translations, and clear stale episode groups with glossary entries.
2026-11-11 19:44:38 +07:00
tri 0bfaf3c9db fix(ui): address main window KDE HIG findings 2026-11-07 20:08:28 +07:00
tri 0cd03335f7 fix(menus): align menus and actions with KDE HIG 2026-11-07 20:08:28 +07:00
tri 309801d059 fix(glossary): handle save errors and improve playlist controls 2026-11-07 20:08:28 +07:00
tri 3d8f644d8d fix(settings): align settings pages with KDE HIG 2026-11-07 20:08:28 +07:00
tri de9e6484ee feat(ui): style app menus and extract glossary dialog
- Add AppMenu and AppMenuItem so menu labels, mnemonics and shortcuts render consistently under org.kde.union
- Move the translation glossary into GlossaryDialog with add, remove and clear-all actions
- Regroup the translation preset and instructions settings layout
2026-11-07 15:03:37 +07:00
tri 9e55dba687 feat(translate): add per-series glossary with auto extraction 2026-11-07 13:28:32 +07:00
tri 18ba92a6e3 feat(translate): add translation presets and custom instructions 2026-11-07 13:28:32 +07:00
tri cebce0915f docs: add project README
- Document features, dependencies, build steps, and AppImage packaging
- Explain subtitle translation, shortcuts, configuration, and licensing
2026-11-02 20:27:08 +07:00
tri 5b1c1a75be build: add AppImage packaging script 2026-11-02 20:18:07 +07:00
tri be658edeec Merge pull request #1 from vokhactri/fix/plasma-style-and-app-logo
Fix Plasma controls and add QtPotato branding
2026-10-28 10:04:58 +07:00
tri 359162828d fix(ui): respect Plasma style and add app branding
- Preserve the platform-selected QtQuick style on Plasma
- Add the QtPotato desktop entry and bundled app icon
- Remove the empty-state open-file action
2026-10-28 10:03:25 +07:00
triandClaude Opus 5.5 614a31db1b feat: rebuild the interface after Haruna
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 09:26:47 +07:00
triandClaude Opus 5.5 54ad4eecf3 feat: add playlist, recent files and MPRIS backends
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 09:26:12 +07:00
triandClaude Opus 5.5 6dc9377de1 chore: license under GPL-3.0-or-later
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 00:25:59 +07:00
triandClaude Opus 5.5 169cb1360b feat: show only the translated subtitle once translation finishes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 00:17:34 +07:00
tri 6b5742b2ca feat: load the user's mpv.conf 2026-10-28 00:03:01 +07:00
tri fe2f159660 feat: auto-hide controls in full screen, add subtitle size and outline settings 2026-10-27 23:00:17 +07:00
tri 4665bf632a feat: translate subtitles with an OpenAI-compatible LLM 2026-10-27 22:43:03 +07:00
tri 48cac86d60 feat: add subtitle track selection, secondary subtitle and delay 2026-10-27 22:18:36 +07:00
triandClaude Opus 5.5 1eb67b829c feat: add Kirigami app skeleton with libmpv playback
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 22:09:52 +07:00