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
042f008a02
Add decoded input slots for render workers
2026-06-04 21:32: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
dd9c52ab59
start moving core frameworks to external libraries
2023-01-19 09:51:47 -08:00
itsmattkc
1ac205413c
footage: allow overriding YCbCr range
...
Fixes #1354
2022-08-08 12:49:50 -07:00
itsmattkc
a8d46c4c5f
render: fix issue responding to cancelled tasks
2022-07-10 12:54:55 -07:00
itsmattkc
930848e07a
decoder: make texture inside decoder
2022-05-29 18:33:35 -07:00
itsmattkc
c2570b23c3
oiiodecoder: improved code
2022-05-24 18:49:29 -07:00
itsmattkc
eca236134b
renderer: use probed params for tex gen
2022-05-24 14:26:02 -07:00
itsmattkc
cab62ba5d1
ffmpegdecoder: read pixel format from frame instead of stream
2022-05-22 13:41:44 -07:00
itsmattkc
b0530cd55d
decoders: upload directly to texture
2022-05-19 16:54:18 -07:00
itsmattkc
4b366a9b73
update copyright year to 2022
2022-05-10 10:38:56 -07:00
itsmattkc
5f13a83009
footage: support multi-layered images
...
Fixes #982
2022-05-04 09:27:34 -07:00
itsmattkc
677277c16d
renderer: improved code flow
2021-09-21 19:10:03 -07:00
itsmattkc
ba9ed99849
footage: check files for changes
2021-05-16 10:29:05 +10:00
itsmattkc
ee6b09f772
ffmpegdecoder: use avfilter system instead of raw swscale commands
...
Heh this was inevitable
2021-05-03 12:10:51 +10:00
itsmattkc
77d4b18a60
updated copyright year for 2021 [skip ci]
2021-04-17 18:56:50 +10:00
itsmattkc
4827782331
moved sequence params into node graph too
...
Reduces code by reusing more of the existing node infrastructure
to synchronize sequence parameters the render backend.
2021-02-18 13:20:23 +11: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
e12013e2fb
don't use shared ptrs for project items
2020-12-16 10:28:43 +11:00
itsmattkc
8c3f0ac64e
oiio: increased minimum version to 2.1.12
2020-11-19 11:06:40 +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
0d0766e4fb
improved render channel count system
2020-11-15 22:16:40 +11:00
itsmattkc
8776bb9c4a
finished upgrade to ocio v2
2020-11-12 15:36:29 +11:00
itsmattkc
94c0914e50
codec system rework
...
Codecs are now much cleaner and thread safe by design.
2020-11-10 11:23:25 +11:00
itsmattkc
bc60c74562
finalized very, very basic OTIO support
...
Ironed out various project and footage loading issues, and a single
cache invalidation issue.
2020-10-23 01:26:17 +11:00
itsmattkc
6db591e89f
footage: merge video and image streams and improve image sequence import process
...
Image streams were initially separated from video streams, but they're now
joined with a parameter defining if they're a still image, image sequence,
or regular video. The image sequence import process has also improved so
that if images from the same sequence are imported too, they'll either be
ignored or the user won't be asked again for those if they should be an
image sequence (fixes #1193 ). Also shifts decoder "probe" process to return
an item, useful if the decoder returns a non-footage item.
2020-09-26 19:45:07 +10:00
itsmattkc
4290d9b897
oiio: removed unused enum
2020-09-25 16:59:56 +10:00
itsmattkc
7bdaf78af8
oiio: assume it's not an image sequence if the dimensions aren't equal
2020-09-21 12:21:17 +10:00
itsmattkc
d9851dc329
decoders: mild refactoring and code cleanup
...
Just making things a little bit nicer.
2020-08-18 03:17:01 +10: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
df14c2aaa7
cache: better implemented changing disk cache folders
...
Not complete yet, but getting there.
2020-08-07 02:31:46 +10:00
itsmattkc
a871c5081b
nodeparamtable: bare bones table view for node inputs
2020-06-17 17:48:07 +10:00
itsmattkc
9095dfa463
project: replaced proxy with pre-cache
...
Removed proxy task and replaced with a true honest-to-god pre-cache for
footage. This footage is pre-cached to a sequence and therefore 100% ready
for use in it once the task is done.
2020-06-08 23:17:51 +10:00
itsmattkc
0cf6c9a1f6
export: use codec IDs rather than strings
...
Vastly improves portability between library versions.
2020-05-21 03:04:38 +10:00
itsmattkc
2b1640ac04
frame/texture: use dividers when allocating buffers
...
Allows render pipeline to know the "real" and "simulated" resolution of a
divided buffer.
2020-05-04 01:08:46 +10:00
itsmattkc
e4e797c901
proxy: cleaned up, re-use the render cache's disk save system for proxies, multithreaded compression
2020-05-04 00:29:26 +10:00
itsmattkc
e4c3b6bf7b
renderer/decoder: simplified audio PCM transcode
...
Turned the two-step PCM transcode into one step and simplified/removed much of
the unnecessary infrastructure that supported it. This makes the code cleaner
and generally improves the code paths.
2020-05-03 16:07:10 +10:00
itsmattkc
3e57cdac1d
use linesize workaround for setting OIIO pixels as well as getting
2020-05-02 22:51:29 +10:00
itsmattkc
a2cba8c103
pixelformat: respect linesizes when converting pixel formats
2020-05-01 03:42:31 +10:00
itsmattkc
472030f8f0
oiiodecoder: implemented workaround for oiio stride bug in versions < 2.1.12
2020-05-01 01:38:31 +10:00
itsmattkc
0f825cbc44
oiiodecoder: updated to handle frame linesizes
2020-04-22 16:57:18 +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
2d57f22f3a
oiiodecoder: implemented heuristic to auto-detect start and end index
2020-03-09 20:08:05 +11:00
itsmattkc
de5955b403
oiiodecoder: implemented rudimentary image sequence support
2020-03-02 14:06:44 +11:00