Skip to content

History: delete/edit records + built-in subtitle player#24

Merged
TN019 merged 1 commit into
mainfrom
history-editing-and-player
Jul 26, 2026
Merged

History: delete/edit records + built-in subtitle player#24
TN019 merged 1 commit into
mainfrom
history-editing-and-player

Conversation

@TN019

@TN019 TN019 commented Jul 26, 2026

Copy link
Copy Markdown
Owner

背景

三个使用痛点:1) 历史记录只能整体清理失效条目,不能删除指定记录;2) 转录/翻译结果有错时只能去文件管理器里改;3) 产出的字幕一直没有"直接看效果"的途径。

改动与实现

  • 历史删除(仅删记录,不动磁盘文件):每张卡片一个 ✕ 单删;卡片前有勾选框,勾选后顶栏出现"删除选中(N)"批量删除。viewmodel 新增 history_delete_sources()
  • 就地编辑:查看对话框新增 编辑 → 保存/取消。编辑读取完整文件(不是截断的预览,避免保存时毁掉长文件尾部),保存后重新渲染字幕稿视图;编辑期间语言切换和翻译按钮冻结
  • 内置播放器(gui_qt/player.py):查看对话框的"播放"按钮打开源视频,当前语言的 .srt 由我们自绘叠加在画面底部(不依赖后端字幕轨,刚编辑的结果立即可见)。QMediaPlayer + QVideoWidget,Qt 6 自带 FFmpeg 后端,mp4/mkv/m4a 都可播;播放/暂停、进度拖动、时间显示;拖动进度条时字幕实时预览。cue 查找用二分(纯函数,单测覆盖)
  • CI 增加 libpulse0(QtMultimedia 运行库)

验证

  • uv run pytest -q:163 passed / 5 skipped。新增:时间戳解析/区间查找/时间格式化;单删+批量删除;编辑保存后文件与渲染同步更新
  • 离屏功能冒烟:ffmpeg 生成 6s 真视频实际播放,position 前进至 3.0s,两条字幕按时序出现('hello subtitles' → 'second cue'),进度条与时间显示同步
  • 待人工确认:实机播放真实转录产物(画面/声音/字幕对齐);mkv 播放

…r in batch, edit subtitle files in place, and play the source video with live subtitles.
@TN019
TN019 merged commit 0cdf615 into main Jul 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant