Commit Graph
1757 Commits
Author SHA1 Message Date
jnohclee-rgb bcb7902f42 fix(engine): preserve offline sources referenced through subclips
Signed-off-by: jnohclee-rgb <336857373+jnohclee-rgb@users.noreply.github.com>
2026-10-13 08:56:52 +08:00
Ikki Nishihara 78fe0102bd fix(timeline): 縦スクロールバーを横バーと同じ幅に揃える (#1189)
(cherry picked from commit e65699b125)
2026-10-11 23:22:17 -04:00
Ikki Nishihara 5f05761ded fix(timeline): 波形をクリップ背景の暗い同系色で表示する (#1183)
(cherry picked from commit 5e1c985925)
2026-10-11 23:22:17 -04:00
Ikki Nishihara b8ff6b09ad fix(timeline): 無効クリップのラベル色を保持する (#1190)
(cherry picked from commit f6248ddf5d)
2026-10-11 23:22:17 -04:00
Ikki Nishihara 2ad63fd7ff fix(timeline): HomeとEndで再生位置を常に表示する (#1188)
(cherry picked from commit c79e77a132)
2026-10-11 23:22:17 -04:00
Brandon Thomas 1fdfd8324d Merge pull request #1217 from liangforstudy/fix-movable-dialogs
dialogs: drag them by the title bar (open centred, no longer anchored)
2026-10-11 23:15:46 -04:00
Brandon Thomas eb37bea42e Merge pull request #1193 from OorjitSethi/split/editor-redraw
ui: reduce sequence copying and cache transcript redraw data
2026-10-11 23:15:45 -04:00
Brandon Thomas 5c14985990 Merge pull request #1198 from n-delic/fix-1124-cmd-d-selection
#1124: ⌘D / ⇧⌘D apply transitions to the selected clips or edit points
2026-10-11 23:15:45 -04:00
Brandon Thomas 54653a15a6 Merge pull request #1168 from haranishi/fix/1135-close-gap-shortcut
fix: Close Gapをショートカットに割り当てられるようにする
2026-10-11 23:15:44 -04:00
Brandon ThomasandClaude Opus 5.5 a2573d9228 Selected-clip transitions honour an explicit edge
sequence.applyVideoTransition {edge: "out"} with a clip selected put
transitions on both free edges (speed_duration_moves_fade_out_to_the_new_clip_end
failed); with edge given only that side is used.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 23:15:36 -04:00
Brandon Thomas a1726ac09b Merge remote-tracking branch 'origin/main' into fix-1198 2026-10-11 23:13:26 -04:00
Brandon Thomas ca36cf9a6a Merge pull request #1052 from Auipp/fix/timeline-escape-drag
timeline: cancel drag and restore playhead on Escape (#580)
2026-10-11 22:53:29 -04:00
Brandon ThomasandClaude Opus 5.5 8f400822fa ui-egui: drop an unused import in the timeline Escape test
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:53:20 -04:00
Brandon ThomasandClaude Opus 5.5 4b31803461 Merge main into #1052: Escape keeps restoring scrub, volume, pan and the marquee's selection next to #608, #1028, #1090 and #1104
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:52:40 -04:00
Brandon ThomasandClaude Opus 5.5 4ccc1a84c4 gpu: devices whose effect pipelines fail validation fall back to CPU effects (from #37)
The only part of #37 not already on main: FxStage::new runs inside a
validation error scope, so a device where Rgba32Float is not renderable
(software Vulkan/GL) logs and renders effects on the CPU instead of panicking.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:44:12 -04:00
Brandon Thomas 66c9bc6173 Merge pull request #1063 from vbasky/fix/1058-linux-vaapi-encode-export-hang
Linux: VA-API EncSlice probe and bounded export GPU wait (#1058)
2026-10-11 22:41:23 -04:00
Brandon ThomasandClaude Opus 5.5 0a3abdc3d0 Keep the bounded GPU readback wait (the #1058 fix); leave out the VA-API encode probe
The probe only logged and always returned None, opened a VA display on every
H.264 Auto export, and made VA-API decode fail to load where libva lacks the
new symbol. A real VA-API encoder can come in its own PR.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:41:16 -04:00
Brandon Thomas 96959e5490 Merge remote-tracking branch 'origin/main' into fix-1063 2026-10-11 22:39:15 -04:00
Brandon Thomas 9532dff5dc Merge pull request #1067 from vangel76/perf-hevc-u8
#1039: 8-bit HEVC pictures as u8, in-place motion compensation (−14…23 % per frame), big-picture analysis
2026-10-11 22:36:31 -04:00
Brandon Thomas 4201c1feed Merge pull request #1070 from luniiya/feat/theme-favorites
UI: favorite themes and appearance shortcuts
2026-10-11 22:34:19 -04:00
Brandon ThomasandClaude Opus 5.5 d6a10470f3 i18n: theme favorites strings stay out of the menus-only catalogs (de, ru, uk); Indonesian gets them
de, ru and uk hold only menu labels (their tests check every entry is one);
Indonesian mirrors the Spanish catalog.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:34:11 -04:00
Brandon ThomasandClaude Opus 5.5 452d366156 Merge main into #1070 (tests, catalogs); drop the ATTRIBUTION line for drawing code (no asset)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:29:50 -04:00
Brandon Thomas ef12831b36 Merge pull request #964 from mjohnson7cd/fix/2093-korean-ui-font
fix(ui): add Korean font fallback for UI text
2026-10-11 22:27:31 -04:00
Brandon ThomasandClaude Opus 5.5 8a6ea57886 Merge main into #964; the Hangul issue is artcraft#2093
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:27:23 -04:00
Brandon Thomas 34f6eb741d Merge remote-tracking branch 'origin/main' into fix-964 2026-10-11 22:27:15 -04:00
Brandon Thomas 2f4fba1def Merge pull request #1165 from MarekSpodBiedry/issue-1137
Trim MP3 encoder delay when decoding audio files (#1137)
2026-10-11 22:26:23 -04:00
Brandon ThomasandClaude Opus 5.5 85357ede03 codecs: gapless trimming for MP3 files only
Other formats' start and priming (AAC edit lists, …) are handled and
oracle-tested elsewhere; enable_gapless for them could move their audio.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:26:15 -04:00
Brandon Thomas 812a7108d0 Merge remote-tracking branch 'origin/main' into fix-1165 2026-10-11 22:25:08 -04:00
Brandon Thomas 8264eb4077 Merge pull request #865 from earlvanze/perf/audio-block-processing
M7: optimize audio DSP and isolate the unchanged mixer throughput gate
2026-10-11 22:24:07 -04:00
Brandon ThomasandClaude Opus 5.5 84fd122bd2 Drop the benchmark log (it cites private development logs); the PR description keeps the summary
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:22:46 -04:00
Brandon Thomas cd7f932853 Merge remote-tracking branch 'origin/main' into fix-865 2026-10-11 22:22:32 -04:00
Brandon Thomas f5289f69bd Merge pull request #1046 from vbasky/fix/907-median-radius
Median Radius is not capped at four working pixels
2026-10-11 22:21:35 -04:00
Brandon ThomasandClaude Opus 5.5 121e7ba27e render: Median radius stays within the parameter's range (0–100 source pixels)
The filter costs radius² per pixel; with only the image size as a cap, a
project file's radius could make one 4K frame take hours.
Regression test: median_radius_stays_in_the_parameter_range.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:21:27 -04:00
Brandon Thomas 5f7745d592 Merge remote-tracking branch 'origin/main' into fix-1046 2026-10-11 22:19:41 -04:00
Brandon Thomas f364eff00a Merge pull request #837 from vangel76/gap-exr-import
#828: import OpenEXR stills and image sequences
2026-10-11 22:18:13 -04:00
Brandon ThomasandClaude Opus 5.5 59bf7cc21f Merge main into #837 (EXR next to DNG and APNG); cap EXR chunk size, fallible chunk buffers
A tiny header naming ~1000 channels on a 64M-pixel line sized each chunk
buffer at hundreds of GB and Vec::with_capacity aborted the process.
Chunks over 256 MB are refused, and the RLE / zlib buffers reserve with
try_reserve_exact. Regression test: huge_scan_lines_are_refused_before_allocating.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:18:05 -04:00
Brandon Thomas 841df3ca5e Merge remote-tracking branch 'origin/main' into HEAD 2026-10-11 22:14:56 -04:00
Brandon ThomasandClaude Opus 5.5 b10d24ef5c timeline: Escape during a box selection restores the selection it began with (#608 + #1028 regression)
#608 drops any timeline drag on Escape before the release runs, but the
live box from #1028 had already changed the selection, and only the
release put it back (timeline_marquee_ui escape_cancels_the_box...).
Escape now restores the Marquee's starting selection when it drops it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:13:14 -04:00
Brandon ThomasandClaude Opus 5.5 8a36e82f2e ui: stopping playback also closes the scrub stream (#1109 + #1031 regression)
Since #1109 a press on the ruler moves the playhead at once, so the press
already opens the scrub stream. The drag start then calls stop(), which
stopped the audio device but left scrub.open set, so later grains never
restarted it (meters_ui the_meters_move_while_scrubbing: no output).
stop() now marks the scrub stream closed with the device.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:13:14 -04:00
Brandon ThomasandClaude Opus 5.5 0ec8c73e8f masks: the pen tool no longer deadlocks egui when a drag places a point (#667 regression)
pen_overlay read resp.drag_started_by() inside ui.data_mut(), which holds
the context's write lock that drag_started_by needs. A Shift-drag that
placed a point hung for egui's 10 s lock timeout, then panicked
(shift_constrains_pen_mask_segments_to_45_degrees got 3 points, not 4).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:13:14 -04:00
Brandon ThomasandClaude Opus 5.5 ab85b3d757 ui-egui: the hot-number click test clears its font texture upload (#1166)
The test ran egui frames without a renderer and dropped the output's
textures delta, which epaint 0.36 turns into a panic. The global panic hook
then failed crash::tests::hook_records_and_logs_worker_panics too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:13:14 -04:00
Brandon ThomasandClaude Opus 5.5 9761c9e39b tts-text: fractions take operands of up to three digits (#954 regression)
#954 let fraction operands run to any cardinal length, so the "7/2026"
left after an impossible date's "13/" read "seven over two thousand
twenty-six" instead of a slash and the year (normalize::tests::dates).
Three digits covers every case #954 added (7/100, 100/7).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:13:14 -04:00
Brandon Thomas 03ecfaafe2 Merge pull request #1159 from haranishi/fix/967-effect-keyframe-selection
fix: エフェクトコントロールの矩形選択とShiftスナップを修正 (#967)
2026-10-11 22:12:53 -04:00
Brandon ThomasandClaude Opus 5.5 f460e4630e Merge main into #1159 (keyframe lane uses the selection module, which handles Escape itself; tests)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:12:45 -04:00
Brandon Thomas b6884188d8 Merge pull request #1139 from itrycodinganditsbad/fix-1101
fix(timeline): snap sub-frame timeline.place to the frame grid; inspect counts export's frames (#1101)
2026-10-11 22:09:23 -04:00
Brandon ThomasandClaude Opus 5.5 bbacbf2750 Merge main into #1139: frame-grid snapping moves into place_one (#746); saturating end
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:09:15 -04:00
liangforstudyandClaude Opus 5.5 dd69fc594e dialogs: drag them by the title bar (open centred, no longer anchored)
About FilmCraft, System Compatibility Report, Sequence Settings and the
other modal dialogs were placed with `Window::anchor(CENTER_CENTER)`,
and egui makes anchored windows immovable, so dragging the title bar did
nothing. They now open at the centre of the app window through a
centre pivot and `default_pos` (`widgets::dialog_center`, or the
`CenteredDialog::centered` shorthand on one-line chains) and can be
moved like any other window.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 10:07:49 +08:00
Brandon Thomas 9432300f0e Merge pull request #879 from vangel76/gap-exr-compression
#874: compressed (RLE / ZIPS / ZIP) OpenEXR export
2026-10-11 22:01:49 -04:00
Brandon ThomasandClaude Opus 5.5 71ceebe857 Merge main into #879 (export schema next to FLAC, catalogs, parity table)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:01:41 -04:00
Brandon Thomas 30673c84a2 Merge pull request #1068 from vangel76/feat-cinemadng
#1065: CinemaDNG / DNG import with a clean-room decoder
2026-10-11 21:59:13 -04:00