Chris Robinson
a25dea6cd9
Rename effect_chain to effect_target
2020-04-29 14:39:28 -07:00
Chris Robinson
4094135ed7
Don't return a bool from the backend start method
2020-04-28 19:25:58 -07:00
Chris Robinson
065775d814
Limit the maximum settable sample rate
2020-04-28 16:30:11 -07:00
Chris Robinson
45cb3e4956
Remove a couple redundant comments
2020-04-28 14:59:45 -07:00
Chris Robinson
cf64dc1103
Fix up some more uses of [AL[C]]void
2020-04-28 14:48:12 -07:00
Chris Robinson
c47f4822dc
Move standard ALC function's annotations to the header
2020-04-28 13:36:43 -07:00
Chris Robinson
1120f52556
Clean up some function comments
2020-04-28 08:29:42 -07:00
Chris Robinson
b828cf81a9
Shorten the name of format types
2020-04-28 07:56:36 -07:00
Chris Robinson
5441fba419
Don't maintain a global backend list end
2020-04-28 07:28:22 -07:00
Chris Robinson
187477db03
Properly return on error
2020-04-28 07:01:30 -07:00
Chris Robinson
b4435cd053
Avoid using some extraneous ALC types
2020-04-28 06:51:21 -07:00
Chris Robinson
e89978195f
Clean up some scaling math
2020-04-23 06:18:54 -07:00
Chris Robinson
aff410fa6d
Avoid using some more AL types
2020-04-23 04:57:04 -07:00
Chris Robinson
947826af1c
Get rid of an unnecessary variable
2020-04-20 04:30:14 -07:00
Chris Robinson
67e54a2669
Add an Oboe backend stub
2020-04-18 15:17:53 -07:00
Chris Robinson
27ac637a66
Remove another unnecessary return value
2020-04-16 17:29:32 -07:00
Chris Robinson
d67cba99bd
Clean up some more unnecessary uses of AL types
2020-04-08 10:15:43 -07:00
Chris Robinson
55539787fb
Avoid ALfloat in some places
2020-04-08 06:17:04 -07:00
Chris Robinson
024112a53a
Use acquire-release semantics for changing deferred updates
2020-04-07 12:46:35 -07:00
Chris Robinson
0077a01667
Don't yield the CPU when waiting for updates to finish
2020-04-07 12:36:44 -07:00
Chris Robinson
a0b7638d63
Add an extension to change a buffer's unpack ambisonic order
2020-04-04 03:10:01 -07:00
Chris Robinson
fc906c97f5
Track a buffer's ambisonic order
2020-04-04 01:52:29 -07:00
Chris Robinson
662d77159b
Get rid of a redundant enum
2020-03-30 16:00:02 -07:00
Chris Robinson
f2ddf971df
Return the enumerated device names from the backend
...
Rather than using an out parameter.
2020-03-30 15:37:41 -07:00
Chris Robinson
167bdce48d
Hold the ListLock while opening a device
...
Since it may rely on the enumerated device list that could be updated
asynchronously.
2020-03-30 13:50:50 -07:00
Chris Robinson
cc009b8aa0
Move the FrontStablizer definition to its own header
2020-03-30 01:16:15 -07:00
Chris Robinson
d70912c034
Remove the QSA backend
...
It's been broken for who knows how long, and could really do with a rewrite for
the new interface anyway.
2020-03-29 20:37:58 -07:00
Chris Robinson
5dfa24d5e2
Stop updating effects when one fails
2020-03-29 03:10:35 -07:00
Chris Robinson
963d9b761b
Rename ALvoice and related structs to Voice
2020-03-28 18:15:05 -07:00
Chris Robinson
f1f9a14172
Avoid AL[C]boolean for internal use
2020-03-28 18:15:05 -07:00
Chris Robinson
a27096dd63
Dynamically allocate voice channel data
...
Rather than allocating for a full 8 channels for each voice, when the vast
majority will only need 1 or 2. The voice channel data is relatively big since
it needs to hold HRTF coefficients and history, and this will allow increasing
the maximum number of buffer channels without an obscene memory increase.
2020-03-25 21:06:24 -07:00
Chris Robinson
813d4ed566
Use make_unique instead of new'ing into a unique_ptr
2020-03-22 18:48:33 -07:00
Chris Robinson
9ce182228d
Avoid some pre-C++14 workarounds
2020-03-22 08:51:06 -07:00
Chris Robinson
f56ef433d8
Move the FPUCtl methods to its own source
2020-03-20 15:01:45 -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
b42d241da5
Use real-time priority by default
2020-02-26 09:53:06 -08:00
Chris Robinson
eb49290dab
Remove unnecessary locks now that the mixer doesn't require one
2020-02-26 04:58:02 -08:00
Chris Robinson
795c4fcecc
Make the source's send array static instead of dynamic
2020-02-25 06:39:03 -08:00
Chris Robinson
52d86ad51f
Ignore VoiceChange objects while disconnected
...
And try to improve ALvoice/VoiceChange handling when attempting to recover a
lost device.
2020-02-24 11:01:45 -08:00
Chris Robinson
6044e0d7ca
Remove a couple unnecessary type aliases
2020-02-22 00:08:55 -08:00
Chris Robinson
a8162a77c2
Use an array of ALvoice pointers for the active voices
...
This allows growing the array atomically with the mixer since the ALvoice
objects themselves don't move, and a new larger array of them can be swapped in
without blocking the mixer.
2020-02-21 20:14:28 -08:00
Chris Robinson
bdb8ef22b0
Asynchronously stop voices if its source is being deleted
2020-02-20 22:50:37 -08:00
Chris Robinson
3aad01d3ba
Add AL_SOFTX_callback_buffer to the extension list
2020-02-19 17:32:32 -08:00
Chris Robinson
4277c05b0c
Workaround a 32-bit GCC/MinGW TLS bug
2020-02-18 18:14:59 -08:00
Chris Robinson
3156b17057
Stub out an interface for a callback-driven buffer
2020-02-16 23:49:29 -08:00
Aleš Gajdacz
7e319ad99b
Fix unreachable code warning
2020-02-08 23:34:09 +01:00
Chris Robinson
3904289af7
Only sort active effect slots as needed
2020-01-18 18:53:58 -08:00
Chris Robinson
e6e2f509f8
Make CreateRingBuffer a static RingBuffer method
2020-01-10 07:56:43 -08:00
Chris Robinson
84f65c1883
Avoid auto-releasing containers for the global device list
...
If any are left open at process shutdown, it may try to clean them up, and
subsequently close the device. This is dangerous to do at process exit, so
don't. The app should have closed the device(s) prior to exiting anyway
2020-01-07 03:12:49 -08:00