Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Avoiding cutting all bsinc resampler output at scale 0 | Chris Robinson | 2021-02-24 | 2 | -9/+8 |
| | | | | | | | | | | | | This is mostly for the SampleConverter, used by some capture backends. When recording at really low rates, like 5512hz, with a device capturing at a higher rate like 44100hz or 48000hz, it hits the filter's downscaling limit and produces pure silence. In such cases, it's better to just accept some aliasing noise so that the app will still get some recognizable audio. The alternative would be to scale the desired rate by 2x, 3x, etc until it's above the bsinc limit, then take every 2nd, 3rd, etc sample of the result as if by an extra simpler resampler pass. | ||||
* | Use a more appropriate epsilon for Sinc() | Chris Robinson | 2021-02-24 | 1 | -1/+2 |
| | |||||
* | Avoid an unnecessary loop iteration | Chris Robinson | 2021-02-23 | 1 | -2/+3 |
| | |||||
* | Adjust the bsinc filter table packing | Chris Robinson | 2021-02-23 | 4 | -41/+29 |
| | | | | | | | | Now each scale's filter and phase delta are interleaved for each phase index, followed by the scale and scale+phase delta for each phase index. This ensures no holes in the filter coefficients for the fast bsinc resampler for a given run, while keeping the scale deltas in the same vicinity for the non-fast bsinc resampler. | ||||
* | Remove unnecessary use of SSE2 intrinsics | Chris Robinson | 2021-02-21 | 1 | -2/+1 |
| | | | | | The compiler is producing the same results either way, since the upper bit results are never used. | ||||
* | Store the all-pass FIR results more efficiently | Chris Robinson | 2021-02-18 | 1 | -14/+23 |
| | |||||
* | Use shifts instead of shuffles with SSE where possible | Chris Robinson | 2021-02-18 | 1 | -4/+4 |
| | |||||
* | Add some optimization hints | Chris Robinson | 2021-02-16 | 3 | -18/+24 |
| | |||||
* | Clean up some formatting | Chris Robinson | 2021-02-16 | 1 | -81/+71 |
| | |||||
* | Add missing include | Chris Robinson | 2021-02-16 | 1 | -0/+1 |
| | |||||
* | Add enumeration to the JACK backend | Chris Robinson | 2021-02-13 | 1 | -35/+84 |
| | | | | | | | | Port names seem to be structured as <device_name:channel_name> or <app_name:channel_name>. I'm not sure if this is always the case, but it seems some other apps expect something like this. Also fix the port selection to exclude MIDI ports and allow non-physical ports. | ||||
* | Add the all-pass filter results to the output with NEON | Chris Robinson | 2021-02-08 | 1 | -3/+3 |
| | |||||
* | Use spans instead of references to arrays | Chris Robinson | 2021-02-06 | 12 | -31/+38 |
| | |||||
* | Add a alSourceQueueBufferLayersSOFT stub | Chris Robinson | 2021-02-04 | 1 | -0/+11 |
| | | | | For compatiblity with apps that may have directly linked to it on accident. | ||||
* | Release 1.21.1 | Chris Robinson | 2021-02-04 | 2 | -2/+2 |
| | |||||
* | Update changelog | Chris Robinson | 2021-02-02 | 1 | -0/+2 |
| | |||||
* | Stop the Oboe recording stream when recording is stopped | Chris Robinson | 2021-02-02 | 1 | -2/+2 |
| | | | | Hopefully Oboe will retain any unread samples and let them be read. | ||||
* | Implement Oboe capture | Chris Robinson | 2021-01-31 | 1 | -4/+135 |
| | |||||
* | Set the oboe stream buffer size | Chris Robinson | 2021-01-31 | 1 | -0/+2 |
| | |||||
* | Add a comment about using lld on Android | Chris Robinson | 2021-01-31 | 1 | -0/+5 |
| | |||||
* | Avoid copying buffers for aligning overlapped windows | Chris Robinson | 2021-01-30 | 2 | -33/+42 |
| | |||||
* | Update changelog | Chris Robinson | 2021-01-29 | 1 | -0/+2 |
| | |||||
* | Calculate the square root after checking the limit | Chris Robinson | 2021-01-29 | 1 | -4/+5 |
| | |||||
* | Allow the sample type to get changed on Solaris | Chris Robinson | 2021-01-29 | 1 | -6/+10 |
| | |||||
* | Merge pull request #524 from Cacodemon345/patch-1 | kcat | 2021-01-29 | 1 | -0/+1 |
|\ | | | | | Fix compilation on Solaris backend | ||||
| * | Fix compilation on Solaris backend | Cacodemon345 | 2021-01-29 | 1 | -0/+1 |
|/ | |||||
* | Add a panning "deadzone" for spatialized sources | Chris Robinson | 2021-01-28 | 2 | -3/+4 |
| | | | | It is now the greater of 'epsilon' (1 / 2**23) or ref_distance/1024. | ||||
* | Export EFX functions from the router | Chris Robinson | 2021-01-27 | 5 | -1/+152 |
| | |||||
* | Ignore SI-style configuration strings for device names | Chris Robinson | 2021-01-27 | 1 | -0/+5 |
| | |||||
* | Rework fading of stopped sounds | Chris Robinson | 2021-01-27 | 1 | -22/+13 |
| | | | | | | | Voices that stop and have no more accessible samples now fade out over 64 samples max. The extra loaded samples are also prevented from moving away from 0 amplitude. Paused voices that still have samples will still fade out over the whole mix. | ||||
* | Make sure InitVoice is given a valid buffer queue item | Chris Robinson | 2021-01-26 | 1 | -2/+2 |
| | |||||
* | Move al::deque to a common header | Chris Robinson | 2021-01-25 | 3 | -7/+18 |
| | |||||
* | Use an AL-specific buffer queue item struct for sources | Chris Robinson | 2021-01-25 | 5 | -79/+68 |
| | |||||
* | Use a deque for the source buffer queue | Chris Robinson | 2021-01-25 | 2 | -149/+121 |
| | | | | | | This mainly avoids having to allocate ~64-byte structures individually. The mixing voice still holds the queue as a linked list so as to be container- agnostic. | ||||
* | Store the callback in the buffer list item | Chris Robinson | 2021-01-24 | 4 | -61/+64 |
| | |||||
* | Store buffer info in the queue entry | Chris Robinson | 2021-01-24 | 21 | -78/+103 |
| | |||||
* | Remove some unnecessary function attributes | Chris Robinson | 2021-01-23 | 1 | -4/+4 |
| | | | | | | | | The alloc_size was wrong anyway since the function parameter takes the number of objects to be allocated and the attribute declares which is the number of bytes. The assume_aligned is unnecessary since the function is inlined and al_malloc/al_calloc already have appropriate attributes for the compiler to see. | ||||
* | Set the correct default buffer bits/format | Chris Robinson | 2021-01-22 | 2 | -3/+3 |
| | |||||
* | Don't bother checking for std::aligned_alloc | Chris Robinson | 2021-01-22 | 3 | -25/+2 |
| | |||||
* | Fix setting the correct standards flag | Chris Robinson | 2021-01-22 | 1 | -2/+10 |
| | |||||
* | Ensure the correct standard is set for cmake checks | Chris Robinson | 2021-01-22 | 1 | -0/+2 |
| | |||||
* | Remove an unnecessary semicolon | Chris Robinson | 2021-01-22 | 1 | -1/+1 |
| | |||||
* | Fix __cplusplus value check | Chris Robinson | 2021-01-22 | 1 | -1/+1 |
| | |||||
* | Use if constexpr when possible | Chris Robinson | 2021-01-22 | 5 | -6/+15 |
| | |||||
* | Make PopCount and CountTrailingZeros more standard-like | Chris Robinson | 2021-01-22 | 12 | -113/+145 |
| | |||||
* | Use a standard bitset for bitfield flags | Chris Robinson | 2021-01-22 | 9 | -100/+56 |
| | |||||
* | Make the endian test more C++-like | Chris Robinson | 2021-01-21 | 6 | -31/+55 |
| | |||||
* | Update apt before installing dependencies | Chris Robinson | 2021-01-21 | 1 | -1/+1 |
| | |||||
* | Fix handling paused devices with the wave writer backend | Chris Robinson | 2021-01-21 | 1 | -10/+14 |
| | |||||
* | Simplify a division | Chris Robinson | 2021-01-21 | 1 | -1/+1 |
| | | | | | The division opcode typically also generates the remainder, making the result of x%y free with x/y. |