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
4b366a9b73
update copyright year to 2022
2022-05-10 10:38:56 -07:00
itsmattkc
a7be16fec9
finished refactoring copy/paste code
2021-12-30 19:35:52 -08:00
itsmattkc
8daa83b682
work towards finishing nodeview copy/paste refactor
2021-12-29 18:44:14 -08:00
itsmattkc
671fafb496
refined some nodeview behavior
2021-12-18 14:03:44 -08:00
itsmattkc
090fbb09d0
contexts in param view
2021-12-08 14:08:12 -08:00
itsmattkc
2473bccec3
implemented arrays and reimplemented expanding
2021-12-01 12:14:26 -08:00
itsmattkc
239a019690
many improvements and reimplementations
2021-11-29 21:22:49 -08:00
itsmattkc
a391e63252
cleaned up some no longer used functions
2021-11-19 16:46:39 -08:00
itsmattkc
40783bcc6d
reimplemented adding/removing/connecting/disconnecting
2021-11-19 15:47:31 -08:00
itsmattkc
a6af473f53
reimplemented node positioning and deleting
2021-11-17 12:09:41 -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
4d69e55799
nodeview: implemented dragger to create edge without holding key
2021-07-10 10:19:36 -07:00
itsmattkc
f14a301ffa
nodeview: updates to complete new context paradigm
2021-07-09 18:00:01 -07:00
itsmattkc
2162e9d8f8
nodeview: improved user manual positioning
2021-05-28 13:29:51 +10:00
itsmattkc
f9309da4b3
nodeview: update positions correctly
2021-05-24 10:12:53 +10:00
itsmattkc
f2d64728f9
work towards timeline/nodeview interactivity
2021-05-17 11:14:56 +10:00
itsmattkc
fa58dc1039
nodeview: pass icon size specifically
2021-04-22 11:50:24 +10:00
itsmattkc
77d4b18a60
updated copyright year for 2021 [skip ci]
2021-04-17 18:56:50 +10:00
itsmattkc
843db76e75
nodeview: show label and type if label is set
...
Might not keep this, but we should have something to make the
node types clear when labelled.
2021-03-18 19:36:03 +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
ad4b83a098
new undo system
...
Also enables undoing when working with node input arrays
2021-01-29 16:10:34 +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
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
9aabde303e
nodeview: added arrows to indicate a node can be expanded
...
Minor UI detail. Also slightly increases the size of node items and adds
"short names" to the video input and audio input nodes.
2020-08-21 15:15:39 +10:00
itsmattkc
0628ddb901
nodes: use different colors from config based on category
2020-05-05 23:24:00 +10:00
itsmattkc
bf68a4d631
nodes: added ability to label nodes
2020-04-29 15:35:05 +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
e154b5d5d4
nodeview: make auto-position a manual and specific function, allow different flow directions
...
The first in many NodeView improvements. Up until now, nodes have been forcibly
auto-arranged, which has worked as a reasonable stop-gap just so that all the
nodes are visible during testing/development. However this does not make a good
user experience.
We move the auto-arrange code to a manual function that can be used when the
user or program deems it necessary, and also abstract the node positions so that
the view can ultimately determine the exact amount of spacing (useful for
changing DPIs) or orientation, so users can direct the flow whichever way they
want.
2020-04-28 00:28:38 +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
luz.paz
321e7d1606
Fix doxygen and misc. typos
...
Found via `codespell -q 3 -L ba,keypair,numer,uint`
2020-03-10 15:00:56 -04:00
itsmattkc
785160b86b
nodeview: fixed crash when expanding a NodeViewItem with a NodeInputArray
2020-02-26 00:47:01 +11:00
itsmattkc
b44d7165c5
nodeviewitem: toggle expanded state on double click
2020-02-16 01:05:41 +11:00
itsmattkc
323718bc11
moved timeline undoable commands to using the new NodeAddCommand
...
Previous iteration used some "magic code" that added clips automatically to the
timeline. This was functional but ultimately outside of the undo commands'
control meaning nodes could be infinitely added and abandoned. This makes the
add process part of the undo command which means it's all undoable as the user
would expect.
2019-12-14 00:04:57 +11:00
itsmattkc
9633028f99
documented node view classes
2019-07-17 15:31:34 -04:00
itsmattkc
39256fd6f9
made node edge changes undoable
2019-07-17 00:14:49 -04: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