Commit Graph
110 Commits
Author SHA1 Message Date
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