Commit Graph
165 Commits
Author SHA1 Message Date
Mike-Solar e5eeaddf2f format: reformatting files 2026-07-13 15:30:43 +08:00
Mike-Solar 5a5ad3bc14 render: add diagnostics for worker graph load failures
- Report QFile::errorString() when ProjectSerializer::Load() fails to open
  the graph file, so the worker log shows why instead of an empty detail.
- In olive-render-worker LoadGraph(), check file existence, size and
  readability before delegating to the serializer and log the attempt.
2026-07-13 13:25:25 +08:00
Mike-Solar 43599dba9e Add batch proxy menu to Project Explorer and persist Use Proxy state
The Project Explorer previously only had an old Pre-Cache submenu that
required choosing a sequence. Replace it with the same Proxy menu that
the timeline uses:

- Generate Proxy: batch-generates proxies for all selected footage items
  that have an enabled video stream, using ProxyManager and the current
  proxy settings.
- Use Proxy: checkable toggle that enables/disables proxy playback for the
  selected footage.
- Reveal Proxy / Delete Proxy: consistent with the timeline context menu.

Also make Footage::SaveCustom() write the <proxy> element whenever
proxy_enabled_ is true, even if proxy_path_ is empty, and load it back
in LoadCustom(). This preserves the user's Use Proxy preference across
project saves so it is restored on the next open.

Translation files updated with lupdate; zh_CN and zh_TW translations for
the new Project Explorer strings (and the matching timeline strings) are
filled in.
2026-07-13 10:19:30 +08:00
Mike-Solar e8443f8f8f Fix crash when toggling Use Proxy during playback and proxy generation output format 2026-07-13 10:19:30 +08:00
Mike-Solar 0969e2adc5 Add diagnostics for proxy toggle synchronization
Add temporary qDebug logging to Footage, ProjectCopier,
RenderWorkerPool, and TimelineWidget to trace why Use Proxy cannot be
 toggled and why proxy footage may still be used after disabling.
2026-07-13 10:19:30 +08:00
Mike-Solar 818b76b64e Sync Footage proxy state to render worker copy project
Proxy state (enabled/path/state/etc.) is stored as Footage member data,
not as a Node input, so ProjectCopier did not synchronize it to the
internal copy project used by worker processes. This caused toggling
Use Proxy in the UI to have no effect on rendered output.

