Mike-Solar
03d4087124
refactor: cut engine-to-UI include violations ahead of the liboakengine split
...
- slider DisplayType enums sink to node/sliderdisplaytype.h (canonical
engine home); FloatSlider/RationalSlider alias them for compatibility
- DropWithoutSequenceBehavior enum sinks to common/dropworkflowbehavior.h
- Config errors now go through a registered ErrorHandler hook instead of
QMessageBox with a MainWindow parent; the style default no longer
depends on the UI style manager
- MainWindowLayoutInfo moves to node/project/serializer/ and its panel
dependency is reduced to a plain std::map alias (PanelLayoutInfo),
breaking the engine -> PanelWidget -> KDDockWidgets chain
- ProjectImportErrorDialog moves from task/ to dialog/projectimport/
- remove confirmed-redundant UI includes and give project.h/import.h/
project.cpp the direct includes they were borrowing transitively
- project.h includes folder/sequence headers directly (it used both
types in its own API all along)
2026-07-20 00:52:12 +08:00
Mike-Solar
0c02ff0d77
proxy: isolate proxies from export renders and improve proxy workflow
...
- FootageJob::should_use_proxy() centralizes the proxy decision; worker
pre-decode now honors the render mode so exports always decode the
original media (previously every frame was pre-decoded from proxies)
- global Tools > Use Proxy Media toggle with footage invalidation
- ffmpeg -progress parsing for real percentage feedback while generating
- divider mode (1/2, 1/4, 1/8 of source resolution) with UI, proxy
filename tags and per-footage persistence (pdivider)
- Media Offline warning slat rendered for missing footage
- regression tests: export isolation, relink invalidation, offline slat,
progress parsing, divider arguments
2026-07-19 21:43:58 +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
b103697662
Fix Windows CI crash due to execute order.
2026-07-17 09:11:03 +08:00
Mike-Solar
e5eeaddf2f
format: reformatting files
2026-07-13 15:30:43 +08:00
Mike-Solar
cf32fcfee1
Add configurable proxy settings and a menu entry
...
- Extend ProxyManager::ProxyParams with crf and preset, and update
ProxyTask/ProxyParamsEqual to use them.
- Add global config keys ProxyWidth, ProxyHeight, ProxyCRF, ProxyPreset.
- Add a Proxy Settings group to Preferences -> Disk with width/height/CRF/preset
controls.
- Read proxy settings from config when generating proxies from the timeline.
- Add Tools -> Proxy Settings... menu entry that opens Preferences on the Disk tab.
- Add ConfigDialogBase::SetCurrentTab() so PreferencesDialog can start on a
specific tab.
2026-07-13 10:19:30 +08:00
Mike-Solar
8ae8e3a159
Implement proxy media workflow
2026-07-13 10:19:29 +08:00
孙羽
116a4b8368
fix windows compile
2026-05-27 21:34:09 +08:00
Mike-Solar
bfb1b2fce4
update copyright back
2026-01-16 21:22:05 +08:00
Mike-Solar
6b64abb1fa
Limit import files
2026-01-05 16:36:43 +08:00
Mike-Solar
b8669f6a11
Change project name;
2026-01-05 16:22:26 +08:00
Mike-Solar
86e82b13e2
remove unused includes
2026-01-05 14:24:28 +08:00
Mike Solar
22fd521951
Merge branch 'refs/heads/dev' into plugin
...
# Conflicts:
# .gitmodules
# CMakeLists.txt
# ext/core
2025-12-13 21:45:46 +08:00
Mike-Solar
1e33a31b73
Update FFmpeg handling and focus management
...
Refactor FFmpeg frame processing and improve focus management in panels. Add memory sanitization for debug builds and update KDDockWidgets integration.
2025-11-23 16:35:09 +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
Simran
73bb560845
Trigger CI
2024-03-27 14:23:18 +01:00
Simran
d09c4941fa
Trigger CI
2023-12-24 09:38:33 +01:00
itsmattkc
c96e560347
panels: switch to fork allowing narrower minimum widths
2023-03-20 16:28:14 -07:00
itsmattkc
2c2df99963
name every undo command
2023-03-12 00:49:03 -08:00
itsmattkc
019f095ee4
implement history panel
2023-03-11 22:26:21 -08:00
itsmattkc
d32849f4fb
core: null check project autorecovery
2023-03-01 20:14:25 -08:00
itsmattkc
b091ed8592
project: remove constant root node
2023-02-28 17:01:46 -08:00
itsmattkc
028651f9fb
moved serialization
2023-02-21 14:26:34 -08:00
itsmattkc
11e4e051c3
move undo files around for better organization
2023-02-20 16:09:22 -08:00
itsmattkc
25b6b07a06
Squashed commit of the following:
...
commit 60c0f65c5e3c2faf1f7b0ae10b4131dabbcf715b
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Wed Feb 15 22:34:16 2023 -0800
mainwindow: don't close last timeline panel when removing sequence
commit bc892810d67c1dd4f9c0639767c563681f29701d
Merge: 69051a120 aef08f8cd
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Tue Feb 14 17:05:25 2023 -0800
Merge branch 'master' into kddockwidgets
commit 69051a120b8423d0ad7b38def2f7555d323cd74d
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Tue Feb 14 15:29:24 2023 -0800
finished kddockwidgets integration
commit 9a39dbeade871a0b9454b424c7f7a7482671d40b
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Tue Feb 14 11:54:25 2023 -0800
switch to kddockwidgets
2023-02-16 00:44:08 -08:00
itsmattkc
bf049f98f0
core: fix otio error
2023-02-08 18:23:35 -08:00
itsmattkc
d1a7bd29aa
mainwindow: improved panel organization
2023-02-08 18:18:06 -08:00
itsmattkc
5da72e4d35
Squashed commit of the following:
...
commit dec7ca6b96c58decf2c5e5194b665fa2342951b2
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Wed Feb 8 12:32:12 2023 -0800
moved previewautocacher to rendermanager
commit d289d74d82c3911f3fdaa707abe9994c7363594d
Merge: a8a049a28 70d34c674
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Wed Feb 8 12:15:31 2023 -0800
Merge branch 'master' into move-cacher-to-renderman
commit a8a049a2857c438cbab0f1ab21e3299fdfbf1fa1
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Wed Feb 8 11:18:25 2023 -0800
initial work
2023-02-08 12:40:19 -08:00
itsmattkc
70d34c674b
core: switch to single-project implementation
...
This has never worked right, it's caused a number of complexities within the code, and I think there are better ways to do this.
2023-02-08 12:15:05 -08:00
itsmattkc
dd9c52ab59
start moving core frameworks to external libraries
2023-01-19 09:51:47 -08:00
itsmattkc
f234deb9ee
core: allow saving uncompressed xml projects too
2022-12-04 22:35:58 -08:00
itsmattkc
fbfa0c2872
core: show successful project save message in status bar
2022-11-19 17:36:38 -08:00
itsmattkc
435971c623
core: don't add autorecoveries projects to recent projects
2022-11-09 14:11:46 -08:00
itsmattkc
4f21852241
core: resolve all footage nodes in a project regardless of their connection to root
2022-11-09 13:31:45 -08:00
itsmattkc
812bdca2ca
core: strip drive letters from windows paths
...
Qt on non-Windows chooses not to recognize Windows paths, so we translate them to a Unix-esque path
2022-11-06 21:04:39 -08:00
itsmattkc
6307f8d9e3
core: fix warning breaking linux builds
2022-11-06 11:11:38 -08:00
itsmattkc
1575b82fd2
core: add debugging "magic" function
...
Just a UI way of turning on debug functionality
2022-11-05 11:56:39 -07:00
itsmattkc
d1545745d8
various: moved time from viewer UI to viewer node
2022-10-23 20:56:04 -07:00
itsmattkc
b71a976175
core: save recent projects list on change rather than on exit
2022-10-23 10:01:17 -07:00
itsmattkc
5a15e2df50
core: limit recently opened projects size
2022-10-04 11:08:15 -07:00
itsmattkc
df97df635d
timeline: implement nest function
...
Also includes some improved cache/request code
2022-10-01 13:04:51 -07:00
itsmattkc
c0d8ff403f
nodes: rework so that jobs can be completely deferred
...
Big optimization requiring a lot of refactoring.
2022-09-24 18:44:59 -07:00
itsmattkc
6e0c6cdc52
exportdialog: add option to reimport result
2022-09-16 12:35:40 -07:00
itsmattkc
d017d2c143
viewer: add shortcut to save frame as image
2022-09-16 12:19:47 -07:00
itsmattkc
15a67bc12a
project: auto-select imported files
2022-07-26 11:39:35 -07:00
itsmattkc
a5092494b8
core: if startup project is cancelled on footage relink, open new project
2022-06-21 10:42:29 -07:00
itsmattkc
bbf6f8f9f9
export: fixed stills
2022-05-29 10:15:32 -07:00
itsmattkc
f85c41a0d6
cache: warn user in UI when disk cache is full
2022-05-18 10:57:25 -07:00
itsmattkc
8853665187
config: save on preferences dialog accept
2022-05-14 15:02:32 -07:00