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
fefb16e49b
fixed diskmanager delete bug
2022-06-01 10:31:28 -07:00
itsmattkc
f85c41a0d6
cache: warn user in UI when disk cache is full
2022-05-18 10:57:25 -07:00
itsmattkc
ac3c38af9f
diskmanager: fixed issues regarding frame deletion
2022-05-18 10:57:11 -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
ce495e39bd
removed hashes from diskmanager
2022-05-09 18:35:27 -07:00
itsmattkc
91b761693b
code: use config macro
...
Macro is much easier to use and more readable
2022-05-04 09:50:34 -07:00
itsmattkc
48adb159b8
various: consolidated dir exists+mkpath into one function
2022-04-07 17:11:50 -07:00
itsmattkc
7e884b55e7
if frame is corrupt, delete and try caching again
2021-09-30 14:14:10 -07:00
itsmattkc
77d4b18a60
updated copyright year for 2021 [skip ci]
2021-04-17 18:56:50 +10:00
itsmattkc
3ac1503a32
diskmanager: ensure file is deleted and ignore accesses from non-existent hashes
2021-03-08 15:37:29 +11:00
itsmattkc
8ef608c246
sped up disk cache accesses
...
Shifted some code around to improve performance
2021-03-08 11:26:03 +11:00
itsmattkc
cfbf563b2e
ensure cache modified time is accurate
2021-02-22 00:23:34 +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
0f3a60aa49
cache: save disk cache index on a regular interval in case of crashing
...
DiskManager tries to keep track of all files made across sessions in an
index, but the index was only saved on close. This meant if the program
crashed (not an uncommon occurrence at the moment), it would "forget" about
any files it had made that session.
2020-08-16 17:08:04 +10:00
itsmattkc
03e33227b3
cache: moved disk settings to a separate dialog
...
This way the cache settings can be accessed in both ProjectProperties and
Preferences.
2020-08-10 20:30:11 +10:00
itsmattkc
1b2b5d3b75
diskmanager: save configured disk cache location
2020-08-07 19:00:09 +10:00
itsmattkc
d85089f71a
cache: improved setting manual cache path on a per project basis
2020-08-07 13:41:09 +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
ccb02d30aa
colormanager: implement default config
2020-04-22 05:08:33 +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
273522f28a
diskmanager: don't fail disk cache clear if the files simply don't exist
...
QFile::remove() will return false if the file doesn't exist, but
for our purposes that's as good as the file having been deleted.
2020-02-27 17:19:07 +11:00
itsmattkc
17c1493aa7
all time-based panels are now derived from a common base class
...
Cuts down on a lot of duplicate code between
TimelineWidget/ViewerWidget/CurveWidget/NodeParamView
and TimelinePanel/ViewerPanel/CurvePanel/ParamPanel since they all use similar
time functions.
2020-02-01 19:39:43 +11:00
itsmattkc
3f85ce8a7a
diskmanager: clearing disk cache at runtime will correctly signal renderers
...
Clearing the disk cache in the preferences will correctly communicate to
renderers that those frames are now deleted.
2020-01-25 12:18:46 +11:00
itsmattkc
149d125e39
msvc: updated code for higher warning level
2020-01-24 12:00:55 +11:00
itsmattkc
0bc176fd62
use less threads on cache
...
By using one thread per logical CPU thread, we seemed to completely saturate
the CPU which would kill the performance of the main/GUI thread (despite the
other threads being low priority). We now use half of the logical threads, which
still sees good CPU usage and minimal performance impact while allowing the
main thread to respond to user actions.
2020-01-17 04:37:47 +11:00
itsmattkc
ca89e2b818
use lossless compression on indexed frames
...
We use Qt's built in zlib compression on the fastest setting (it was found that
higher compression took 5x as long with a negligible decrease in size). This
helps keep disk cache sizes low.
2020-01-12 04:21:07 +11:00
itsmattkc
5daf126e8d
completed hybrid index system
2020-01-11 03:45:58 +11:00
itsmattkc
d32306f88b
only disk cache around the playhead
2020-01-10 20:35:48 +11:00
itsmattkc
362cb9daef
made auto-deleting cache on close an option
...
Previously we had no disk management whatsoever, so we cleared the cache on
every close just to prevent clogging up tester disk space. Now that we are
implementing disk management, there are better things to do on close regarding
disk cache. However, some users may still wish for the app to delete the cache
on close, so it's provided as an option.
2020-01-09 21:00:04 +11:00
itsmattkc
9c2c384833
created disk manager class
...
This is a singleton class that will manage the disk cache to ensure the size
stays at sane levels.
2020-01-09 20:20:47 +11:00