Commit Graph

  • 0996670020 fix: random portrait always uses 9:16 Ethanfel 2026-04-11 23:40:47 +02:00
  • ffb99d3e66 fix: scale random portrait count — 1 per 3 clips (e.g. 2 for 6 clips) Ethanfel 2026-04-11 23:39:42 +02:00
  • 439bc85505 feat: random portrait — one clip per batch gets a random crop ratio + position Ethanfel 2026-04-11 23:38:56 +02:00
  • 13973dd53d fix: read clip_count/spread from settings before timeline init Ethanfel 2026-04-11 23:34:03 +02:00
  • 9e07910df1 feat: make clip count configurable (1–10, default 3) Ethanfel 2026-04-11 23:28:12 +02:00
  • 25250d6d8d fix: use lossless PCM audio in MP4 exports Ethanfel 2026-04-11 23:26:02 +02:00
  • 93cee40b06 feat: export 3 overlapping 8s clips per press with configurable spread Ethanfel 2026-04-11 23:22:41 +02:00
  • 47ea6199fa feat: add Delete button to remove exports from disk, DB, and dataset.json Ethanfel 2026-04-07 14:23:16 +02:00
  • 8bc42cabd9 fix: store absolute paths in dataset.json Ethanfel 2026-04-07 14:10:06 +02:00
  • 8148971aae refactor: remove fps from annotation — path + label only Ethanfel 2026-04-07 14:09:08 +02:00
  • a8d8bd7fdc Revert "fix: pass source fps to ffmpeg export via fps filter" Ethanfel 2026-04-07 14:08:00 +02:00
  • f0484fac86 Revert "feat: write fps.txt alongside WebP sequence audio" Ethanfel 2026-04-07 14:08:00 +02:00
  • fd25e8fa37 feat: add migration script to generate dataset.json from DB history Ethanfel 2026-04-07 14:04:29 +02:00
  • c3c480acc7 feat: replace dataset.tsv with dataset.json annotation file Ethanfel 2026-04-07 14:01:50 +02:00
  • cf62940b84 feat: write fps.txt alongside WebP sequence audio Ethanfel 2026-04-07 13:56:13 +02:00
  • fc9287a5a6 fix: pass source fps to ffmpeg export via fps filter Ethanfel 2026-04-07 13:54:38 +02:00
  • 1256819dde ui: warn mask generation is untested, recommend ComfyUI Ethanfel 2026-04-07 12:35:44 +02:00
  • 58043dd7e3 docs: warn mask generation is untested, recommend ComfyUI Ethanfel 2026-04-07 12:35:13 +02:00
  • a652872d15 docs: add GPL v3 license and GitHub source link Ethanfel 2026-04-07 12:34:13 +02:00
  • 9d7791557b revert: restore ff0cd00 (label history, overwrite mode, crop overlay) Ethanfel 2026-04-07 12:11:36 +02:00
  • 2352d530d0 feat: queue done marks, export UX, scrub-while-playing, counter fix Ethanfel 2026-04-07 11:41:07 +02:00
  • 6e02a08046 Revert "feat: label history, overwrite mode, crop overlay, UX improvements" Ethanfel 2026-04-07 11:36:40 +02:00
  • ff0cd00309 feat: label history, overwrite mode, crop overlay, UX improvements Ethanfel 2026-04-07 11:34:47 +02:00
  • 6573fa6e05 feat: mpv Wayland embedding, timeline redesign, UX polish Ethanfel 2026-04-06 22:22:58 +02:00
  • 7931a0e3db debug: write mpv log to /tmp/8cut-mpv.log Ethanfel 2026-04-06 20:56:14 +02:00
  • 939199717f fix: use QOpenGLContext.getProcAddress for mpv render context proc lookup Ethanfel 2026-04-06 20:54:19 +02:00
  • 8863634bce debug: add mpv log output and initializeGL trace Ethanfel 2026-04-06 20:51:11 +02:00
  • e5f2c732d9 fix: wrap get_proc_address as CFUNCTYPE for mpv render context Ethanfel 2026-04-06 20:50:02 +02:00
  • 1e0c1ae892 fix: replace wid embedding with OpenGL render context — works on Wayland and X11 Ethanfel 2026-04-06 20:48:59 +02:00
  • 2c95c2618a debug: print platform/wid/WAYLAND_DISPLAY at mpv init Ethanfel 2026-04-06 20:41:55 +02:00
  • c130010e36 fix: hide WAYLAND_DISPLAY during mpv init so it uses X11 wid embedding Ethanfel 2026-04-06 20:41:16 +02:00
  • 02c63bdfde fix: force QT_QPA_PLATFORM=xcb so mpv embeds correctly on Wayland sessions Ethanfel 2026-04-06 20:39:12 +02:00
  • f30955b63c debug: print drag-drop events to diagnose Wayland DnD Ethanfel 2026-04-06 20:37:13 +02:00
  • c80ebf9383 fix: move drag-drop to MainWindow to bypass QListWidget viewport on Wayland Ethanfel 2026-04-06 20:35:47 +02:00
  • 3d92a66660 fix: re-apply LC_NUMERIC=C after QApplication resets locale Ethanfel 2026-04-06 20:33:51 +02:00
  • bdfb9354ca fix: set LC_NUMERIC=C before mpv init to prevent segfault on non-C locales Ethanfel 2026-04-06 20:32:56 +02:00
  • 41c36267e9 fix: use NoDragDrop mode + viewport.setAcceptDrops for Wayland/KDE compatibility Ethanfel 2026-04-06 20:31:37 +02:00
  • d720fc0541 fix: accept dragMoveEvent so file drops work on all desktop environments Ethanfel 2026-04-06 20:30:31 +02:00
  • 31f4df4c5b fix: suppress QFrame paintEvent on mpv native window Ethanfel 2026-04-06 20:29:06 +02:00
  • 39bbfedb9d fix: suppress paintEngine warnings from mpv native window embedding Ethanfel 2026-04-06 20:28:00 +02:00
  • 025d5afe1f chore: add shebang for direct execution Ethanfel 2026-04-06 20:25:07 +02:00
  • 191d1cf299 fix: move SELVA_CATEGORIES to module level, harden append_to_tsv, fix tests Ethanfel 2026-04-06 18:48:46 +02:00
  • c76eb9ec84 feat: add label/category annotation fields and TSV export for SELVA Ethanfel 2026-04-06 18:45:29 +02:00
  • 8fb8782e65 fix: use correct venv path on Windows (Scripts/python.exe) Ethanfel 2026-04-06 18:30:37 +02:00
  • a74e5022b3 docs: add README Ethanfel 2026-04-06 18:28:59 +02:00
  • e62a712de2 perf: skip redundant repaints, cache fps, O(1) playlist dedup, fix worker leak Ethanfel 2026-04-06 18:18:31 +02:00
  • 16e0bc231c perf: playlist O(1) updates, marker hover cache, crop pen cache, keyboard debounce, export marker fast-path Ethanfel 2026-04-06 18:07:58 +02:00
  • 4c44d78c37 perf: seek debounce, cached paint resources, async DB lookup, regex pre-compile Ethanfel 2026-04-06 18:04:18 +02:00
  • b57131a3d9 feat: keyboard navigation for timeline Ethanfel 2026-04-06 17:35:46 +02:00
  • 9652b249ba feat: extract audio alongside WebP image sequence Ethanfel 2026-04-06 17:20:40 +02:00
  • fe3e642dfa fix: guard mask generation against WebP sequence export path Ethanfel 2026-04-06 17:19:03 +02:00
  • 855797a1b3 docs: clarify _last_export_path holds dir path for WebP sequence Ethanfel 2026-04-06 16:07:44 +02:00
  • f9649f7584 feat: wire WebP sequence format into export flow Ethanfel 2026-04-06 16:05:26 +02:00
  • 13c8a8aeab style: rename fmt_idx to idx in _cmb_format setup Ethanfel 2026-04-06 16:04:30 +02:00
  • c163b298c4 feat: add format combo (MP4 / WebP sequence) to export row Ethanfel 2026-04-06 16:02:26 +02:00
  • d3c4dea597 fix: guard makedirs in ExportWorker.run inside try/except Ethanfel 2026-04-06 16:01:16 +02:00
  • f86442322f feat: ExportWorker supports image_sequence mode Ethanfel 2026-04-06 15:59:17 +02:00
  • 1ab18e6ab5 fix: use -c:v and explicit -an in image_sequence ffmpeg command Ethanfel 2026-04-06 15:58:33 +02:00
  • 93028d9ac7 feat: build_sequence_dir and image_sequence flag for build_ffmpeg_command Ethanfel 2026-04-06 15:56:16 +02:00
  • c57ab4df77 docs: image sequence export implementation plan Ethanfel 2026-04-06 15:54:31 +02:00
  • 4f2feb1907 docs: image sequence export design Ethanfel 2026-04-06 15:53:13 +02:00
  • eca49caee9 fix: sam_masks — correct SAM2 API and mask logit threshold Ethanfel 2026-04-06 15:45:53 +02:00
  • 3c6f83de5a feat: wire mask generation and settings into MainWindow Ethanfel 2026-04-06 15:39:07 +02:00
  • ccc1e04acb feat: MaskWorker, SetupWorker, SettingsDialog Ethanfel 2026-04-06 15:37:12 +02:00
  • 44bcb285ac feat: sam_masks.py script using SAM2 video predictor Ethanfel 2026-04-06 15:35:29 +02:00
  • de6f48b508 feat: depth_masks.py script using Depth Anything V2 Ethanfel 2026-04-06 15:34:55 +02:00
  • 9bc65a2b25 feat: add build_mask_output_dir utility Ethanfel 2026-04-06 15:34:08 +02:00
  • 8fe3dc1c1b docs: mask generation implementation plan Ethanfel 2026-04-06 15:32:36 +02:00
  • da5d903286 docs: mask generation design Ethanfel 2026-04-06 15:26:03 +02:00
  • 29b404ec23 feat: wire portrait crop into MainWindow Ethanfel 2026-04-06 13:53:55 +02:00
  • d8c7642f15 feat: CropBarWidget for portrait crop positioning Ethanfel 2026-04-06 13:51:56 +02:00
  • 1a43c4725d feat: portrait crop filter in build_ffmpeg_command Ethanfel 2026-04-06 13:51:02 +02:00
  • d7b704efc3 docs: portrait crop implementation plan Ethanfel 2026-04-06 13:48:40 +02:00
  • 87be0d2408 docs: portrait crop design Ethanfel 2026-04-06 13:44:24 +02:00
  • 625ca2d21c feat: resize short-side field with QSettings persistence Ethanfel 2026-04-06 13:33:13 +02:00
  • 798c5ff4f4 feat: add short_side resize to build_ffmpeg_command Ethanfel 2026-04-06 13:31:58 +02:00
  • ce7e808249 docs: resize output implementation plan Ethanfel 2026-04-06 13:17:35 +02:00
  • b8f9d6541b docs: resize output design Ethanfel 2026-04-06 13:16:28 +02:00
  • 207518902f feat: wire timeline markers into MainWindow Ethanfel 2026-04-06 13:11:05 +02:00
  • 5960a2fe78 feat: timeline markers with hover tooltip Ethanfel 2026-04-06 13:10:12 +02:00
  • 63d48a968c feat: DB schema v2 — store start_time and output_path, add get_markers Ethanfel 2026-04-06 13:08:49 +02:00
  • c34f3b4039 docs: timeline markers design Ethanfel 2026-04-06 13:03:07 +02:00
  • bcde41c4fc fix: list item selection styling, advance() guard against no selection Ethanfel 2026-04-06 12:59:18 +02:00
  • f93fea2a22 fix: clear stale DB warning, allow playlist panel to resize Ethanfel 2026-04-06 12:55:58 +02:00
  • ccdb50c6a4 feat: wire playlist and DB into MainWindow Ethanfel 2026-04-06 12:53:41 +02:00
  • 75fd43577e feat: PlaylistWidget with drop support and auto-advance Ethanfel 2026-04-06 12:51:46 +02:00
  • dab4b26ce1 fix: utcnow deprecation, DB unique constraint and index, regex comment Ethanfel 2026-04-06 12:50:53 +02:00
  • 558fa23da4 feat: ProcessedDB and _normalize_filename with tests Ethanfel 2026-04-06 12:42:03 +02:00
  • 3124b64c29 docs: playlist and processed-files DB design Ethanfel 2026-04-06 12:37:58 +02:00
  • c5f508ffb9 fix: remove redundant _reset_counter call in _pick_folder Ethanfel 2026-04-06 12:27:51 +02:00
  • 1fb69b10fb fix: Wayland XCB force, AB-loop clamp, folder textChanged, drop validation Ethanfel 2026-04-06 12:26:08 +02:00
  • 73abd5429a feat: dark theme, complete 8-cut tool Ethanfel 2026-04-06 12:22:49 +02:00
  • 9981cc84c1 docs: clarify format_time truncation and counter reset behavior Ethanfel 2026-04-06 12:22:17 +02:00
  • 322d89b688 feat: complete MainWindow UI with playback and export Ethanfel 2026-04-06 12:19:54 +02:00
  • ad1a4283e8 feat: MpvWidget with seek and AB-loop Ethanfel 2026-04-06 12:12:53 +02:00
  • ba736fe532 fix: end QPainter in finally block to prevent resource leak Ethanfel 2026-04-06 12:11:39 +02:00
  • f0313b10a8 feat: TimelineWidget with cursor and 8s highlight Ethanfel 2026-04-06 12:09:35 +02:00
  • 8a97c3c7c2 fix: ffmpeg command type hint, -ss comment, FileNotFoundError handler Ethanfel 2026-04-06 12:08:42 +02:00
  • f6832f58a6 feat: ExportWorker with ffmpeg command builder Ethanfel 2026-04-06 12:06:32 +02:00
  • 68f9a01d2b fix: format_time rollover, move sys.path to conftest Ethanfel 2026-04-06 11:16:52 +02:00