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
jazztickets
9959f15bc4
Merge branch 'master' into av1
2023-01-30 14:04:15 -07:00
itsmattkc
dd9c52ab59
start moving core frameworks to external libraries
2023-01-19 09:51:47 -08:00
jazztickets
d54465b16a
Merge branch 'olive-editor:master' into av1
2022-11-25 11:18:49 -07:00
itsmattkc
d1545745d8
various: moved time from viewer UI to viewer node
2022-10-23 20:56:04 -07:00
jazztickets
b901762df9
Merge branch 'olive-editor:master' into av1
2022-09-07 17:26:09 -06:00
itsmattkc
409f24be39
exportdialog: allow restoring parameters
2022-08-10 11:49:21 -07:00
itsmattkc
1ac205413c
footage: allow overriding YCbCr range
...
Fixes #1354
2022-08-08 12:49:50 -07:00
itsmattkc
187568324a
render: ensure correct yuv range handling
2022-07-20 23:16:08 -07:00
Alan Witkowski
6dbe01f415
preliminary AV1 support
2022-05-30 13:45:25 -06:00
itsmattkc
4b366a9b73
update copyright year to 2022
2022-05-10 10:38:56 -07:00
Quackdoc and itsmattkc
249006c685
Cineform support ( #1853 )
...
* Cineform Support
Add default cineform support
* Revert "Cineform Support"
This reverts commit f810358b7997ea2d996a3dbbae21252c9f37e7e9.
* Cineform Support
Add default cineform support
* Do not expose DNxHD yet
* ExportDialog: Add CineformSection
Co-authored-by: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
2022-02-02 09:58:13 -08:00
itsmattkc
5cf076082c
ExportDialog: improved codec stack UI
2022-02-01 16:46:30 -08:00
itsmattkc
438cce1ce5
widget: use rational for internal playhead value
...
Fixes #1688
2021-08-02 10:55:01 -07:00
itsmattkc
4942970c02
export: fixed many export formats including still image and image sequence export
...
Still incomplete, but does a lot towards #1345
2021-05-05 19:03:03 +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
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
c9a8b96c89
reimplemented export process
2020-11-13 22:05:43 +11:00
itsmattkc
28dcff10c0
various: implement sequence pixel aspect ratios and interlacing settings
...
Implements the following:
- Sequences have pixel aspect ratios that work in tandem with footage PARs
to render footage correctly. Viewer and export also acknowledge PARs
- Sequences can have interlacing settings. This doesn't do anything yet,
eventually the renderer will need to interlace/deinterlace/reinterlace
appropriately in order to conform all the footage to the sequence. Export
acknowledges interlacing, but this only affects metadata, not the image.
2020-08-10 01:47:26 +10:00
itsmattkc
5235975d6d
export: allow selecting output pixel format
2020-07-24 14:45:27 +10:00
itsmattkc
ce42388d68
export: allow users to override the thread count
2020-04-30 17:19:43 +10:00
itsmattkc
5c736114d0
merged some export improvements from another branch
2020-04-23 01:31:50 +10:00
itsmattkc
6c1e90665f
colormanagement: moved from passing DVL strings everywhere to a consolidated ColorTransform struct
2020-04-23 01:17:58 +10:00
itsmattkc
197e60b6c3
export: show main color spaces rather than DVL chain
2020-04-22 23:34:23 +10:00
itsmattkc
1c3c8cd9b2
began work on headless export path
2020-04-20 02:37:10 +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
552163320c
colorpicker: implemented color management
...
Also moves some items to ColorManager from Project for better accessibility and
re-uses some widgets in ExportDialog for improved code.
2020-04-03 01:23:08 +11:00
itsmattkc
9e8a384f14
encoder/exportdialog: add compression options for H264 exporting
2020-03-03 01:47:04 +11:00
itsmattkc
b697d2faec
implemented settings for exporting ONLY video or ONLY audio
2020-01-08 02:59:30 +11:00
itsmattkc
62d4603c76
allow access to the current frame rate from the ExportVideoTab to the ExportDialog
2019-12-21 20:14:52 +11:00
itsmattkc
7398cd3f1c
use viewer resolution/transform override to show cropping/stretching settings
2019-12-19 15:59:51 +11:00
itsmattkc
a0b6bb842d
ColorManager is now specific to the Project
...
OCIO config was set on a per-project basis, but we were using a singleton for
the ColorManager that would break if more than one project was ever open.
Now the ColorManager belongs to the Project and is always accessed through the
Project.
2019-12-17 15:18:07 +11:00
itsmattkc
cb5a468b4a
implemented color management UI functionality in the ExportDialog
...
Frontend UI work in setting up color management when exporting.
2019-12-16 16:47:36 +11:00
itsmattkc
4bd8c0c850
filled out various further UI functions for the export dialog
2019-12-16 03:03:40 +11:00
itsmattkc
3f79845464
implemented export dialog functionality and some base formats/codecs to support
2019-12-16 01:21:30 +11:00
itsmattkc
83cf67fe7b
implemented majority of export dialog widget layout
2019-12-15 19:56:12 +11:00