aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
Commit message (Collapse)AuthorAgeFilesLines
* Use an anonymous namespace instead of static for some thingsChris Robinson2018-11-011-3/+7
|
* Preliminary conversion of the WASAPI backend to C++Chris Robinson2018-11-011-232/+222
| | | | A very sparse conversion. Will clean up more later after seeing what MSVC does.
* Fix a macro checkChris Robinson2018-11-011-2/+2
|
* Use a wrapper function to simplify a checkChris Robinson2018-11-011-8/+10
|
* Use perfect forwarding to initialize DevMap entriesChris Robinson2018-11-011-3/+4
|
* Simplify a couple loopsChris Robinson2018-11-011-40/+36
|
* Use the appropriate enums for standard atomicsChris Robinson2018-11-011-3/+3
|
* Avoid uniform initialization with referencesChris Robinson2018-11-011-2/+2
| | | | Also doesn't work with GCC 4.x
* Remove unused headerChris Robinson2018-11-011-1/+0
|
* Include a missing header for atomicChris Robinson2018-11-011-0/+1
|
* Fix another use of auto uniform initializationChris Robinson2018-11-011-1/+1
|
* Avoid all uniform initialization with autoChris Robinson2018-11-011-66/+64
| | | | | | Because of early C++11 (GCC 4.x) deficiencies, it's not interpreted correctly. Either declare the type name explicitly with uniform initization, or use auto with = initialization. It'll be fine when updating to GCC 5 or Clang 3.6.
* Avoid uniform initialization on auto for integer typesChris Robinson2018-10-311-17/+17
| | | | To work around a deficiency with early C++11 compilers (GCC 4.x).
* Convert the PulseAudio backend to C++Chris Robinson2018-10-311-597/+581
|
* Move some extern inline declarations to CChris Robinson2018-10-311-0/+8
|
* Fix some uses of RESTRICTChris Robinson2018-10-292-2/+2
|
* Replace restrict with RESTRICTChris Robinson2018-10-2936-189/+189
|
* Remove unnecessary uses of IN_IDE_PARSERChris Robinson2018-10-291-1/+1
|
* Add a couple casts for compiling with C++Chris Robinson2018-10-291-3/+3
| | | | Also avoid using __builtin_types_compatible_p, which seems broken with C++?
* Add another missing extern "C"Chris Robinson2018-10-291-0/+8
|
* Add a more C++-friendly VECTOR_RESIZEChris Robinson2018-10-291-0/+32
|
* Add a RESTRICT macro to help with C++ compatibilityChris Robinson2018-10-293-7/+7
|
* Fix a couple internal headers to compile with C++Chris Robinson2018-10-291-2/+2
|
* Simplify some statementsFilip Gawin2018-10-293-4/+4
|
* Add a comment about waiting to kill the event threadChris Robinson2018-10-071-0/+5
|
* Use a 24-bit dither depth limitChris Robinson2018-10-031-1/+1
|
* Don't limit output for ALC_DONT_CARE_SOFT and float samplesChris Robinson2018-10-031-7/+25
|
* Don't try to get the JNIEnv on AndroidChris Robinson2018-10-023-82/+7
| | | | | It's currently not used. More stuff is needed anyway which may need a different approach.
* Add back an inadvertently removed staticChris Robinson2018-10-021-1/+1
|
* Use < instead of != for some loop checksChris Robinson2018-10-011-2/+2
|
* Don't scale the reverb fade counter so muchChris Robinson2018-09-301-5/+6
|
* Ensure BUFFERSIZE is a power of 2Chris Robinson2018-09-301-2/+4
|
* Make the Compressor struct opaqueChris Robinson2018-09-303-73/+71
|
* Fix some length rangesChris Robinson2018-09-291-2/+8
|
* Improve a couple loopsChris Robinson2018-09-291-7/+15
| | | | | | Avoid masking the index with each iteration, and instead do up to when the mask would apply. This allows for better optimizations, in particular fewer instructions and better chances for vectorization.
* Don't use a ringbuffer design for the limiter's side chainChris Robinson2018-09-292-39/+37
| | | | | | Rather than continuously wrapping when used, each update uses it from the front and copies the tail to the front at the end. This allows for more effficient accesses in loops.
* Add some assumes for the limiterChris Robinson2018-09-291-0/+17
|
* Simplify a lower-bound clampChris Robinson2018-09-281-2/+1
|
* Constify a couple more variablesChris Robinson2018-09-281-2/+2
|
* Include the limiter's lookAhead delay in the device latencyChris Robinson2018-09-254-6/+22
|
* Don't hardcode the limiter thresholdChris Robinson2018-09-251-8/+23
| | | | It's now calculated from the output sample type and dither depth.
* Update the output limiter/compressorChris Robinson2018-09-254-168/+431
| | | | | | | | | | This provides better characteristics for an amplitude limiter. In particular, it utilizes the peak amplitude instead of the RMS, and the used parameters basically guarantee no output samples exceed the given threshold... almost, due to floating-point errors as the threshold is converted from dB to log-e for the envelope, then is negated and converted to linear amplitude to apply to the signal. It's quite possible for some rounding errors to creep in and not perfectly saturate the result.
* Only compare the reverb params that induce a need for fadingChris Robinson2018-09-231-23/+41
| | | | | | | The offsets and coefficients are controlled by a relatively small set of input parameters, just with different base constants or different calculations. This lead to numerous redundant checks since if one value didn't change, others that use the same inputs wouldn't have either.
* Clear reverb gain coefficients when doing a device updateChris Robinson2018-09-231-0/+49
|
* Rename ALreverbState to ReverbStateChris Robinson2018-09-231-23/+23
|
* Improve the gain stepping difference checkChris Robinson2018-09-223-12/+15
| | | | | Given the more stable stepping now in use, check that the total difference is enough for perceptible transition, instead of the step itself.
* Adjust comment spacingChris Robinson2018-09-211-1/+1
|
* Use an internal event to more timely release old effect statesChris Robinson2018-09-211-5/+33
|
* Remove an unnecessary mutexChris Robinson2018-09-201-2/+0
|
* Stop the event thread when releasing the contextChris Robinson2018-09-201-6/+6
| | | | To ensure no user callback gets called after alcDestroyContext.