Commit Graph
121 Commits
Author SHA1 Message Date
itsmattkc 019b3cfe29 implemented maintaining audio pitch and reversing 2022-02-01 13:39:43 -08:00
Alfred Wingate a484644dd6 Fix jack client naming and improve use of pa_jack (#1847)
* Switch around Pa_Initialize and PaJack_SetClientName so that the jack
  client is named "Olive" on the first initialization and not on
  subsequent initializations when refreshing devices.
* Make use of pa_jack.h dependant on availability of the header and not
  on the usage of the linux platform.

Signed-off-by: Alfred Wingate <parona@protonmail.com>
2022-01-26 08:15:32 -08:00
itsmattkc 4476a8d858 consolidate cpu optimizations into single header 2022-01-22 17:15:23 -08: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 e12e5db760 try sse wrapper for neon instructions 2021-10-25 12:30:47 -07:00
itsmattkc c2d7ac1f96 audiomanager: handle no output device set 2021-10-16 12:28:29 -07:00
itsmattkc 8a4e992214 minor formatting 2021-10-13 17:00:43 -07:00
Moreno Razzoli 3656ed480e min_max_sse: design failsafe for lenghts not mod.4 2021-10-13 22:58:04 +02:00
Moreno Razzoli 81be311ded AudioVisualWaveform, SumSamples: improve performance by 10x on x86 architecture by using platform specific optimizations 2021-10-12 08:59:12 +02:00
itsmattkc 109d973f6e audiovisualwaveform: improved shift code 2021-10-09 14:09:35 -07:00
itsmattkc d940c38a71 audio: don't print device name if device was null 2021-10-08 23:15:45 -07: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 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