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
caafac4203
sync: masked waveform correlation, stretch sync, manual start time
...
- Waveform sync no longer treats uncached waveform regions as silence:
the envelope extraction now reports a per-window validity mask and the
correlation skips invalid windows on either side, improving accuracy
for partially cached clips
- Add stretch/speed sync: AudioWaveformSync::EstimateStretchAndOffset
searches a playback-rate range plus offset, and a new timeline
context action 'Synchronize by Waveform (Adjust Speed)' applies the
estimated rate as a clip speed change (with undo) when plain offset
alignment is inconclusive
- Footage properties dialog gains a Source Start Time field so the
value used by source-time sync can be viewed and edited manually
instead of relying solely on auto-detected metadata; applied via an
undo command, with Footage::ClearSourceStartTime() for removal
- Regression tests for masked correlation, stretch estimation, the
envelope validity mask, and source-start-time set/clear
2026-07-16 23:09:12 +08:00
Mike-Solar
ddca6a5e01
proxy: add dedicated Proxy dialog and preferences fields
...
- New ProxyDialog (Tools > Proxy Settings..., plus 'Proxy Settings...'
in the project panel and timeline Proxy submenus) unifying global
proxy settings, per-footage custom presets, generation and deletion
in one place instead of three scattered entry points; this also fixes
the Tools menu action opening the wrong preferences tab
- Preferences Disk tab gains an 'include audio in proxies' checkbox and
an ffmpeg executable path field (blank = auto-detect)
- Add ProxyDialog smoke tests
2026-07-16 22:53:13 +08:00
Mike-Solar
8ae8e3a159
Implement proxy media workflow
2026-07-13 10:19:29 +08:00
Mike-Solar
9c1fba4932
Add timeline audio sync actions
2026-07-13 10:19:29 +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
d0f16ef88e
timeline: vastly improve behavior when scrolling and zooming
2023-02-28 20:39:02 -08:00
itsmattkc
3978a8501a
timeline: implement select to seek and seek to select
2022-10-23 22:28:35 -07:00
itsmattkc
d1545745d8
various: moved time from viewer UI to viewer node
2022-10-23 20:56:04 -07:00
itsmattkc
42ba84bf5f
multicam: finished UI implementation
2022-10-03 17:24:09 -07:00
itsmattkc
a6315a780d
timeline: started implementation of multicam function
2022-10-02 12:25:01 -07:00
itsmattkc
df97df635d
timeline: implement nest function
...
Also includes some improved cache/request code
2022-10-01 13:04:51 -07:00
itsmattkc
d0e12ce607
timeline: add options for manually caching and discarding parts of clips
2022-09-13 19:19:42 -07:00
itsmattkc
571be3d28d
timeline: added thumbnail modes that affect how much is rendered
2022-09-06 16:06:26 -07:00
itsmattkc
54d0a94a20
Merge branch 'master' into cache-update
2022-08-18 08:12:46 -07:00
itsmattkc
f18461e69b
timeline: allow pasting nodes into or over clips
2022-08-15 11:06:34 -07:00
itsmattkc
402c4e1694
ui: move zoom scrolling option to preferences
2022-08-12 09:16:12 -07:00
itsmattkc
f2e604c2cb
ui: add rename shortcut
2022-07-22 13:25:46 -07:00
itsmattkc
7e1792cfea
Merge branch 'master' into cache-update
2022-07-01 22:32:49 -05:00
itsmattkc
ac207e8fe7
timeline: implement add default transition
...
Fixes #1939
2022-06-28 12:09:10 -07:00
itsmattkc
89927c71ff
implemented reveal in footage viewer option
...
Fixes #1958
2022-06-27 23:40:05 -07:00
itsmattkc
e3830116b0
clip: implement auto-cache option
2022-05-30 08:59:56 -07:00
itsmattkc
60f7f06de4
implemented base for thumbnail display
2022-05-25 11:18:08 -07:00
itsmattkc
e0bb31b199
remove shifts, operations, and make caches node-agnostic
2022-05-16 19:53:38 -07:00
itsmattkc
7130371690
timeline: improved subtitle import behavior
2022-05-16 08:37:14 -07:00
itsmattkc
f17c119c29
timeline: handle users deleting tentative subtitle track
...
Fixes potential crash if users try to do this
2022-05-11 13:47:12 -07:00
itsmattkc
182e1599af
keyframes: implemented copying/pasting
2022-05-10 15:42:09 -07:00
itsmattkc
4b366a9b73
update copyright year to 2022
2022-05-10 10:38:56 -07:00
itsmattkc
494370cc49
timeline: add rename action
...
This used to be possible in properties, but then the properties action changed. Oops.
2022-05-04 11:04:34 -07:00
itsmattkc
82bd6a103c
timeline: implement reveal in project action
2022-05-03 14:23:41 -07:00
itsmattkc
9101f5dc49
implemented core audio recording support
2022-05-02 14:00:03 -07:00
itsmattkc
e6d4fe43de
reworked and vastly improved snapping subsystem
2022-05-02 00:01:49 -07:00
itsmattkc
f7396de121
markers: reimplemented copy/paste
2022-05-01 22:33:58 -07:00
itsmattkc
cdcd83c09a
ported seekablewidget to timebasedview
...
Cuts down on a lot of code duplication and opens up usage of the new TimelineViewSelectionManager framework
2022-05-01 15:45:20 -07:00
itsmattkc
e8dde836e3
Merge branch 'master' into pr/1717
2022-05-01 10:58:44 -07:00
itsmattkc
60f80d4a14
ui: moved timeline selection signal queue to timeline
...
Probably a safer way to do this
2022-04-12 09:28:51 -07:00
ThomasWilshaw
02b9a38737
Merge branch 'master' into marker
2022-01-28 22:30:29 +00:00
itsmattkc
cce379ad22
handle cache properly in ripple delete
2022-01-28 13:49:49 -08:00
itsmattkc
576ea8e81f
refactored copy/paste code for new serializers
...
Vastly improves code quality and reusability
2022-01-12 16:34:40 -08:00
itsmattkc
3c95ff7ac8
recalculate selected nodes on pointer operation
2021-12-29 00:54:48 -08:00
itsmattkc
46bf3334f5
reworked reselection code
...
Fixes #1811
2021-12-29 00:42:59 -08:00
Thomas Wilshaw
9eef02b446
make sure clip markers in timeline refresh as soon as marker is edited
2021-10-26 00:37:53 +01:00
Thomas Wilshaw
76e55a857f
Make markers copy/paste-able
2021-10-22 22:15:52 +01:00
itsmattkc
3fccfecd7e
add subtitle track when switching to add tool
...
Fixes #1709
2021-09-03 17:02:09 -07:00
itsmattkc
c3d30f1b77
Merge branch 'master' into transition-offsets
2021-08-02 14:20:56 -07:00
itsmattkc
438cce1ce5
widget: use rational for internal playhead value
...
Fixes #1688
2021-08-02 10:55:01 -07:00
itsmattkc
4510f6d36a
timeline: add move in/out to playhead
...
Fixes #1691
2021-08-02 07:50:36 -07:00