Commit Graph
122 Commits
Author SHA1 Message Date
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 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 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 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 9745b536f6 nodes: remove graph and merge into project 2023-02-17 14:13:03 -08:00
itsmattkc d1a7bd29aa mainwindow: improved panel organization 2023-02-08 18:18:06 -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 435971c623 core: don't add autorecoveries projects to recent projects 2022-11-09 14:11:46 -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 df97df635d timeline: implement nest function
Also includes some improved cache/request code
2022-10-01 13:04:51 -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 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 4b366a9b73 update copyright year to 2022 2022-05-10 10:38:56 -07:00
itsmattkc e2db72860d core: remove unused functions 2022-05-09 20:21:05 -07:00
itsmattkc 9101f5dc49 implemented core audio recording support 2022-05-02 14:00:03 -07:00
itsmattkc 88b7151c17 restored project properties dialog 2022-01-12 13:15:52 -08:00
itsmattkc 9264a2f856 Merge pull request #1330 from ThomasWilshaw/OTIO_load
OTIO load
2022-01-07 19:35:38 -08:00
Thomas Wilshaw 5624b03e65 Merge branch 'OTIO_load' of https://github.com/ThomasWilshaw/olive into OTIO_load 2022-01-07 00:03:34 +00:00
Thomas Wilshaw 836903cbe9 Fix PR comments 2022-01-07 00:02:46 +00:00
itsmattkc 3960f54e9c code: moved project version related variables to project class 2022-01-06 12:50:40 -08:00
ThomasWilshaw b865bfa963 Merge branch 'master' into OTIO_load 2022-01-06 13:56:08 +00:00
Thomas Wilshaw f784695133 Fix PR comments 2022-01-05 16:27:41 +00:00
itsmattkc 65a1c75933 clean up and remove nodegroupdialog 2021-12-27 20:56:04 -08:00
Thomas Wilshaw ee801e7bbb core: add OTIO guards 2021-11-09 14:57:15 +00:00
Thomas Wilshaw 04a0b6024e otioload: Add simple dialog to change settings
Adds a table of sequences in the OTIO file and allows the settings to
be changed. The dialog takes a list of sequences and relies on each
OTIO timeline having a unique name.

The dialog has to be called from the main thread so there is a wrapper
function in Core.
2021-11-09 14:44:51 +00:00
itsmattkc 7b65ecace5 implemented color picker in dialog
Fixes #1757
2021-10-01 15:41:24 -07:00
itsmattkc 34004bbf10 added manual crash trigger for handling testing 2021-09-30 16:04:57 -07:00
itsmattkc 3fccfecd7e add subtitle track when switching to add tool
Fixes #1709
2021-09-03 17:02:09 -07:00
itsmattkc 420042bb57 project: added revert function
This can be triggered either with File > Revert or by re-opening an already open project

Fixes #1710
2021-08-09 11:37:45 -07:00
itsmattkc 6da4464f05 moved effects slider drag bool to static and outside core 2021-07-19 19:25:45 -07:00
itsmattkc 8350ce300f cache: improved invalidation system 2021-07-15 20:59:37 -07:00
itsmattkc fdbb8e59a9 core: add function for clearing the status bar message 2021-04-27 01:19:48 +10:00
itsmattkc 81cc665ff2 core: add status bar timeout 2021-04-27 00:48:37 +10:00
itsmattkc 77d4b18a60 updated copyright year for 2021 [skip ci] 2021-04-17 18:56:50 +10:00
itsmattkc c03c197412 added ability to open viewers on any viewer node or derivative
Fixes #1362

Also fixes some other bugs that impeded this from working.
2021-04-12 22:58:34 +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 4066fcba90 began merging footage and viewer 2021-04-05 16:41:37 +10:00
itsmattkc 9be014c0b6 refactored so sequence is again a derivative of viewer 2021-04-05 14:41:59 +10:00
itsmattkc b42b728d8e fixed autorecovery index issue 2021-04-05 13:01:59 +10:00
itsmattkc e6b8848ad7 project: force user to re-save recovery projects
Ensure user doesn't just work on a project in the app's recovery
folder.

Finalizes auto-recovery system for now.
2021-04-01 17:34:16 +11:00
itsmattkc 0ee98a47ea project: implemented autorecovery core
Not done yet, but nearly.
2021-04-01 13:10:43 +11:00
itsmattkc b1328c013b core: added shortcut to set status bar message 2021-03-10 13:38:56 +11:00