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
d66779d281
Apply export color transform in render worker
...
The export color transform was passed to RenderTask as a ColorProcessor,
but the worker IPC render_frame message never carried it. The worker
always set the ticket's coloroutput to null, so frames were returned in
the project's reference space and encoded without the chosen output
transform (e.g. Rec.709 / sRGB), causing the exported video to look
wrongly tinted.
Serialize the ColorTransform through the render_frame control message
and reconstruct the ColorProcessor on the worker side before rendering.
Also expose ColorTransform as a Qt metatype so it can be stored in a
ticket QVariant.
2026-07-13 10:19:30 +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
b88b738071
project: moved color manager outside of node graph
2023-02-28 15:20:05 -08:00
itsmattkc
aa6b77f800
exporttask: snap to timebase when exporting video
...
This is a bit of a hack to prevent #2119 from causing problems. The reality is this probably requires a deeper re-think of how the timeline should and shouldn't work - this issue is more of a symptom of something deeper than a simple bug in and of itself.
2023-02-01 00:40:06 -08:00
itsmattkc
dd9c52ab59
start moving core frameworks to external libraries
2023-01-19 09:51:47 -08:00
itsmattkc
3853ef023e
exporttask: make copy of project
...
Fixes #2037
2022-11-05 12:37:38 -07:00
itsmattkc
409f24be39
exportdialog: allow restoring parameters
2022-08-10 11:49:21 -07:00
itsmattkc
9012c27ee6
Merge pull request #1987 from ThomasWilshaw/nclc_tags
...
nclc tags
2022-08-07 23:03:06 -07:00
itsmattkc
9636ec202d
render: allow forcing channel count
2022-07-28 08:57:18 -07:00
Thomas Wilshaw
9fa1ce00e5
Add basic nclc tag support
...
Sets nclc tags based on the selected output color space.
Also adds a Rec.709 OETF to the config
2022-07-26 20:19:23 +01:00
itsmattkc
12f9b1acfc
export: allow exporting subtitles to sidecar files
2022-07-23 15:22:57 -07:00
itsmattkc
bfd6a407a5
Merge branch 'master' into hashremoval
2022-05-16 09:12:49 -07:00
itsmattkc
4b366a9b73
update copyright year to 2022
2022-05-10 10:38:56 -07:00
itsmattkc
0538c01f45
remove hashtraverser
2022-05-09 18:22:32 -07:00
itsmattkc
bb0fedabba
simplified and optimized samplebuffer
2022-05-09 14:55:51 -07:00
itsmattkc
b40a61c6ed
rendertask: return errors and respond appropriately
...
Fixes #1348
2022-01-10 10:15:45 -08:00
itsmattkc
24a11e2dad
fixed mistakes in export task
2021-11-25 15:12:44 -08:00
itsmattkc
65446fd70b
export: use export timebase instead of original
2021-11-10 22:28:37 -08:00
itsmattkc
d0bc01ebd4
export: use viewer params not export params
...
Fixes #1703
2021-08-14 11:19:54 -07:00
itsmattkc
310fd3541a
various: greatly simplified job times
...
Hopefully this doesn't break everything
2021-07-11 23:33:21 -07:00
itsmattkc
cc21ed37a7
implemented core subtitle support
2021-05-18 12:42:47 +10:00
itsmattkc
961889b38f
exporttask: improved progress signalling
2021-05-13 22:59:36 +10:00
itsmattkc
15556c64ae
encoder: write audio in segments
...
I'll be honest, this probably makes no noticeable difference at all. It should be faster and more efficient, but whether that translates into any tangible improvement is yet to be seen.
2021-05-10 00:44:08 +10: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
e2455fce2f
renderer: fixed distorted video caused by exporting video with lower frame rate than sequence
...
Wow I thought this issue was 0.1 exclusive but the same bug was here in 0.2 I wonder if it's worth backporting it now that I know what the problem is.
2021-05-03 13:55:39 +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
bb32048c65
use frame rate and timebase less interchangeably
2021-04-07 13:08:25 +10:00
itsmattkc
898ea25e89
finished merge of viewer and footage
2021-04-06 13:08:56 +10:00
itsmattkc
9be014c0b6
refactored so sequence is again a derivative of viewer
2021-04-05 14:41: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
441a459774
viewer: use label instead of media name
2021-01-09 10:38:04 +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
8a64ef75d9
implemented selecting custom export range
...
Fixes #1314
2020-11-17 09:43:43 +11:00
itsmattkc
0d0766e4fb
improved render channel count system
2020-11-15 22:16:40 +11:00
itsmattkc
c9a8b96c89
reimplemented export process
2020-11-13 22:05:43 +11:00
itsmattkc
3c1ac3eeba
upgraded to ocio v2
2020-11-11 21:53:24 +11:00
itsmattkc
1d61f89920
large scale renderer rework
...
- Abstracts all OpenGL functionality including UI objects
- Cleans up several rendering codepaths
- Improves threading functionality
- Removes old code and problematic functions
2020-11-10 11:24:51 +11:00
itsmattkc
6ecdb02fd0
okay maybe not
2020-11-08 00:47:59 +11:00
itsmattkc
07dc7104c5
made timerangelist a encapsulation rather than a derivation
...
Locks off functionality that really shouldn't be used.
2020-10-29 02:18:41 +11:00
itsmattkc
b582843d27
moved things around and started rewriting render backend
2020-10-29 01:36:26 +11:00
itsmattkc
f7ab0bb640
audio: rewrote audio cache to write to contiguous segments rather than one long file
...
Fixes issues with PCM file placement, optimizes some audio-based timeline
and cache operations, just generally a better approach.
2020-10-11 23:27:40 +11:00
itsmattkc
f6760386ce
renderer: improved handling of pixel aspect ratio and footage cache
2020-08-21 14:43:13 +10:00
itsmattkc
edeeed49ba
various: enabled config saving
2020-08-08 02:44:39 +10:00