Commit Graph
24 Commits
Author SHA1 Message Date
Mike-Solar a84e75ef47 change: UI and migrate to gtest 2026-07-27 05:27:32 +08:00
Mike-Solar 0aa5879f35 app: migrate all engine access to the C ABI facade (nm U _ZN5olive = 0)
Every app module now reaches liboakengine exclusively through
oakengine_* C calls, EngineEventBridge subscriptions and app-side
handle headers (cliphandle/keyframehandle/nodevaluehandle/oakvaluehelper).
Direct C++ command construction, engine signal connect()s, and engine
type usage in MOC-visible signatures are gone: 557 -> 0 undefined
olive:: symbols in oak-editor.
2026-07-26 22:43:21 +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 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 9ff6e689d6 vastly improved rubberband selection behavior with selection manager widgets 2023-02-28 20:21:38 -08:00
itsmattkc 764d9ada36 timebasedview: assert y scale > 0 2023-02-21 23:03:37 -08:00
itsmattkc dd9c52ab59 start moving core frameworks to external libraries 2023-01-19 09:51:47 -08:00
itsmattkc d1545745d8 various: moved time from viewer UI to viewer node 2022-10-23 20:56:04 -07:00
itsmattkc 4b8febd10d timebasedview: cache scroll value before scale change on ctrl zoom
Fixes bug where scroll would be calculated incorrectly due to range limitation from scale change
2022-07-15 09:47:58 -07:00
itsmattkc 4b4e0a496c timebasedview: use clamped values when setting scroll 2022-05-22 16:58:05 -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 5edb8f5d4a reduce waveform scale
Exponentially improves performance (at the expense of higher zoom levels but they were probably already too extreme)
2021-09-03 13:46:37 -07:00
itsmattkc 9f4470f55c fixed snapping regression introduced by earlier commit 2021-08-02 19:57:19 -07:00
itsmattkc 438cce1ce5 widget: use rational for internal playhead value
Fixes #1688
2021-08-02 10:55:01 -07: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 03d31b2225 fixed cursor zooming algorithm
What the hell is this? How did I write this old algorithm? Did it even work?
2021-01-22 19:52:05 +11:00
itsmattkc 78ed7213c8 minor code improvement: use string literal 2021-01-22 19:25:37 +11:00
itsmattkc f7883bd02c began some rewrites to timeline drawing 2021-01-14 10:30:20 +11:00
itsmattkc 374fa3f75c moved some files around for better organization 2020-12-16 19:05:22 +11:00