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
4b366a9b73
update copyright year to 2022
2022-05-10 10:38:56 -07:00
itsmattkc
5bed4396ea
use audioprocessor to match device's output
2022-05-05 16:32:17 -07:00
itsmattkc
9ec42c792a
audio: merged all processors into single versatile object
2022-05-05 15:28:32 -07:00
itsmattkc
591d02bdd6
audiomanager: fix crash and return error text if applicable
2022-05-05 11:47:53 -07:00
itsmattkc
ef515579df
completed audio recording implementation
2022-05-02 17:05:11 -07:00
itsmattkc
9101f5dc49
implemented core audio recording support
2022-05-02 14:00:03 -07:00
itsmattkc
6fed061e65
implemented audio dialog
...
It's arguably not finished in that each API has parameters that users may want control over (e.g. ASIO latency), but it allows selecting devices again which is a necessity
2022-01-14 18:21:12 -08:00
itsmattkc
48e700ecb5
fixed some compiler errors
2021-10-01 17:25:43 -07:00
itsmattkc
fbc5997d32
removed reliance on Qt multimedia
2021-10-01 16:12:12 -07:00
itsmattkc
f49aa7d974
finished portaudio switch
...
This may have bugs in it, but as far as I can tell it's fully functional.
2021-10-01 15:41:24 -07:00
itsmattkc
ee81a47f2e
begin switch to portaudio
...
Qt's audio system has served us well, but it's a little limited moving forward. PortAudio is a mature and versatile library that will allow for better audio for users.
2021-10-01 15:41:24 -07:00
itsmattkc
db873dfc69
reimplemented reversing and shuttling in new audio
2021-09-26 14:22:50 -07:00
itsmattkc
6f3f7e558b
use shared ptr for audio device
...
Prevents deletion before audio output has received stop signal
2021-09-25 13:29:30 -07:00
itsmattkc
4c9863a696
implement audio device to pull directly from renderer
2021-09-25 12:44:58 -07:00
itsmattkc
77d4b18a60
updated copyright year for 2021 [skip ci]
2021-04-17 18:56:50 +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
82d2a253d9
preferences: revised audio tab
...
Cleaned up and improved the audio tab.
Fixes #1546 . Kind of. There doesn't seem to be much need for a
sample rate selection for our current high-level audio system.
If we implement higher end audio backends in the future (e.g.
ASIO, JACK), those can be given a sample rate setting.
2021-04-11 20:20:01 +10: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
453f3700ab
ensure AudioOutputManager is deleted in its own thread
...
Fixes #1265
2020-10-12 12:23:20 +11:00
itsmattkc
f7ab0bb640
audio: rewrote audio cache to write to contiguous segments rather than one long file
...
Fixes issues with PCM file placement, optimizes some audio-based timeline
and cache operations, just generally a better approach.
2020-10-11 23:27:40 +11:00
itsmattkc
c324de804c
audiomanager: create and delete future watchers when necessary
2020-06-26 00:21:34 +10:00
itsmattkc
430561e2ac
sequence: made divider a sequence parameter rather than a viewer parameter
...
Doing this makes the preview resolution an explicit project setting rather
than a temporary UI setting. This will allow more consistency when caching.
2020-06-08 14:41:35 +10:00
itsmattkc
141ac8b12f
audiomonitor: implemented hardware acceleration
...
Drawing is much smoother this way.
2020-04-22 01:26:39 +10:00
itsmattkc
afa3d3babe
audiomonitor: rewrote to handle audio independently of output
...
This gives the AudioMonitor more control over its own timing and appearance
and also reduces the load on the audio processing threads.
2020-04-22 01:09:49 +10:00
itsmattkc
412a6dfdc2
audio: moved output to its own high priority thread
...
macOS audio playback failed due to audio being processed in the main thread.
Now all audio playback has been placed into its own high priority thread to
always keep up better with the operating system's demands.
2020-04-21 19:31:29 +10:00
itsmattkc
05eae1e28a
audio: don't use a shared QIODevice
...
This system was kind of janky anyway. It makes more sense ultimately for the
audio management classes to contain the file handle rather than the renderer.
2020-04-21 17:55:55 +10:00
itsmattkc
1d3b9bbf13
audiomanager: remove audio signalling
...
This is in preparation for upcoming modifications that we'll be making to the
AudioManager.
2020-04-21 17:45:39 +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
9e4c79699e
node: split off traversing functions from renderer for usage elsewhere
...
Fixes issue where Viewer node wouldn't pick up correct length if a tracks
weren't in use.
2020-03-13 15:31:15 +11:00
itsmattkc
f1f80c0a39
audiomanager: fixed segfault if olive is closed while the devices are getting
...
refreshed
2020-02-23 02:20:39 +11:00
itsmattkc
a616aaa182
correctly affect speed/reversing when shuttling audio
2020-01-07 16:41:30 +11:00
itsmattkc
02a790b041
simple file renames to better represent their new purposes
2020-01-03 02:36:30 +11:00
itsmattkc
8ec63abc74
moved audio output manager and device to separate thread
2020-01-03 00:32:23 +11:00
itsmattkc
7d0d73bcfe
use signal/slot threading for the audio refresh thread instead of subclassing QThread
2020-01-02 22:02:48 +11:00
itsmattkc
cd69bd76b9
use sequence parameters as audio output parameters
2019-11-15 20:11:17 +09:00
itsmattkc
52f4c59bec
implemented new audio monitor widget
2019-10-23 03:21:05 +11:00
itsmattkc
259b5d530a
improved audio pausing feedback
2019-10-17 09:43:38 +11:00
itsmattkc
d6483916ac
base audio renderer classes created
2019-10-16 13:51:56 +11:00
itsmattkc
fe2b0f2dc2
implemented base audio playback and scrubbing
2019-10-14 11:38:29 +11:00
itsmattkc
8df4cf2cdc
audiomanager implementation
2019-09-27 03:01:09 +10:00
itsmattkc
d1cc36cb78
audio preferences
2019-09-26 19:53:35 +10:00