Commit Graph
32 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 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 c1c6893713 various: moved more to core lib 2023-01-19 16:01:31 -08:00
itsmattkc fc579356d9 audiovisualwaveform: allow arbitrary offsets for waveforms 2022-09-27 21:59:35 -07:00
itsmattkc 21231540fd audio: use std vectors and size_t for sample indices 2022-09-01 12:52:23 -07:00
itsmattkc 2f7dc3c98b implemented separate waveform cache 2022-05-29 17:52:35 -07:00
itsmattkc 4b366a9b73 update copyright year to 2022 2022-05-10 10:38:56 -07:00
itsmattkc bb0fedabba simplified and optimized samplebuffer 2022-05-09 14:55:51 -07:00
itsmattkc e12e5db760 try sse wrapper for neon instructions 2021-10-25 12:30:47 -07:00
itsmattkc c29939b523 use audio waveform constants to determine min/max zoom levels 2021-09-28 21:35:24 -07:00
itsmattkc 6bd7bc4cca timeline: copy waveform when copying 2021-08-25 12:27:26 -07:00
itsmattkc be4a18d7de moved visual waveforms to block
This should be nicer, however it has a bug that I need to fix
2021-08-01 16:43:53 -07:00
itsmattkc 08e2fa4d8e renderer: generate audio waveforms in render threads
Solves UI lag issues with long audio sequences.
2021-06-11 23:30:55 -07:00
itsmattkc f2f5ab8739 audiovisualwaveform: keep track of length
Useful to determine how long the visual waveform is.
2021-04-27 00:49:04 +10:00
itsmattkc 77d4b18a60 updated copyright year for 2021 [skip ci] 2021-04-17 18:56:50 +10:00
itsmattkc 22b2d08baf rational: implement NaN mode
Also clarify code where 0 is used as a rational.
2021-04-17 15:04:03 +10:00
itsmattkc 6b7412aff6 audiovisualwaveform: removed templates
I'm not sure if this will make any difference performance-wise,
but we don't need them anymore so yeah.
2021-04-14 15:27:34 +10:00
itsmattkc 3ffb2fde1c audiomonitor: use mipmapped waveform
Since we have these now, may as well use them. This should
improve general playback performance since the audio monitor
will be able to iterate far fewer
2021-04-14 15:25:38 +10:00
itsmattkc 7107afaf99 audiovisualwaveform: mipmap waveforms 2021-04-13 23:43:44 +10:00
itsmattkc 0936c7c580 added some documentation to audiovisualwaveform 2021-01-18 10:43:59 +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 ffebe70a65 audiovisualwaveform: fixed bug that would make all channels the same 2020-06-12 03:27:00 +10:00
itsmattkc ee3fa529cb audiovisualwaveform: reinterpret cast to char*
Bypasses GCC warning about qfloat16's constructor.
2020-06-08 04:03:24 +10:00
itsmattkc a29de7cea0 audiovisualwaveform: allow only partial sum overwrite 2020-06-05 15:02:44 +10:00
itsmattkc 5eeef76b62 waveform: shift track waveform alongside cache 2020-06-04 23:32:50 +10:00
itsmattkc 0e87762afa waveforms: moved waveform to track rather than block
This is a much more robust and thread-safe system of storing the waveforms.
2020-06-04 18:03:21 +10:00
itsmattkc 1fce380cc6 timeline: automate waveform resizing
Now each UndoCommand won't have to handle it (unless it can introduce
specific optimizations).
2020-06-01 14:54:14 +10:00
itsmattkc c2e47a296c timeline: heavily optimized and improved nearly all timeline optimizations
Features a lot of timeline-related cache optimizations as well as general
optimizations and improvements in timeline behavior. Should improve
usability significantly.
2020-06-01 04:42:59 +10:00