Add a Footage::ProxySettingsChanged signal and have ProjectCopier sync
the proxy state to the copied Footage node, marking the copy project
modified so RenderWorkerPool writes a fresh graph snapshot.
2026-07-13 10:19:30 +08:00
Mike-Solar 8ae8e3a159 Implement proxy media workflow 2026-07-13 10:19:29 +08:00
Mike-Solar 9c1fba4932 Add timeline audio sync actions 2026-07-13 10:19:29 +08:00
Mike-Solar 08b1c6d562 Implement audio sync foundations 2026-07-13 10:19:29 +08:00
Mike-Solar b23e01b916 Add render worker IPC loop 2026-06-04 13:57:36 +08:00
Mike-Solar c1b77ceec5 Merge branch 'plugin' 2026-01-17 17:03:39 +08:00
Mike-Solar bfb1b2fce4 update copyright back 2026-01-16 21:22:05 +08:00
Mike-Solar b8669f6a11 Change project name; 2026-01-05 16:22:26 +08:00
Mike Solar 6fdfd03ffd update: update copyright 2025-08-05 17:12:49 +08:00
Mike Solar c4f47b6217 change: change code style to Linux style except indent. 2025-08-03 22:50:34 +08:00
Mike Solar 11d8ea5e78 fix: compilation errors 2025-08-03 22:50:26 +08:00
Mike Solar 994ac94ed2 试图解决编译错误 2025-08-03 22:50:24 +08:00
Mike Solar 74f73ab3be change: change code style to Linux style except indent. 2025-08-03 03:09:40 +08:00
Mike Solar 203a280d8e fix: compilation errors 2025-07-13 14:37:53 +08:00
Mike Solar e18cf095f5 试图解决编译错误 2025-06-19 21:01:45 +08:00
itsmattkc 0a54585ece ffmpegdecoder: disable stills in otherwise audio only files by default 2023-03-20 16:50:11 -07:00
itsmattkc 0beecfaaa6 projectserializer: if no project, add to loaded nodes vector 2023-03-11 14:05:48 -08:00
itsmattkc 936d75063f projectserializer: explicitly differentiate between node and clip pasting 2023-03-11 13:58:55 -08:00
itsmattkc d71359e914 track: fixed issues from recent rework 2023-03-02 00:06:35 -08:00
itsmattkc 066a10e6a0 timeline: avoid duplicate items or item dependencies when pasting
God damn this was a big oof. Pasting was inadvertently making duplicates of the footage node(s) every single time. Worst case was if the clip was connected to a nested sequence. Every time someone copy/pasted in my large-scale project, it would add another 1000 nodes to the project. It's about fucking time this was fixed.
2023-02-28 22:28:32 -08:00
itsmattkc b091ed8592 project: remove constant root node 2023-02-28 17:01:46 -08:00
itsmattkc b88b738071 project: moved color manager outside of node graph 2023-02-28 15:20:05 -08:00
itsmattkc f12c3b01d5 project: remove ProjectSettings 2023-02-28 11:59:05 -08:00
itsmattkc cb9008a623 Merge branch 'master' into move-serialization 2023-02-28 11:29:52 -08:00
itsmattkc ec2ff82229 node: merge tooltip into data function 2023-02-27 18:12:28 -08:00
itsmattkc 7ec8a4dd7e serializer: ensure backwards compatibility 2023-02-26 15:42:54 -08:00
itsmattkc 46d15396a6 Merge branch 'track-redux' into move-serialization 2023-02-23 11:09:45 -08:00
itsmattkc aeac292ecb Merge branch 'master' into track-redux 2023-02-23 11:07:50 -08:00
itsmattkc 49fd809db7 serializer: clear existing clip name if duplicate of footage name 2023-02-21 19:49:52 -08:00
itsmattkc 028651f9fb moved serialization 2023-02-21 14:26:34 -08:00
itsmattkc a27ca0faa5 Merge branch 'master' into track-redux 2023-02-21 09:58:26 -08:00
itsmattkc 5891b70137 inputflag: rename IgnoreConnections to IgnoreInvalidations 2023-02-21 09:57:57 -08:00
itsmattkc a3b75a3a70 update for node-redux 2023-02-21 09:41:19 -08:00
itsmattkc bef8fd7b50 Merge branch 'node-rework' into track-redux 2023-02-21 09:33:52 -08:00
itsmattkc f9cd28a694 node: make convenient input flag setter 2023-02-20 19:13:50 -08:00
itsmattkc 7348d28243 move ignore connections to input flag 2023-02-20 16:18:20 -08:00
itsmattkc 11e4e051c3 move undo files around for better organization 2023-02-20 16:09:22 -08:00
itsmattkc ffec819eef successfully transmit block map
Requires a binary data type, which requires a new project serializer
2023-02-20 14:56:04 -08:00
itsmattkc 71e8665fbf move item setting to a node flag 2023-02-19 21:30:49 -08:00
itsmattkc 2c4347e9a6 node: merge various metadata functions into one 2023-02-19 21:16:05 -08:00
itsmattkc b8ee27e1cb node: removed dumb undoable param 2023-02-19 11:36:46 -08:00
itsmattkc 9745b536f6 nodes: remove graph and merge into project 2023-02-17 14:13:03 -08:00
itsmattkc c1c6893713 various: moved more to core lib 2023-01-19 16:01:31 -08:00
itsmattkc dd9c52ab59 start moving core frameworks to external libraries 2023-01-19 09:51:47 -08:00
itsmattkc af76fbf0e1 folder: revise child exists to find child function 2022-12-08 11:25:31 -08:00