Chris Robinson
80e55b87ed
Avoid an extra level of indentation
2019-03-10 12:50:38 -07:00
Chris Robinson
12721f94a7
Add a method to apply an HF scale without band-splitting
2019-03-10 10:30:33 -07:00
Chris Robinson
6a95189ef6
Fix for MSVC decaying arrays to pointers with ?:
2019-03-09 21:54:15 -08:00
Chris Robinson
106671d451
Fade out voices that end normally
...
Sometimes a sound may end with non-0 amplitude, particularly if a buffer queue
underruns. This helps avoid clicks and pops for sources that don't already end
in silence.
2019-03-09 21:32:14 -08:00
Chris Robinson
87479b4b32
Play dummy samples and force a fade out on stopping voices
2019-03-09 18:34:00 -08:00
Chris Robinson
ef0f335132
Add a Stopping state for voices
...
This currently doesn't do much, except have the mixer progress it to Stopped.
It's valid to have without a source or buffers, and in the future will allow
fading out when a source is paused or stopped.
2019-03-09 16:48:07 -08:00
Chris Robinson
2d14de3fb0
Use more specific names for temp buffer storage
2019-03-02 23:41:26 -08:00
Chris Robinson
cadff0f6c1
Reduce BUFFERSIZE to match the default period size
...
Also adds a bit more space to the temp source data buffer, to avoid needing to
loop on matching sample rates.
2019-02-24 16:13:51 -08:00
Chris Robinson
7a9d67934f
Mix B-Format sources directly to the dry buffer
...
Now the only thing that utilizes FOAOut is reverb output.
2019-02-21 17:48:08 -08:00
Chris Robinson
69f6f56160
Avoid using internal AL[u]int64 types
2019-02-11 12:16:58 -08:00
Chris Robinson
8429770c3f
Use template declarations for the HRTF mixers
2019-01-23 12:23:05 -08:00
Chris Robinson
d3842a632d
Use template declarations for the normal mixing functions
2019-01-23 11:21:03 -08:00
Chris Robinson
23179d0bcd
Use a template declaration for the resampler functions
2019-01-23 11:11:41 -08:00
Chris Robinson
d64eaba322
Use a flexible array for DirectHrtfState and ALvoice
2019-01-12 01:25:33 -08:00
Filip Gawin
6ddb2c36fc
Remove redundant void argument list in function def
2019-01-09 19:43:54 +01:00
Filip Gawin
4169c6f37d
Use c++ headers
2019-01-09 19:42:40 +01:00
Filip Gawin
0d3a0635d9
Avoid using old style casts
...
To think about:
examples/alffplay.cpp:600
OpenAL32/Include/alMain.h:295
2019-01-08 19:42:44 +01:00
Filip Gawin
0537414baf
Use nullptr in cpp files
2019-01-07 12:37:13 +01:00
Chris Robinson
4dca2f2ee5
Use a unique_ptr for the AsyncEvents ringbuffer
2018-12-27 10:44:02 -08:00
Chris Robinson
8a0295503d
Clean up the ring buffer struct and use member functions
2018-12-26 21:22:17 -08:00
Chris Robinson
4f253a935a
Handle HRTF coefficients and values by reference where possible
2018-12-26 15:35:05 -08:00
Chris Robinson
b2665a503f
Do some pre-mixing fading checks once before preparing to mix
2018-12-25 19:54:14 -08:00
Chris Robinson
63df7cd537
Construct AsyncEvent objects directly in the ringbuffer
2018-12-25 09:32:38 -08:00
Chris Robinson
fbae41020d
Remove extraneous typedef, struct, and enum keywords
2018-12-24 19:29:01 -08:00
Chris Robinson
87724db6e3
Rename a couple HRTF structs
2018-12-22 09:20:50 -08:00
Chris Robinson
7744e4ff72
Pass RealMixParams by reference instead of pointer
2018-12-20 13:26:39 -08:00
Chris Robinson
10f87c5d26
Use std::accumulate to get the max composited buffer length loaded
2018-12-20 07:10:09 -08:00
Chris Robinson
0f24139b57
Use a constructor instead of a macro to initialize AsyncEvent
2018-12-06 22:24:20 -08:00
Chris Robinson
10b39d57d5
Use class methods for the NFC filters
2018-12-05 15:20:52 -08:00
Chris Robinson
164a86a381
Use class methods for the biquad filter
2018-12-04 22:31:08 -08:00
Chris Robinson
6409910543
Handle EventType_BufferCompleted uniquely
2018-12-04 16:33:26 -08:00
Chris Robinson
45b65366bb
Improve some checks for compiler analysis
2018-12-02 15:29:26 -08:00
Chris Robinson
4e17ad3ec0
Avoid a few more explicit loops
2018-12-02 13:35:07 -08:00
Chris Robinson
607fb3e632
Use a lambda to apply the NFC mixes
2018-12-01 23:25:34 -08:00
Chris Robinson
e1af866a3d
Rework source sample counting for mixing a bit
2018-12-01 13:47:56 -08:00
Chris Robinson
1e6e84374b
Use std::array for the voice's PrevSamples
2018-11-30 21:23:43 -08:00
Chris Robinson
f26083e9ed
Make and use a semaphore class
2018-11-27 13:41:30 -08:00
Chris Robinson
df3dcc879f
Get rid of the last ATOMIC macro uses
2018-11-26 18:19:58 -08:00
Chris Robinson
05845b53e8
Clean up MixSource
2018-11-25 13:20:26 -08:00
Chris Robinson
377325e794
Use C++ methods a bit more
2018-11-24 19:16:21 -08:00
Chris Robinson
16a60dc371
Avoid an extraneous boolean
2018-11-24 15:30:28 -08:00
Chris Robinson
b508a760c8
Use a normal vector to store buffer data
2018-11-24 10:07:48 -08:00
Chris Robinson
c7472f8642
Use C++ templates instead of macro definitions more
2018-11-20 02:59:02 -08:00
Chris Robinson
a14f39ea06
Make ll_ringbuffer_write/read take void*/const void*
2018-11-19 04:11:21 -08:00
Chris Robinson
fa3c34268d
Move the ALCcontext definition to its own header
2018-11-17 23:02:27 -08:00
Chris Robinson
a68d0b68d7
Convert mixvoice.c to C++
2018-11-16 20:46:50 -08:00