Commit Graph

6155 Commits

Author SHA1 Message Date
Chris Robinson b4fbc271d2 Add byte ops that take an integer-based rhs parameter 2019-05-24 13:30:40 -07:00
Chris Robinson 674ca3cf24 Move a couple table definitions to where they're used 2019-05-24 12:06:52 -07:00
Chris Robinson 1f45cc051a Fix some truncation warnings with MSVC 2019-05-24 06:47:24 -07:00
Chris Robinson e90a6beaa2 Remove an unnecessary struct member 2019-05-24 06:25:18 -07:00
Chris Robinson 9c63bbd6ce Use raw bytes for the buffer data 2019-05-24 06:12:20 -07:00
Chris Robinson 1945b50834 Add a unique byte type for dealing with raw bytes 2019-05-24 06:11:21 -07:00
Chris Robinson 857473b6b0 Store the span extents as a pair of pointers 2019-05-24 04:55:38 -07:00
Chris Robinson 3a9caec72f Use a span for referencing the channel map to initialize 2019-05-23 13:30:16 -07:00
Chris Robinson 517b8158a7 Add a missing include 2019-05-23 08:30:02 -07:00
Chris Robinson b46eca97a6 Use a span for resource data 2019-05-23 08:17:05 -07:00
Chris Robinson a4af617532 Add a span class to act as a view to contiguous data 2019-05-23 08:15:02 -07:00
Chris Robinson e3d6f3d988 Use a function to mark a source for updating 2019-05-23 05:06:26 -07:00
Chris Robinson 6708504026 Properly reverse the HRTF field order when loading it
And combine a couple arrays into an array structure
2019-05-22 11:07:12 -07:00
Chris Robinson b48bab3394 Allow initializing splitter filters with constructors 2019-05-22 03:03:24 -07:00
Chris Robinson 657978c732 Don't change the format tag in MakeExtensible 2019-05-21 09:01:51 -07:00
Chris Robinson d502397b37 Simplify the echo feedback loop 2019-05-20 22:07:41 -07:00
Chris Robinson 55845f316d Don't use coverage spread for the echo spread 2019-05-20 21:30:56 -07:00
Chris Robinson 6dbd488d13 Avoid unnecessary use of CalcAngleCoeffs 2019-05-20 21:16:13 -07:00
Chris Robinson 136caf0cb0 Don't attenuate the repeated sample
The mixing gain stepping will handle it
2019-05-19 00:53:39 -07:00
Chris Robinson 515a201e30 Restructure some voice fields 2019-05-17 20:39:28 -07:00
Chris Robinson 5ac19673db Fix a couple type truncation warnings with MSVC 2019-05-12 19:41:34 -07:00
Chris Robinson 8d437a5135 Use available buffer samples when pausing a source 2019-05-05 01:51:46 -07:00
Chris Robinson 0759ed7213 Properly mark a likely branch 2019-05-05 00:05:41 -07:00
Chris Robinson 0c09c8378b Set the device channel order from PulseAudio's channel map 2019-05-04 23:45:27 -07:00
Chris Robinson 42dfefbb0e Fix when PulseAudio channel configuration changes 2019-05-04 22:11:29 -07:00
Chris Robinson 1b11ca48dc Avoid unnecessary parsing for channel maps 2019-05-04 20:54:49 -07:00
Chris Robinson 31c29f1ea8 Use exceptions when opening and reseting the PulseAudio backend 2019-05-04 20:35:24 -07:00
Chris Robinson 95d19be36b Catch exceptions from backend reset 2019-05-04 20:34:33 -07:00
Chris Robinson b9592bddbc Add the printf format attribute to backend_exception's constructor 2019-05-04 18:25:59 -07:00
Chris Robinson 5ff8d5ae32 Add an exception class to cover backend creation and opening 2019-05-04 18:03:25 -07:00
Chris Robinson 1607f9c525 Report the threshold limit for the output limiter 2019-05-04 13:53:11 -07:00
Chris Robinson 9eea2e4c73 Use BUFFERSIZE for the reverb loop limit
At 44/48khz, the main delay line comes out to 20k to 22k samples, which gets
rounded up to 32k as the next power of two. This leaves plenty of room for the
full 1k BUFFERSIZE without having to increase the delay line beyond what it
already is.
2019-05-03 12:59:04 -07:00
Chris Robinson 2f2ec2b6e3 Add some assumes and consts 2019-05-03 00:50:47 -07:00
Chris Robinson a72c47164c Avoid a few more array length assumptions 2019-05-01 11:15:17 -07:00
Chris Robinson 6281f6e85a Avoid masking offsets in the inner reverb loops 2019-04-30 23:28:57 -07:00
Chris Robinson 85439cbd87 Add some missing include directories 2019-04-29 20:03:51 -07:00
Chris Robinson fb52413a6e Make a number of settings tristate 2019-04-29 19:47:14 -07:00
Chris Robinson cef7eebed6 Disable NFC by default 2019-04-29 19:47:14 -07:00
Chris Robinson b42694ea31 Allow NFC filters without HQ decoding
It still requires a proper custom decoder configuration for speakers, so that
proper distances can be specified. Ambisonic output still relies on the
nfc-ref-delay option, and HRTF uses the dataset's distance.
2019-04-29 19:47:14 -07:00
kcat 1ab783c7ac Merge pull request #285 from ArthurSonzogni/master
Update CMakeLists.txt. Simplify examples build and export PUBLIC headers.
2019-04-29 19:46:39 -07:00
ArthurSonzogni 2eb657f2df CMAKE: export PUBLIC headers of OpenAL.
Remove the cmake function:
  INCLUDE_DIRECTORIES(..)
