Chris Robinson
c96b50fb65
Use a separate enum for the VoiceChange state
2020-12-16 01:40:15 -08:00
Chris Robinson
5ad28f8cba
Move VoiceChange to a separate header
2020-12-16 00:50:50 -08:00
Chris Robinson
304ab8d890
Avoid a generic event struct
2020-12-15 21:32:01 -08:00
Chris Robinson
a08f68f213
Avoid some AL types
2020-12-15 20:48:21 -08:00
Chris Robinson
daf9d46478
Use a separate structure for the context/listener params
2020-12-15 18:41:50 -08:00
Chris Robinson
e179bf0a12
Move the mixer functions to core
2020-12-12 14:58:09 -08:00
Chris Robinson
176bc8a835
Avoid passing DirectHrtfState to MixDirectHrtf
2020-12-12 13:52:14 -08:00
Chris Robinson
191fe888b4
Move ambidefs.h to core
2020-12-12 10:38:24 -08:00
Chris Robinson
2b919eac78
Use an alias for the DevFmtType type
2020-12-05 02:44:19 -08:00
Chris Robinson
50e33ce8f4
Change some macros into constexpr variables
2020-12-04 13:53:56 -08:00
Chris Robinson
c4132b80ed
Move a couple more things to core
2020-12-04 13:13:52 -08:00
Chris Robinson
69d55d7e03
Move the filters to core
2020-12-04 11:15:50 -08:00
Chris Robinson
84d47f7d4c
Move the bsinc tables to core
2020-12-04 11:15:50 -08:00
Chris Robinson
36c1589c11
Move mastering.cpp/h to core
2020-12-04 11:15:50 -08:00
Chris Robinson
aa05feec4a
Avoid a global MAX_PITCH macro
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
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
e64c52ce8c
Use doubles to calculate the listener matrix translation
...
To help stablize sources near the listener, when away from origin. Also clean
up some related methods and move them to more appropriate places.
2020-11-13 23:33:40 -08:00
Chris Robinson
1a05dda8db
Avoid testing a bool against AL_FALSE
2020-11-12 12:46:15 -08:00
Chris Robinson
4e760bbecc
Use a separate structure for the active effect slot properties
2020-11-07 08:36:49 -08:00
Chris Robinson
26b03f534c
Use more efficient sorting for effect slots
2020-11-05 15:35:09 -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
7bb37deb51
Replace the mixer fraction macros with constexpr variables
2020-10-21 17:16:27 -07:00
Chris Robinson
3e62600ecc
Replace some more macros with constexpr variables
2020-10-21 16:39:21 -07:00
Chris Robinson
b8f5e1f424
Change some more macros into constexpr variables
2020-10-21 10:39:00 -07:00
Chris Robinson
cdc15a4783
Use constexpr variables in place of some macros
2020-10-19 07:55:25 -07:00
Chris Robinson
c52bf8c401
Rework effect slot buffer setting
...
Rather than creating an effect-specific buffer that gets passed along as a
property, the buffer is set the effect state when the effect state is created,
the device is updated, or the buffer is changed. The buffer can only be set
while the effect slot isn't playing, so it won't be changed or updated while
the mixer is processing the effect state.
2020-09-05 20:48:56 -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
3c09f17421
Blend panned B-Format source directivity given its radius
2020-08-27 08:44:29 -07:00
Chris Robinson
a6bd53c4e1
Store a reference to the effect buffer as an active property
2020-08-24 20:40:24 -07:00
Chris Robinson
ff5c9d1c15
Use an intrusive_ptr for ALeffectslotProps::State
2020-08-24 14:09:26 -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
c50250c978
Use a range-for loop instead of for_each
2020-06-09 21:28:09 -07:00
Chris Robinson
b2b3ad570b
Use better types for array lengths
2020-06-09 11:52:48 -07:00
Chris Robinson
da3dfa2fb0
Simplify handling the stablizer side channel delay
2020-05-21 13:48:50 -07:00
Chris Robinson
e98017b475
Avoid a log10 constant call
2020-05-21 09:46:39 -07:00
Chris Robinson
5bbbe8341e
Use an enum class for SpatializeMode
2020-05-21 09:10:32 -07:00
Chris Robinson
ad95cb6312
Clear the whole buffer
2020-05-12 04:46:15 -07:00
Chris Robinson
deac36a1eb
Improve the front stablizer
...
Apply the all-pass+band-split only once, after generating the mid and side
signals separately.
2020-05-05 01:05:38 -07:00
Chris Robinson
fcec76663f
Move some sin/cos constants out of a loop
2020-05-04 16:16:55 -07:00
Chris Robinson
be476c7935
Use global placement new for AsyncEvent
2020-04-24 07:04:32 -07:00
Chris Robinson
2deb5e47d1
Avoid an unnecessary out parameter
2020-04-21 23:58:53 -07:00
Chris Robinson
3cb12da765
Move a type to where it's used
2020-04-16 02:05:07 -07:00
Chris Robinson
55539787fb
Avoid ALfloat in some places
2020-04-08 06:17:04 -07:00
Chris Robinson
8f47013e43
Some more ALfloat->float cleanup
2020-04-03 08:49:15 -07:00
Chris Robinson
1130597562
Use structs for the mixer and resampler tags
2020-04-03 03:52:23 -07:00
Chris Robinson
8853519d89
Generate the bsinc tables using constexpr methods
...
All the methods used should be compliant with C++14 constexpr rules. However,
the number of scales and phases cause GenerateBSincCoeffs to reach the allowed
step limit, preventing full compile-time generation. It's not a terribly big
deal, it'll generate them very quickly when loading, but it does prevent using
shared read-only memory pages.
2020-04-02 00:49:19 -07:00
Chris Robinson
cc009b8aa0
Move the FrontStablizer definition to its own header
2020-03-30 01:16:15 -07:00