Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Handle a missing default WASAPI device ID | Chris Robinson | 2019-02-20 | 1 | -1/+1 |
| | | | | Backported fix from d1a86075 on master. | ||||
* | Workaround lack of roundf with early MSVC | Chris Robinson | 2018-11-02 | 1 | -0/+12 |
| | |||||
* | Use HUGE_VALF instead of INFINITY | Chris Robinson | 2018-11-02 | 1 | -1/+2 |
| | | | | Older MSVC lacks INFINITY, and we define a HUGE_VALF fallback when needed. | ||||
* | Specify the correct array size for casting | Chris Robinson | 2018-11-02 | 1 | -2/+2 |
| | |||||
* | 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. | ||||
* | Put user events in a union structure | Chris Robinson | 2018-09-20 | 3 | -23/+20 |
| | |||||
* | Always start the event thread with the context | Chris Robinson | 2018-09-20 | 1 | -9/+11 |
| | |||||
* | Remove another duplicate function | Chris Robinson | 2018-09-19 | 14 | -40/+35 |
| | |||||
* | Combine nearly-duplicate structures | Chris Robinson | 2018-09-19 | 2 | -8/+8 |
| | |||||
* | Remove a couple duplicate functions | Chris Robinson | 2018-09-19 | 2 | -28/+3 |
| | |||||
* | Add macros for commonly used square roots | Chris Robinson | 2018-09-19 | 3 | -19/+16 |
| | |||||
* | Use ALsizei for the source resample position | Chris Robinson | 2018-09-18 | 5 | -8/+5 |
| | |||||
* | Properly queue buffers for OpenSL capture | Chris Robinson | 2018-09-17 | 1 | -32/+9 |
| | |||||
* | Fix some potential race conditions with OpenSL | Chris Robinson | 2018-09-17 | 1 | -42/+62 |
| | | | | | | | | | For playback, increment the ring buffer's write pointer before queueing audio, to handle cases where the callback is invoked, advancing the read pointer, before the write pointer is advanced. For capture, limit the number of re-queued chunks to the number of fully read chunks. | ||||
* | Handle the bsinc C resampler like the others | Chris Robinson | 2018-09-17 | 4 | -48/+37 |
| | |||||
* | Fix buffer queue mixing logic | Chris Robinson | 2018-09-16 | 1 | -11/+13 |
| | | | | | | In particular, the source sample position was reduced by the size of the next buffer list item when one is completed, rather than the size of the one it just completed. | ||||
* | The last reverb loop update doesn't need an aligned count. | Chris Robinson | 2018-09-11 | 1 | -4/+7 |
| | |||||
* | Ensure the max reverb update size is a multiple of 4 | Chris Robinson | 2018-09-11 | 1 | -2/+4 |
| | | | | | | It's not an issue for the final mix, but if one loop has an unaligned count, the next loop will have unaligned input and output buffer targets which can crash the SSE mixers. | ||||
* | Separate the delay line feeding from reading | Chris Robinson | 2018-09-10 | 1 | -2/+4 |
| | | | | | Since it feeds a different line than it reads, the feeding could overwrite what's subsequently read. | ||||
* | Avoid a couple line count assumptions | Chris Robinson | 2018-09-10 | 1 | -2/+2 |
| | |||||
* | Combine identical loops into a separate function | Chris Robinson | 2018-09-10 | 1 | -46/+21 |
| | |||||
* | Handle the early reflection delay separate from late refeed | Chris Robinson | 2018-09-10 | 1 | -57/+40 |
| | |||||
* | Some suggested changes for iOS | Chris Robinson | 2018-09-07 | 1 | -3/+11 |
| | |||||
* | PATH_MAX not MAX_PATH | Chris Robinson | 2018-09-07 | 1 | -1/+1 |
| | |||||
* | Load .alsoftrc from the app bundle root on macOS | Chris Robinson | 2018-09-07 | 1 | -0/+23 |
| | | | | | Not sure what priority this should have. Currently it loads after system-level configs, and before user-level configs. |