Mike-Solar
e5eeaddf2f
format: reformatting files
2026-07-13 15:30:43 +08:00
Mike-Solar
dba76ea9f2
Switch to the correct dock/tab when jumping to parameter editor
...
In NodeParamView::SetSelectedNodes, after locating the target node item,
expand and raise its containing NodeParamViewContext dock widget so the
active tab/folded section switches to the one that actually holds the node.
2026-07-13 10:19:30 +08:00
Mike-Solar
cac5a40b58
Implement color LUT v0.4 features
2026-06-07 00:24:08 +08:00
Mike-Solar
b2de04962d
feat: heuristic semantic display for OFX RGBA parameters
...
ColorCorrectOFX and similar plugins declare per-channel controls
(Gamma, Contrast, Saturation, Gain, Offset) as kOfxParamTypeRGBA.
Olive previously mapped every RGBA param to NodeValue::kColor and
rendered it as a ColorButton, which is semantically wrong for
adjustment sliders.
This commit adds heuristic semantic detection to distinguish
"true color" inputs (color pickers) from "per-channel scalar"
inputs (float sliders):
- label/hint/name keywords ("gamma", "contrast", "gain", ...)
- display range outside [0, 1]
- uniform default values across all channels
The detected semantic ("color" or "scalar") is stored as the
node input property "color_semantic". The display range and hint
are also persisted as "min" / "max" / "tooltip".
NodeParamViewWidgetBridge now branches on "color_semantic":
- "scalar" → 4× FloatSlider (reuses existing ProcessSlider /
keyframe-track logic, since kColor already splits into 4 tracks)
- otherwise → ColorButton (unchanged)
All 4 test suites pass.
2026-05-14 20:50:45 +08:00
Mike-Solar
843b8762f6
fix audio bug
2026-04-12 01:08:22 +08:00
Mike-Solar
bfb1b2fce4
update copyright back
2026-01-16 21:22:05 +08:00
Mike-Solar
e851653fa3
尝试修复粉紫屏未果
2026-01-16 21:11:24 +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
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
5aaa49c515
Add push button support for OFX plugins
...
This commit adds support for push buttons in OFX plugins by:
- Adding `kPushButton` to `NodeValue` enum
- Implementing `pushButtonClicked` slot in `PluginNode`
- Creating `NodeParamButton` widget for UI representation
- Updating `paraminstance.h` to handle push button instances
- Modifying `nodeparamviewwidgetbridge.cpp` to connect push button signals
2025-11-10 13:57:04 +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
019f095ee4
implement history panel
2023-03-11 22:26:21 -08:00
itsmattkc
9824760ce1
Merge branch 'master' into move-serialization
2023-02-28 20:40:40 -08:00
itsmattkc
9ff6e689d6
vastly improved rubberband selection behavior with selection manager widgets
2023-02-28 20:21:38 -08:00
itsmattkc
7ec8a4dd7e
serializer: ensure backwards compatibility
2023-02-26 15:42:54 -08:00
itsmattkc
aeac292ecb
Merge branch 'master' into track-redux
2023-02-23 11:07:50 -08:00
itsmattkc
8e2db520a7
nodeparamview/viewerdisplay: improve opening text gizmo from NPV
2023-02-22 12:18:43 -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
bef8fd7b50
Merge branch 'node-rework' into track-redux
2023-02-21 09:33:52 -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
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
dd9c52ab59
start moving core frameworks to external libraries
2023-01-19 09:51:47 -08:00
itsmattkc
2aaa2fb87c
nodeparamviewwidgetbridge: null check time target
2022-11-07 22:01:52 -08:00
itsmattkc
451de7030b
Merge branch 'move-time-to-viewer'
2022-11-01 18:20:22 -07:00
itsmattkc
4d80044d6d
upgrade to qt 6 compliance
2022-10-28 19:42:14 -07:00
itsmattkc
f81445527f
timebasedwidget: automatically connect scale and scrollbars
2022-10-24 11:18:42 -07:00
itsmattkc
a3f4ebdb6d
node/ui: limit amount of selectable nodes for performance
2022-10-23 21:24:49 -07:00
itsmattkc
d1545745d8
various: moved time from viewer UI to viewer node
2022-10-23 20:56:04 -07:00
itsmattkc
5096278e60
nodes: use much smarter time transform function
...
Fixes #2042
2022-10-23 12:15:36 -07:00
itsmattkc
b28495c7a6
nodeparamview: speed up node adding
2022-09-28 19:56:18 -07:00
itsmattkc
54d0a94a20
Merge branch 'master' into cache-update
2022-08-18 08:12:46 -07:00
itsmattkc
f18461e69b
timeline: allow pasting nodes into or over clips
2022-08-15 11:06:34 -07:00
itsmattkc
87348031d8
nodeparamview: fix issue where some nodes didn't appear in curve view
2022-08-12 09:01:47 -07:00
itsmattkc
02f40ad3b4
nodeparamview: fix issue detecting node's effect input
...
Fixes #1988
2022-07-27 14:10:13 -07:00
itsmattkc
f152815e8f
nodeparamview: fix missing override keyword
2022-07-23 09:41:03 -07:00
itsmattkc
925d63d707
timebased: transform keyframe times to global for snapping
2022-07-22 17:57:19 -07:00
itsmattkc
4c71a33b7b
node: implement array start offset
2022-07-17 14:48:00 -07:00
itsmattkc
e4fd2d5d2c
timebasedwidget: rewrote scroll catchup code
...
Code is much better. Less hacky queuing, implements cooldowns to improve navigation, and introduces a framework so that subclasses can make use of catchup/cooldown code too with any scrollbar they want
2022-07-15 10:59:51 -07:00
itsmattkc
7e1792cfea
Merge branch 'master' into cache-update
2022-07-01 22:32:49 -05:00
itsmattkc
6b13d806c6
nodeparamview: correctly show video and audio node options
2022-06-10 11:44:12 -07:00
itsmattkc
e3c3ee9ac4
code: removed unnecessary code
2022-05-30 08:59:25 -07:00
itsmattkc
8455e94de3
nodeparamview: fix crash when body is recreated
2022-05-28 19:20:33 -07:00