Chris Robinson
daf9d46478
Use a separate structure for the context/listener params
2020-12-15 18:41:50 -08:00
Chris Robinson
03358a0d80
Avoid changing the global CPU flags in FillCPUCaps
2020-12-15 12:33:57 -08:00
Chris Robinson
191fe888b4
Move ambidefs.h to core
2020-12-12 10:38:24 -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
36c1589c11
Move mastering.cpp/h to core
2020-12-04 11:15:50 -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
7632dfb51a
Use a type alias instead of decltype
2020-11-23 12:20:33 -08:00
Chris Robinson
822224312d
Use optionals for some attribute parameters
2020-11-22 04:31:02 -08:00
Chris Robinson
21174047df
Make ALbuffer inherit from BufferStorage
2020-11-21 00:54:25 -08:00
Chris Robinson
f85e76285f
Disassociate internal voice enums from AL enums
2020-11-20 01:37:19 -08:00
Chris Robinson
bee9917598
Disassociate internal format enums from ALC enums
2020-11-20 00:55:51 -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
03389f390c
Avoid a full wipe and reallocation of wet buffers
2020-11-02 05:19: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
be0798b56d
Finalize AL_SOFT_events
2020-10-26 10:57:48 -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
17e88bdef3
Add a missing enum to the enum list
2020-10-16 06:39:42 -07:00
Chris Robinson
8e09ae8ee6
Finalize AL_SOFT_effect_target
2020-10-16 06:36:43 -07:00
Chris Robinson
2beb095eb1
Finalize ALC_SOFT_loopback_bformat
2020-10-16 06:35:23 -07:00
Chris Robinson
303ca3af72
Use inline functions for popcnt and ctz instead of macros
2020-10-13 01:21:44 -07:00
Chris Robinson
b5eccf424b
Remove the unused Ref logging level
2020-09-28 16:14:20 -07:00
Chris Robinson
da29489ead
Use an enum class for the log level
2020-09-28 00:40:30 -07:00
Chris Robinson
191150d9a8
Remove deprecated, performance, and error event types
...
These would be better served with a proper debug API, rather than a general
audio event API.
2020-09-20 04:11:52 -07:00
Chris Robinson
bb90bfd9b3
Accumulate delays as samples before calculating nanoseconds
2020-09-12 01:52:45 -07:00
Chris Robinson
7eb5dfb3f8
Allow querying the new enums and functions
2020-09-05 23:53:53 -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
7851f7d4ce
Don't add effect slots to the active list until an effect is set
2020-09-05 18:13:08 -07:00
Chris Robinson
1968136c98
Add an in-progress extension string for convolution reverb
2020-09-01 07:37:07 -07:00
Chris Robinson
a6aefeccd8
Use enum class for a couple enums
2020-09-01 05:46:19 -07:00
Chris Robinson
986a58d5b4
Pass a BufferStorage to EffectState::createBuffer
2020-08-28 00:44:55 -07:00
Chris Robinson
1f486f820e
Use a separate structure for buffer storage
2020-08-28 00:09:46 -07:00
Chris Robinson
9e5a388dfe
Add a method for effects to create persistent buffer data
2020-08-24 19:13:46 -07:00
Chris Robinson
73ab9d46c8
Use an intrusive_ptr to hold the unapplied effect state
2020-08-24 16:34:53 -07:00
Chris Robinson
ff5c9d1c15
Use an intrusive_ptr for ALeffectslotProps::State
2020-08-24 14:09:26 -07:00
Chris Robinson
23259b48dd
Avoid a zero-length array for the FlexArray definition
...
Newer GCCs are warning about FlexArray being used at the end of another struct.
Though not the most ideal to always allocate space for at least 1 element,
actual 0-sized uses are rare and for smaller element types.
2020-08-15 23:22:10 -07:00
Chris Robinson
e8b3e82f96
Change a couple functions into member functions
2020-08-07 06:22:39 -07:00
Chris Robinson
f81558c948
Avoid including windows.h in threads.h
2020-06-28 12:55:55 -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
825206bfa2
Apply the ambisonic HF scaling in real-time with HRTF
...
Rather than applying the HF scale to the IRs necessitating them to be truncated
along with increasing the IR size, it can be applied to the input signal for
the same results. Consequently, the IR size can be notably shortened while
avoiding the extra truncation. In its place, the delayed reversed all-pass
technique can still be used on the input for maintaining phase when applying
the bandsplit/hfscalar filter to the input signal.
2020-05-19 10:27:52 -07:00
Chris Robinson
91b8387c0a
Give names to parameter value constants
2020-05-13 00:57:03 -07:00
Chris Robinson
0406e3bef7
Change a couple functions into member functions
2020-05-10 20:16:43 -07:00
Chris Robinson
73569dfeca
Avoid a reference on a constexpr variable
2020-05-08 20:11:30 -07:00
Chris Robinson
1c320c3532
Use a FIR filter for the UHJ all-pass
2020-05-08 15:38:14 -07:00
Chris Robinson
ee82db3966
Use a flexible array for the front stablizer delay buffers
2020-05-05 01:34:14 -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
054071998c
Correctly handle unicode paths on Windows for ALSOFT_LOGFILE
2020-04-29 15:41:11 -07:00