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
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
74f73ab3be
change: change code style to Linux style except indent.
2025-08-03 03:09:40 +08:00
itsmattkc
c1c6893713
various: moved more to core lib
2023-01-19 16:01:31 -08:00
itsmattkc
4b366a9b73
update copyright year to 2022
2022-05-10 10:38:56 -07:00
itsmattkc
239a019690
many improvements and reimplementations
2021-11-29 21:22:49 -08:00
itsmattkc
40783bcc6d
reimplemented adding/removing/connecting/disconnecting
2021-11-19 15:47:31 -08:00
itsmattkc
93be94bc2c
more work
2021-11-16 23:58:34 -08:00
itsmattkc
854ca0a7a9
reimplemented edge connect/disconnect
2021-11-12 11:51:13 -08:00
itsmattkc
3c6bc80c8f
further improved new node view
2021-11-12 11:06:06 -08:00
itsmattkc
6033039046
improved connector UI in node view
2021-11-10 21:59:54 -08:00
itsmattkc
b07bccb7dc
nodes: revert to single output
2021-09-07 22:01:36 -07:00
itsmattkc
17c9137bbd
nodeviewedge: minor cleanup
2021-07-08 11:44:04 -07:00
itsmattkc
f2d64728f9
work towards timeline/nodeview interactivity
2021-05-17 11:14:56 +10:00
itsmattkc
a7d7515ba7
nodeview: allow dragging edges from their arrows
...
Fixes #1594
2021-04-27 18:48:40 +10:00
itsmattkc
77d4b18a60
updated copyright year for 2021 [skip ci]
2021-04-17 18:56:50 +10:00
itsmattkc
dccea63d97
nodeview: initialize edge item's from/to references
...
Fixes #1526
2021-03-23 22:28:21 +11:00
itsmattkc
d7c5ac4b44
implement entire project in nodes
...
Project items are now represented directly in nodes opening up more versatility and possibilities. This is the first iteration of this and will be buggy. Need to test thoroughly.
2021-02-15 21:31:57 +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
itsmattkc
8e7035bd40
restored nodeview
2021-01-19 00:06:57 +11:00
itsmattkc
181235f6ce
began new infrastructure
...
Yep, this is another one of my "famous" sweeping rewrites. Expect things to break.
Goals for this are:
- Greatly simplify node connections (particularly with arrays) so the code requires less maintenance/is more stable
- Redesign node structure to address issues where UI would stall for lengthy periods of time
- Less reliance on shared ptrs/greater reliance on QObject system for inheritance/memory management
- General code cleanup and improvements
2021-01-05 11:20:38 +11:00
itsmattkc
7b266c51a4
move clamp to bezier itself to prevent deadlocks
2020-11-23 08:43:02 +11:00
itsmattkc
9928027040
nodeview: clamp bezier value
2020-11-22 20:28:48 +11:00
itsmattkc
3edac8a07f
nodeview: added arrows
2020-11-18 01:34:40 +11:00
itsmattkc
75d4cd899b
use hardcoded namespace
...
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )
2020-11-17 20:24:42 +11:00
itsmattkc
d241090a9f
finally updated the copyright year
2020-11-17 20:13:22 +11:00
itsmattkc
9c30f13a2e
nodeview: added setting for curved/straight edges
2020-05-10 04:33:37 +10:00
itsmattkc
4ac5513e3f
nodeview: implemented ability to select and delete node edges
2020-04-29 17:25:41 +10:00
itsmattkc
f04fa12c06
nodeview: allow expanded views of nodes again
...
Re-implementing expanding nodes to see the connections (but nicer this time).
2020-04-29 03:56:50 +10:00
itsmattkc
b947b2224a
nodeview: support multiple flow directions
2020-04-27 16:08:48 +10:00
itsmattkc
1aa87cbda6
various: encapsulate all code in the olive namespace to avoid name collisions
...
Large-scale code cleanup. Also adds a license to the top of all files that were
missing it.
2020-04-06 15:29:53 +10:00
itsmattkc
378c354277
nodeview: improved nodeview usage
...
Rather than the cumbersome and small "node connectors" (introduced a while ago
when nodes had more than one output), this is a more streamlined system of
connecting nodes (hold Ctrl and drag to connect)
2020-04-03 08:34:47 +11:00
itsmattkc
f6d602d8e0
nodeview: improved code structures
2020-03-02 16:07:24 +11:00
itsmattkc
e578ee6264
nodeviewedge: fixed float conversion warning
2020-02-26 01:59:46 +11:00
itsmattkc
7e7ff49777
nodeviewedge: use bezier curves instead of straight lines
2020-02-26 01:07:53 +11:00
itsmattkc
785160b86b
nodeview: fixed crash when expanding a NodeViewItem with a NodeInputArray
2020-02-26 00:47:01 +11:00
itsmattkc
ce889f68d5
nodeview: allow users to place a node on an edge to automatically connect it
...
between the two nodes
UI convenience. Edge highlights when the cursor is in range to perform this
action.
2020-02-16 12:40:12 +11:00
itsmattkc
1b34c5566d
anchor node graphics item by their center
...
Makes auto-positioning them somewhat easier.
2020-01-09 01:40:06 +11:00
itsmattkc
092d76f41a
disambiguated whether NodeParam::parent() would return a Node* or a QObject*
...
Old code assumes that a NodeParam's parent will always be a Node. The function
has been separated off and tweaked in the event that this is not the case.
2019-11-30 23:58:56 +11:00
itsmattkc
a78cc3950a
various node UI improvements
2019-07-16 13:25:38 -04:00
itsmattkc
1a39216be2
nodeview can connect and disconnect nodes
2019-07-16 04:43:57 -04:00
itsmattkc
9d2fc71efc
removed magic colors from node items and moved to css
2019-07-16 01:49:58 -04:00
itsmattkc
3ec133f254
can visually see connections between parameters in the node view
2019-07-15 12:43:56 -04:00
itsmattkc
837d43fe07
moved various classes from root to common folder
2019-07-15 03:58:39 -04:00
itsmattkc
dc2101938e
began node viewer for dag insight
2019-07-15 03:52:44 -04:00