Mike-Solar
8311128f4c
engine: node parameter panel migrates to the facade
...
- new facade API: set_input_at_time (element addressing, track=-1 for
all components at once), set_input_string_at_time, frame_time_base,
array_insert_at/remove_at, disconnect_ex (element-aware), and
keyframes_set_type_many (first cross-track keyframe op, addressed by
(time,track) pairs)
- the widget bridge's commit funnel, color path, array ops, label
disconnect, and keyframe set-type actions in keyframeview/curvewidget
now go through the facade; keyframeviewundo.h loses two consumers
- deliberate leftovers with rationale: keyframecontrol's multi-track
composite ops (documented track-0-only limitation of the keyframe
family), keyframeproperties dialog (needs a set_time primitive),
curveview's drag UX, and NodeInputDragger (already engine-side)
2026-07-20 14:42:00 +08:00
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
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
e1938a14e0
Finish TODO 6 and 7
2026-01-04 23:16:10 +08:00
Mike-Solar
1b29bd147e
Add missing param instance types (String, Double3D/Integer3D, Group/Page, Custom/Bytes) and mapping to node inputs. app/pluginSupport/OlivePluginInstance.cpp, app/node/plugins/Plugin.cpp
2026-01-04 22:53:26 +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
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
2c2df99963
name every undo command
2023-03-12 00:49:03 -08:00
itsmattkc
e2c04f2e7c
nodeparamview: handle array size changes in keyframe view
...
Fixes #2097
2023-02-21 22:17:41 -08:00
itsmattkc
e859ba51f0
nodeparamviewitem: fix regression crash on array append command
2023-02-21 21:08:35 -08:00
itsmattkc
11e4e051c3
move undo files around for better organization
2023-02-20 16:09:22 -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
d1545745d8
various: moved time from viewer UI to viewer node
2022-10-23 20:56:04 -07:00
itsmattkc
b28495c7a6
nodeparamview: speed up node adding
2022-09-28 19:56:18 -07:00
itsmattkc
4c71a33b7b
node: implement array start offset
2022-07-17 14:48:00 -07:00
itsmattkc
8455e94de3
nodeparamview: fix crash when body is recreated
2022-05-28 19:20:33 -07:00
itsmattkc
d600d3acb8
nodeparamview: fix null receiver warning
2022-05-23 11:35:56 -07:00
itsmattkc
22bd9f4eec
nodeparamviewitem: fix max column
...
Fixes #1922
2022-05-12 13:29:54 -07:00
itsmattkc
501564fb22
ui: replace html edit in text node with edit in viewer button
2022-05-10 18:07:17 -07:00
itsmattkc
4b366a9b73
update copyright year to 2022
2022-05-10 10:38:56 -07:00
itsmattkc
f910117a58
blur: implement radial and directional blur methods
2022-05-08 16:53:04 -07:00
itsmattkc
001834cbfa
node: implemented bypassing
2022-04-26 15:07:01 -07:00
itsmattkc
1448f641e5
nodeparamview: remove item when nodes is removed from context
2022-04-09 15:36:49 -07:00
itsmattkc
cbd7c99219
nodeparamview: span columns where possible
2022-03-27 17:23:27 -07:00
itsmattkc
6aa493bd67
reworked param view passthroughs for groups
2022-01-22 18:17:51 -08:00
itsmattkc
ce0bdee295
paramview: always connect signals to real node rather than group
2022-01-21 10:06:43 -08:00
itsmattkc
090fbb09d0
contexts in param view
2021-12-08 14:08:12 -08:00
itsmattkc
c04b689215
paramview: preliminary group support
2021-12-02 08:56:36 -08:00
itsmattkc
495b07fc55
implemented node groups
2021-11-24 17:58:48 -08:00
itsmattkc
5f859895a8
nodeparamview: improved performance
2021-09-30 00:20:07 -07:00
itsmattkc
8796cce8c6
nodeparamview: improved node value tree size policy
2021-09-22 18:55:56 -07:00
itsmattkc
67c7c71ca2
implemented "value hints" for choosing output values to use
2021-09-17 20:56:53 -07:00
itsmattkc
b07bccb7dc
nodes: revert to single output
2021-09-07 22:01:36 -07:00
itsmattkc
3593d70f34
speedduration: more or less done now
2021-08-01 14:18:22 -07:00
itsmattkc
e3e5f836b2
nodeparamview: use hidden body to preserve width instead of size policy
...
Fixes various layout issues in NodeParamView.
2021-05-28 17:55:07 +10:00
itsmattkc
77d4b18a60
updated copyright year for 2021 [skip ci]
2021-04-17 18:56:50 +10:00
ThomasWilshaw
da275efdf2
Merge branch 'master' into rational_slider
2021-04-14 12:08:58 +01:00
Simran
fca485bd69
Fix plural handling for translations ( #1424 )
...
* .arg() doesn't handle plurals, replace %1 with %n and pass number to tr(), but only if there is an accompanying word for that we want singular/plural translations and only for whole numbers.
* Qt's translation methods only accept integers and we don't know what grammatical number form would be correct for floating-point numbers in different languages anyway.
* Add optional 2nd argument to SliderBase::SetFormat() to activate deferred plural handling:
SetFormat(QT_TRANSLATE_N_NOOP("olive::SliderBase", "%n unit(s)"), true)
* Generate en_US.ts with lupdate's -pluralonly option. Only source strings that require plural handling need to be translated (as long as the source language is American English).
2021-04-13 00:58:46 +02:00
ThomasWilshaw
ecce4d1ae2
Merge branch 'master' into rational_slider
2021-04-12 10:42:26 +01:00
itsmattkc
893adc3d72
implemented value node
...
Also implements changes necessary to support an input data type
that changes. Much of that foundation was built in
`nodearchchanges`, but hadn't been finalized. This commit
finalizes and provides a reference implementation/test with the
"Value" node.
Fixes #1443
2021-04-12 16:37:26 +10:00
itsmattkc
8c18b58bbb
nodeparamview: pick up move event
...
Fixes #1547
2021-04-11 19:58:37 +10:00
Thomas Wilshaw
f9b423f731
Link RationalSlider timebase with nodeparamview
2021-04-08 11:26:36 +01:00
itsmattkc
cb75e37e77
moved several files around
...
Mostly moved classes that became node derivatives into the node/ folder.
2021-04-08 12:15:59 +10:00
itsmattkc
898ea25e89
finished merge of viewer and footage
2021-04-06 13:08:56 +10:00
itsmattkc
c444213a85
nodeparamview: null check for input UI
...
Fixes #1523
2021-03-23 08:38:18 +11:00
itsmattkc
81c1922911
use strings to connect nodes
...
This makes the node system somewhat more high-level with the intent of making
working with them far more flexible and stable. By making the architecture more
abstracted, it becomes far less rigid which should allow us to do even more
with it and make it much less crash prone.
2021-02-09 15:48:37 +11:00