Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use an anonymous namespace instead of static for some things | Chris Robinson | 2018-11-01 | 1 | -3/+7 |
| | |||||
* | Preliminary conversion of the WASAPI backend to C++ | Chris Robinson | 2018-11-01 | 1 | -232/+222 |
| | | | | A very sparse conversion. Will clean up more later after seeing what MSVC does. | ||||
* | Fix a macro check | Chris Robinson | 2018-11-01 | 1 | -2/+2 |
| | |||||
* | Use a wrapper function to simplify a check | Chris Robinson | 2018-11-01 | 1 | -8/+10 |
| | |||||
* | Use perfect forwarding to initialize DevMap entries | Chris Robinson | 2018-11-01 | 1 | -3/+4 |
| | |||||
* | Simplify a couple loops | Chris Robinson | 2018-11-01 | 1 | -40/+36 |
| | |||||
* | Use the appropriate enums for standard atomics | Chris Robinson | 2018-11-01 | 1 | -3/+3 |
| | |||||
* | Avoid uniform initialization with references | Chris Robinson | 2018-11-01 | 1 | -2/+2 |
| | | | | Also doesn't work with GCC 4.x | ||||
* | Remove unused header | Chris Robinson | 2018-11-01 | 1 | -1/+0 |
| | |||||
* | Include a missing header for atomic | Chris Robinson | 2018-11-01 | 1 | -0/+1 |
| | |||||
* | Fix another use of auto uniform initialization | Chris Robinson | 2018-11-01 | 1 | -1/+1 |
| | |||||
* | Avoid all uniform initialization with auto | Chris Robinson | 2018-11-01 | 1 | -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 types | Chris Robinson | 2018-10-31 | 1 | -17/+17 |
| | | | | To work around a deficiency with early C++11 compilers (GCC 4.x). | ||||
* | Convert the PulseAudio backend to C++ | Chris Robinson | 2018-10-31 | 1 | -597/+581 |
| | |||||
* | Move some extern inline declarations to C | Chris Robinson | 2018-10-31 | 1 | -0/+8 |
| | |||||
* | Fix some uses of RESTRICT | Chris Robinson | 2018-10-29 | 2 | -2/+2 |
| | |||||
* | Replace restrict with RESTRICT | Chris Robinson | 2018-10-29 | 36 | -189/+189 |
| | |||||
* | Remove unnecessary uses of IN_IDE_PARSER | Chris Robinson | 2018-10-29 | 1 | -1/+1 |
| | |||||
* | Add a couple casts for compiling with C++ | Chris Robinson | 2018-10-29 | 1 | -3/+3 |
| | | | | Also avoid using __builtin_types_compatible_p, which seems broken with C++? | ||||
* | Add another missing extern "C" | Chris Robinson | 2018-10-29 | 1 | -0/+8 |
| | |||||
* | Add a more C++-friendly VECTOR_RESIZE | Chris Robinson | 2018-10-29 | 1 | -0/+32 |
| | |||||
* | Add a RESTRICT macro to help with C++ compatibility | Chris Robinson | 2018-10-29 | 3 | -7/+7 |
| | |||||
* | Fix a couple internal headers to compile with C++ | Chris Robinson | 2018-10-29 | 1 | -2/+2 |
| | |||||
* | Simplify some statements | Filip Gawin | 2018-10-29 | 3 | -4/+4 |
| | |||||
* | Add a comment about waiting to kill the event thread | Chris Robinson | 2018-10-07 | 1 | -0/+5 |
| | |||||
* | Use a 24-bit dither depth limit | Chris Robinson | 2018-10-03 | 1 | -1/+1 |
| | |||||
* | Don't limit output for ALC_DONT_CARE_SOFT and float samples | Chris Robinson | 2018-10-03 | 1 | -7/+25 |
| | |||||
* | Don't try to get the JNIEnv on Android | Chris Robinson | 2018-10-02 | 3 | -82/+7 |
| | | | | | It's currently not used. More stuff is needed anyway which may need a different approach. | ||||
* | Add back an inadvertently removed static | Chris Robinson | 2018-10-02 | 1 | -1/+1 |
| | |||||
* | Use < instead of != for some loop checks | Chris Robinson | 2018-10-01 | 1 | -2/+2 |
| | |||||
* | Don't scale the reverb fade counter so much | Chris Robinson | 2018-09-30 | 1 | -5/+6 |
| | |||||
* | Ensure BUFFERSIZE is a power of 2 | Chris Robinson | 2018-09-30 | 1 | -2/+4 |
| | |||||
* | Make the Compressor struct opaque | Chris Robinson | 2018-09-30 | 3 | -73/+71 |
| | |||||
* | Fix some length ranges | Chris Robinson | 2018-09-29 | 1 | -2/+8 |
| | |||||
* | Improve a couple loops | Chris Robinson | 2018-09-29 | 1 | -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 chain | Chris Robinson | 2018-09-29 | 2 | -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 limiter | Chris Robinson | 2018-09-29 | 1 | -0/+17 |
| | |||||
* | Simplify a lower-bound clamp | Chris Robinson | 2018-09-28 | 1 | -2/+1 |
| | |||||
* | Constify a couple more variables | Chris Robinson | 2018-09-28 | 1 | -2/+2 |
| | |||||
* | Include the limiter's lookAhead delay in the device latency | Chris Robinson | 2018-09-25 | 4 | -6/+22 |
| | |||||
* | Don't hardcode the limiter threshold | Chris Robinson | 2018-09-25 | 1 | -8/+23 |
| | | | | It's now calculated from the output sample type and dither depth. | ||||
* | Update the output limiter/compressor | Chris Robinson | 2018-09-25 | 4 | -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 fading | Chris Robinson | 2018-09-23 | 1 | -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 update | Chris Robinson | 2018-09-23 | 1 | -0/+49 |
| | |||||
* | Rename ALreverbState to ReverbState | Chris Robinson | 2018-09-23 | 1 | -23/+23 |
| | |||||
* | Improve the gain stepping difference check | Chris Robinson | 2018-09-22 | 3 | -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 spacing | Chris Robinson | 2018-09-21 | 1 | -1/+1 |
| | |||||
* | Use an internal event to more timely release old effect states | Chris Robinson | 2018-09-21 | 1 | -5/+33 |
| | |||||
* | Remove an unnecessary mutex | Chris Robinson | 2018-09-20 | 1 | -2/+0 |
| | |||||
* | Stop the event thread when releasing the context | Chris Robinson | 2018-09-20 | 1 | -6/+6 |
| | | | | To ensure no user callback gets called after alcDestroyContext. |