Chris Robinson
5ff5fd8ecc
Use a standard bitset for bitfield flags
2021-01-22 00:00:10 -08:00
Chris Robinson
7fe9d8d20c
Remove extraneous semicolor
2020-12-28 02:50:15 -08:00
Chris Robinson
ffa7d1b1a7
Reduce a few lines
2020-12-27 14:37:43 -08:00
Chris Robinson
43d053cb32
Reorder some device fields
2020-12-27 12:23:35 -08:00
Chris Robinson
04358890d9
Use a unique_ptr to hold DistanceComp data
2020-12-27 11:30:45 -08:00
Chris Robinson
adb5467720
Use smaller types for enums
2020-12-27 10:28:59 -08:00
Chris Robinson
8a86ec8ac5
Add a crossover frequency field for the device
...
Used when upsampling low-order ambisonic signals to higher order. Rather than a
hardcoded 400hz, it ensures a consistent crossover point when an ambdec
configuration is used. It can also allow for an alsoft config option.
2020-12-26 05:23:08 -08:00
Chris Robinson
5f233a2c24
Use more constexpr variables instead of macros
2020-12-25 20:52:18 -08:00
Chris Robinson
a08f68f213
Avoid some AL types
2020-12-15 20:48:21 -08:00
Chris Robinson
e179bf0a12
Move the mixer functions to core
2020-12-12 14:58:09 -08:00
Chris Robinson
191fe888b4
Move ambidefs.h to core
2020-12-12 10:38:24 -08:00
Chris Robinson
1bb7f575f0
Don't modify the IR size of loaded HRTFs
2020-12-11 15:08:50 -08:00
Chris Robinson
50e33ce8f4
Change some macros into constexpr variables
2020-12-04 13:53:56 -08:00
Chris Robinson
69d55d7e03
Move the filters to core
2020-12-04 11:15:50 -08:00
Chris Robinson
8750810f5c
Change a couple macros into constexpr variables
2020-11-28 03:38:20 -08:00
Chris Robinson
dbfdd35545
Move some declarations to more appropriate headers
2020-11-27 22:27:45 -08:00
Chris Robinson
b0919240ab
Move some sources to a separate directory
...
To begin separating the ALC interfaces from internal ones.
2020-11-27 19:18:17 -08:00
Chris Robinson
52d58a4023
Store the wet buffers in the context
...
This is rather ugly, but we need the wet buffers to remain allocated after its
effect slot is deleted, because a voice can still use it for its final fade-out
mix.
2020-11-02 04:24:36 -08:00
Chris Robinson
bb63d5aab3
Simplify clearing an array
2020-09-09 23:21:46 -07:00
Chris Robinson
a6aefeccd8
Use enum class for a couple enums
2020-09-01 05:46:19 -07:00
Chris Robinson
1f486f820e
Use a separate structure for buffer storage
2020-08-28 00:09:46 -07:00
Chris Robinson
475ed0f039
Use a FlexArray instead of a vector for distance compensation
2020-08-11 05:59:20 -07:00
Chris Robinson
e8b3e82f96
Change a couple functions into member functions
2020-08-07 06:22:39 -07:00
Chris Robinson
540315b07c
Handle the front stablizer with the B-Format decoder
2020-06-15 02:13:14 -07:00
Chris Robinson
6ce9bf6c94
Move a couple related functions to the backend base
2020-06-12 12:53:47 -07:00
Chris Robinson
200c164d78
Improve HRTF delay handling
...
Ensures source-level HRTF, the dry mix, and direct output all align properly,
and simplifies adding the delay in the direct mix output.
2020-05-20 11:13:06 -07:00
Chris Robinson
a512eae7bb
Move BUFFERSIZE and FloatBufferLine to a separate header
2020-05-19 10:21:19 -07:00
Chris Robinson
065775d814
Limit the maximum settable sample rate
2020-04-28 16:30:11 -07:00
Chris Robinson
1120f52556
Clean up some function comments
2020-04-28 08:29:42 -07:00
Chris Robinson
d67cba99bd
Clean up some more unnecessary uses of AL types
2020-04-08 10:15:43 -07:00
Chris Robinson
75479b58e3
Remove use of unnecessary type aliases
2020-03-30 13:43:49 -07:00
Chris Robinson
cc009b8aa0
Move the FrontStablizer definition to its own header
2020-03-30 01:16:15 -07:00
Chris Robinson
f1f9a14172
Avoid AL[C]boolean for internal use
2020-03-28 18:15:05 -07:00
Chris Robinson
bf50f227b9
Use a busy-wait when synchronizing against the mixer
...
The mixer should have higher priority than any thread that can make AL calls,
so even on single-core systems, it shouldn't stall the mix. It will, however,
return back to the caller as soon as it can, while yielding will give up the
timeslice if there's any other thread waiting to process even if the mix is
almost done.
2020-03-16 01:05:14 -07:00
Chris Robinson
accc1ec1c8
Add a helper to wait for the device mix
2020-03-03 20:32:44 -08:00
Chris Robinson
3e1a2c0f77
Use an intrusive_ptr for the device's HrtfStore
2020-03-01 17:16:09 -08:00
Chris Robinson
4634002104
Remix missing channels with direct channels enabled
...
Instead of dropping them.
2019-12-19 04:38:34 -08:00
Chris Robinson
925e6e979c
Rework HRTF enuemration so the loaded HRTFs are separate
2019-11-28 08:24:29 -08:00
Chris Robinson
1e93fba6d0
Rename HrtfEntry to HrtfStore
2019-11-28 06:10:36 -08:00
Chris Robinson
d2608e4bde
Avoid holding HRTF accumulation samples per-source
...
It notably simplifies things to mix HRTF sources into an accumulation buffer
together, which the Dry buffer's Ambisonic-to-HRTF decode is then added to,
before being mixed to the Real output.
2019-11-03 00:30:33 -07:00
Chris Robinson
4b746b8d37
Make MAX_RESAMPLER_PADDING specify the total padding
2019-09-28 14:35:42 -07:00
Chris Robinson
3675dfcfef
Use an unsigned index value
2019-09-14 08:50:07 -07:00
Chris Robinson
2646f509ee
Store the ambisonic order as unsigned
2019-09-13 20:04:22 -07:00
Chris Robinson
a250b6a986
Return unsigned values from the FromDevFmt functions
2019-09-13 14:29:25 -07:00
Chris Robinson
df306b5524
Make NumAuxSends unsigned
2019-09-13 04:15:05 -07:00
Chris Robinson
6699f3cf1c
Use unsigned channel indices
2019-09-12 04:17:21 -07:00
Chris Robinson
164626a7be
Pass unsigned sample count to aluMixData
2019-08-25 17:54:36 -07:00
Chris Robinson
88a8bf903b
Use size_t for the post-process sample length
2019-08-25 15:36:40 -07:00
Chris Robinson
5b33b4aa97
Make the post-process methods member functions
2019-08-07 11:43:53 -07:00
Chris Robinson
d06afa7ca1
Move a struct definition to where it's used
2019-08-05 15:11:47 -07:00