Replace it by:
  TARGET_INCLUDE_DIRECTORIES(...)

It gives us the opportunity to define whether or not OpenAL dependencies
should be exported or not (using PUBLIC or PRIVATE keywoard).

[user visible changes]
The OpenAL PUBLIC headers are exported. When a target depends on OpenAL,
it will have access to its public headers.

Some small refactor along the way.
2019-04-30 04:17:43 +02:00
Chris Robinson c7e388873c Increase the period size slider and don't use steps of 64 2019-04-28 22:21:23 -07:00
Chris Robinson 8ca849655f Properly replace sinc4 with cubic in alsoft-config 2019-04-28 21:51:47 -07:00
Chris Robinson ace7481b8e Only enable NFC with HRTF when hq-mode is enabled 2019-04-28 21:49:10 -07:00
Chris Robinson 9d6619efdc Combine some reverb processing loops
Specifically, the A2B and output mixing, as well as applying the band-pass with
B2A mixing (the latter of which hiding a bug that was overwriting the early
buffer storage).
2019-04-28 08:56:41 -07:00
Chris Robinson ec869234f7 Remove restrict from in+out parameters 2019-04-28 08:51:50 -07:00
Chris Robinson 014936ceff Be more robust with PulseAudio capture
Particularly, handle "holes" in the record stream and premature end-of-buffer.
Also don't bail out when capturing while disconnected (the extension says it
should provide anything it previously reported available, going to silence for
anything no longer readable).
2019-04-27 21:25:42 -07:00
Chris Robinson 0577028b65 Add missing function pointers 2019-04-27 18:01:26 -07:00
Chris Robinson c135629eae Remove some ancient PulseAudio KDE/Phonon/Qt hacks
Unfortuantely, the relevant KDE bug still seems to exist (streams are forced to
KDE's default device after opening, even when they're created with a specific
device at user request). I do not know why KDE thinks this is in any way good
behavior (the user doesn't get their desired device, nor does the stream get
the appropriate format for the device its ultimately put on), but making
streams non-movable as a workaround has been a thorn in the side of non-KDE
users for too long. C'mon KDE, it's been nearly (if not more than) 7 years now.
2019-04-27 14:13:07 -07:00
Chris Robinson 150dc92f68 Remove unused pa_threaded* functions 2019-04-27 13:06:39 -07:00