Mike-Solar
bb40b4923e
style: unify identifier naming per updated conventions
...
Automated with clang-tidy readability-identifier-naming (config added to
.clang-tidy) plus scripted passes, per the updated rules now documented
in CONTRIBUTING.md:
- types (class/struct/enum/alias/template params): PascalCase
- functions, variables, members: snake_case (incl. rational -> Rational)
- private/protected members: trailing underscore; static member
variables likewise (instance_, available_themes_)
- constants and enum values: snake_case (kLinear -> k_linear,
F32P -> f32p); ALL_CAPS reserved for macros
- macros: OAK_ prefix (OLIVE_ADD_TEST/OLIVE_ASSERT/OLIVE_CONFIG ->
OAK_ADD_TEST/OAK_ASSERT/OAK_CONFIG, GL_PREAMBLE -> OAK_GL_PREAMBLE,
include guards -> OAK_*)
- file names: all lowercase (Current/Plugin/OliveHost/OliveClip/
OlivePluginInstance -> current/plugin/olivehost/oliveclip/
oliveplugininstance)
- getters share the member name sans underscore, setters set_foo()
- Qt and third-party (OpenFX) virtual overrides and framework callbacks
keep their original names (exempt in .clang-tidy)
Manual follow-ups required where automation could not reach:
- string-based QMetaObject/SIGNAL/SLOT references updated to renamed
methods (AddTask, CreatedFile, DeleteSpecificFile, moveSelectionUp, ...)
- macro bodies referencing renamed methods (OLIVE_CONFIG,
NODE_DEFAULT_DESTRUCTOR, MANAGEDDISPLAYWIDGET_*)
- self-shadowing locals renamed where signals/methods became same-named
(size_changed, worker_count, selected_items, import param, filters)
- third_party OFX member/namespace usages restored (OFX::Host::*,
_created, _clipPrefsDirty, createInstance, clearPersistentMessage)
- STL protocol aliases restored (const_iterator) with .clang-tidy
ignore rules; qHash overloads restored
Full build and test suite pass: ctest 4/4, ~1960 gtest cases green.
2026-07-19 16:10:54 +08:00
Mike-Solar
e5eeaddf2f
format: reformatting files
2026-07-13 15:30:43 +08:00
Mike-Solar
f6211f97a5
Fix render worker reuse and stabilize out-of-process video rendering
2026-07-13 10:19:30 +08:00
Mike-Solar
599c876d03
全链路强制F32
2026-05-14 01:51:14 +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
cad331eb2c
Fix compile errors
2026-01-05 01:50:05 +08:00
Mike-Solar
f191486375
Implement multi-input OFX clip wiring and texture handling
...
Store PluginJob input values for lookup
Add per-clip texture inputs on plugin nodes
Map input clips to textures during render (with Source fallback)
2026-01-04 22:30:41 +08:00
Mike Solar
7c0f37b0a7
Implement default methods for plugin parameter editing and progress, and integrate plugin rendering into the build system.
2025-12-24 21:07:17 +08:00
Mike-Solar
8a7b6cf869
Add OFX plugin support and related infrastructure
...
This commit extends the OFX plugin support in Olive by:
- Initializing and scanning for OFX plugins
- Updating PluginNode to handle OFX plugin parameters and inputs
- Adding necessary methods and properties for OFX plugin integration
- Enhancing NodeFactory to include OFX plugin nodes
- Refactoring and renaming OliveInstance to OlivePluginInstance
- Introducing new classes for parameter handling (ParamInstance)
- Adding PluginJob for rendering OFX plugins
- Adjusting CMakeLists.txt files to include new source files
2025-11-09 17:03:56 +08:00
Mike Solar
6fdfd03ffd
update: update copyright
2025-08-05 17:12:49 +08:00
Mike Solar
74f73ab3be
change: change code style to Linux style except indent.
2025-08-03 03:09:40 +08:00
itsmattkc
ca47792dc7
nodes: clamp footage retrieval times for clips
...
Fixes #2070
2022-11-01 12:44:01 -07:00
itsmattkc
5e92930de0
nodes: fix loop mode regression
2022-11-01 09:15:51 -07:00
itsmattkc
ef8996d48f
nodes: allow ignoring specific inputs for rendering
...
Also ignore sequence input on multicam
2022-10-04 21:13:01 -07:00
itsmattkc
42ba84bf5f
multicam: finished UI implementation
2022-10-03 17:24:09 -07:00
itsmattkc
01c3c6050d
restored audio functionality
2022-09-27 13:46:42 -07:00
itsmattkc
c1c2d0bc05
Merge branch 'master' into multicam
2022-09-25 16:39:03 -07:00
itsmattkc
6ce920c5c8
nodes: resolve audio jobs in the old way for now
2022-09-24 18:50:17 -07:00
itsmattkc
c0d8ff403f
nodes: rework so that jobs can be completely deferred
...
Big optimization requiring a lot of refactoring.
2022-09-24 18:44:59 -07:00
itsmattkc
cde6129868
node: simplify traverser/node globals
2022-09-23 16:59:12 -07:00
itsmattkc
825b06f7a7
render: only use cache in offline mode
2022-09-23 12:31:17 -07:00
itsmattkc
b19730b1f5
nodes: store time with accelerated jobs
...
Fixes #2031
2022-09-23 02:55:18 -07:00
itsmattkc
3abc9eb1d1
nodes: revise means of limiting array elements
2022-09-19 08:55:37 -07:00
itsmattkc
4dbfbd63ec
nodes: revise array type
2022-09-18 22:43:30 -07:00
itsmattkc
54d0a94a20
Merge branch 'master' into cache-update
2022-08-18 08:12:46 -07:00
itsmattkc
5ea97f7a64
render: remove alpha request option
2022-07-20 23:14:16 -07:00
itsmattkc
0d9727b6d2
architecture: move loop modes to clips
2022-07-17 15:22:36 -07:00
itsmattkc
a8d46c4c5f
render: fix issue responding to cancelled tasks
2022-07-10 12:54:55 -07:00
itsmattkc
25699ef05b
cache: use disk states to share caches
2022-06-05 19:47:33 -07:00
itsmattkc
13299d0a3b
cache: implemented base functionality for clip cache
2022-06-04 17:29:09 -07:00
itsmattkc
998b9ba482
Merge branch 'master' into hashremoval
2022-06-01 10:06:33 -07:00
itsmattkc
8939a3aa66
allow concurrent decoders for different blocks
2022-06-01 10:03:33 -07:00
itsmattkc
60f7f06de4
implemented base for thumbnail display
2022-05-25 11:18:08 -07:00
itsmattkc
36e56b4941
nodetraverser: actually use the correct format
...
Oof this was so stupid
2022-05-24 13:09:31 -07:00
itsmattkc
23973699b4
render: improved overall flow
2022-05-16 15:41:50 -07:00
itsmattkc
79e1ea70a5
nodes: prevent transform traversals creeping back up
2022-05-15 22:31:34 -07:00
itsmattkc
09c57422f9
ffmpeg: significantly optimized decoder
2022-05-15 19:33:01 -07:00
itsmattkc
e9844ee135
implemented gizmo transforming through the node graph
2022-05-15 14:36:30 -07:00
itsmattkc
4b366a9b73
update copyright year to 2022
2022-05-10 10:38:56 -07:00
itsmattkc
bb0fedabba
simplified and optimized samplebuffer
2022-05-09 14:55:51 -07:00
itsmattkc
58c4600d04
nodevalue: begin abstracting qvariant
2022-05-09 13:07:34 -07:00
itsmattkc
9bbe39ba46
Merge pull request #1875 from ThomasWilshaw/ocio_node
...
Initial OCIO node implementation
2022-05-08 11:57:05 -07:00
itsmattkc
fca5f65899
renderer: fix divider regression
2022-05-07 16:27:10 -07:00
itsmattkc
21000c3aa7
nodetraverser: always push primary input last if applicable
2022-05-07 09:39:08 -07:00
itsmattkc
81e2628cbb
Merge branch 'master' into pr/1875
2022-05-04 15:04:28 -07:00
itsmattkc
a3c52cafaa
traverser: fixed regression regarding converting generated frames
2022-05-03 20:49:44 -07:00
itsmattkc
d8a944c8c4
port more nodes to use recursive jobs
2022-05-03 20:34:17 -07:00
itsmattkc
7cbca303e8
Merge branch 'master' into pr/1875
2022-05-03 18:51:59 -07:00
itsmattkc
329dfb7913
renderer: resolve jobs at the end
2022-05-03 18:43:12 -07:00