Commit Graph
98 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 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 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 3e47da7009 timebasedviewselectionmanager: scale/unscale when dragging too 2023-03-11 13:49:41 -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 ee666d8862 keyframeview: ensure released signal is emitted at all times on mouse release
Fixes #2138
2023-02-28 17:19:12 -08:00
itsmattkc 7ec8a4dd7e serializer: ensure backwards compatibility 2023-02-26 15:42:54 -08:00
itsmattkc 11e4e051c3 move undo files around for better organization 2023-02-20 16:09:22 -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 5096278e60 nodes: use much smarter time transform function
Fixes #2042
2022-10-23 12:15:36 -07:00
itsmattkc 402c4e1694 ui: move zoom scrolling option to preferences 2022-08-12 09:16:12 -07:00
itsmattkc 925d63d707 timebased: transform keyframe times to global for snapping 2022-07-22 17:57:19 -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 96594ef948 keyframeview: adjust sequence time to node's time 2022-05-16 14:14:53 -07:00
itsmattkc 78d5314c0a seekablewidget: don't allow deleting if dragging
Fixes potential crash if a user does this
2022-05-11 13:44:59 -07:00
itsmattkc 182e1599af keyframes: implemented copying/pasting 2022-05-10 15:42:09 -07:00
itsmattkc 4b366a9b73 update copyright year to 2022 2022-05-10 10:38:56 -07:00
itsmattkc e6d4fe43de reworked and vastly improved snapping subsystem 2022-05-02 00:01:49 -07:00
itsmattkc f7396de121 markers: reimplemented copy/paste 2022-05-01 22:33:58 -07:00
itsmattkc 6aa493bd67 reworked param view passthroughs for groups 2022-01-22 18:17:51 -08:00
itsmattkc 2831f6508b keyframeview: unadjust optimized start position
Fixes #1820
2022-01-05 11:55:29 -08:00
itsmattkc 352a41a59e keyframeview: fix severe crash 2022-01-04 10:34:24 -08:00
itsmattkc 363a8cc7a9 keyframeview: correct time break bug 2022-01-02 12:35:41 -08:00
itsmattkc 74d9c43ff5 keyframeview: optimized keyframe drawing 2021-12-28 21:10:57 -08:00
itsmattkc 619de01db4 refined curve view 2021-12-17 17:07:59 -08:00
itsmattkc bf196e790b refined keyframeview and curveview 2021-12-15 19:45:04 -08:00
itsmattkc 7d82d56f31 reworked much of keyframeview for new architecture 2021-12-13 14:12:30 -08:00
itsmattkc 98044e0be1 keyframeview: correctly map bezier control positions when signalling scroll
Fixes #1704
2021-08-14 12:45:46 -07:00
itsmattkc 52c5617159 undo: wrapped redo/undo functions to ensure prepare is called 2021-07-17 00:14:24 -07:00
itsmattkc 2d53e35e7c keyframeviewbase: null check to fix crash 2021-05-26 17:03:11 +10:00
itsmattkc 72ed87d923 ui: scroll zoom preference now specific to widget
Fixes #1597
2021-05-10 12:07:15 +10:00
itsmattkc 94b2cebeea ui: merged nodeview/timelineview scrolling code
Greatly improves code quality and maintainability
2021-05-10 11:15:37 +10:00
itsmattkc 77d4b18a60 updated copyright year for 2021 [skip ci] 2021-04-17 18:56:50 +10: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 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 d53885fe3d improved nodeparamview Y setting
Still not perfect, mostly due to Qt's terrible QMainWindowLayout, but ah well
2021-01-30 10:27:52 +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 4e5db91c17 keyframeviewbase: cleaned up code and show tooltip values in input's desired format 2021-01-25 11:05:09 +11:00
itsmattkc 9f99182089 use catch up scrolling when dragging items 2021-01-25 10:22:14 +11:00
itsmattkc 0f38769208 fixed more keyframe dragging bugs 2021-01-24 18:17:55 +11:00
itsmattkc d4e6d33db1 keyframeviewbase: hold shift to only drag bezier by time 2021-01-24 15:32:03 +11:00
itsmattkc f04ca0a707 implemented select and deselect all in curve and param panels 2021-01-24 15:29:38 +11:00