itsmattkc
a777740232
audiovisualwaveform: avoid index out of bounds
2021-09-29 00:15:05 -07:00
itsmattkc
c29939b523
use audio waveform constants to determine min/max zoom levels
2021-09-28 21:35: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
845b4a7559
use ffmpeg for sample packing
...
FFmpeg has a much more optimized algorithm than we do so may as well use it.
2021-09-25 13:22:13 -07:00
itsmattkc
4c9863a696
implement audio device to pull directly from renderer
2021-09-25 12:44:58 -07:00
itsmattkc
a5e7859e1f
audiovisualwaveform: fixed overwrite silence bug
2021-09-17 20:52:35 -07:00
itsmattkc
5edb8f5d4a
reduce waveform scale
...
Exponentially improves performance (at the expense of higher zoom levels but they were probably already too extreme)
2021-09-03 13:46:37 -07:00
itsmattkc
6bd7bc4cca
timeline: copy waveform when copying
2021-08-25 12:27:26 -07:00
itsmattkc
391534b71d
fixed waveform issue
2021-08-01 17:10:45 -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
7c21cf2339
audio: fixed reversing issue
2021-07-23 22:08:44 -07:00
itsmattkc
593a3b025a
Merge branch 'master' into nodeview-redux
2021-07-16 20:09:33 -07:00
luzpaz
01536f9865
Fix various typos in code comments ( #1670 ) [skip ci]
...
Found via `codespell -q 3 -S *.ts,*.xml -L ba,keypair,numer,uint`
2021-07-13 13:54:30 +02:00
itsmattkc
43d3fc57f2
Update audiovisualwaveform.cpp
...
audiovisualwaveform: fixed shift issue
2021-07-11 23:31:36 -07:00
itsmattkc
75c102d351
waveform: minor corrections
2021-07-08 12:19:27 -07:00
itsmattkc
1f0de6c5bb
waveform: fixed precision issue when generating from sample data
...
Fixes #1664
2021-07-08 12:08:05 -07:00
itsmattkc
558d849d27
waveform: flip Y axis
...
Fixes #1666
2021-07-08 11:55:35 -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
7e62ad4e10
audiovisualwaveform: optimize shifting code
2021-05-30 12:55:50 +10:00
itsmattkc
d13f68593b
audiomonitor: fix param sync issue that caused crashes
2021-05-26 18:00:12 +10: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
8e1ac7c1a0
audiovisualwaveform: minor refactoring
...
Improves code readability.
2021-04-14 13:47:46 +10:00
itsmattkc
b425754fef
audiovisualwaveform: don't draw empty sample
2021-04-14 13:47:33 +10:00
itsmattkc
7107afaf99
audiovisualwaveform: mipmap waveforms
2021-04-13 23:43:44 +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
c023916d05
audio: set push device to null when closing
...
Fixes crash trying to push samples after parameters change.
2021-04-08 08:20:13 +10:00
itsmattkc
fb410e7c96
use vectors for sample buffers rather than raw ptr arrays
2021-03-17 11:54:14 +11:00
itsmattkc
97dd84c68b
decrease audio buffer size to sane level
...
Improves audio on certain platforms
2021-03-08 11:26:36 +11:00
itsmattkc
0936c7c580
added some documentation to audiovisualwaveform
2021-01-18 10:43:59 +11:00
itsmattkc
827c9f93cc
AudioVisualWaveform: implement same size check as AudioPlaybackCache to prevent index out of bounds crashes
2020-11-24 11:02:42 +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
0d0766e4fb
improved render channel count system
2020-11-15 22:16:40 +11:00
itsmattkc
52b98f3fa3
lightened SampleFormat struct
2020-11-10 11:24:20 +11:00
itsmattkc
453f3700ab
ensure AudioOutputManager is deleted in its own thread
...
Fixes #1265
2020-10-12 12:23:20 +11:00
itsmattkc
6ced8504d6
audiooutputmanager: reordered constructor
2020-10-12 01:34:45 +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
82ceef2013
audio: don't write samples if channel count is zero
2020-09-21 04:44:55 +10:00
itsmattkc
f4feb381b1
audiomanager: updated config entries
...
The config entries that we were using were changed before.
2020-08-18 02:08:03 +10:00
itsmattkc
3e9f98e230
Merge branch 'master' of https://github.com/olive-editor/olive.git
2020-06-26 00:22:03 +10:00
itsmattkc
c324de804c
audiomanager: create and delete future watchers when necessary
2020-06-26 00:21:34 +10:00
itsmattkc
6ebcb7162e
audiovisualwaveform: clamp audio values so they stay inbounds
2020-06-22 00:39:38 +10:00
itsmattkc
ffebe70a65
audiovisualwaveform: fixed bug that would make all channels the same
2020-06-12 03:27:00 +10:00
itsmattkc
ccf5d4cece
audiovisualwaveform: detect if the start index exceeds the buffer sample count
...
Fixes segfault.
2020-06-11 21:24:50 +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