Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Create the initial PulseAudio stream corked | Chris Robinson | 2019-10-09 | 1 | -1/+2 |
| | |||||
* | Don't track the PulseAudio context state in devices | Chris Robinson | 2019-10-09 | 1 | -30/+0 |
| | |||||
* | Make C callbacks noexcept | Chris Robinson | 2019-10-09 | 8 | -88/+85 |
| | | | | | No telling what would happen if exceptions managed to get back into presumably C-based callers. | ||||
* | Use smart pointers for ALSA param handles | Chris Robinson | 2019-10-09 | 1 | -132/+128 |
| | | | | And simplify some related error handling | ||||
* | Catch exceptions from backend start calls | Chris Robinson | 2019-10-09 | 1 | -11/+24 |
| | |||||
* | Never return null from CreateRingBuffer | Chris Robinson | 2019-10-08 | 11 | -44/+8 |
| | | | | | Allocation failure would already throw a bad_alloc anyway, now a size overflow throws an exception too. | ||||
* | Clean up some exception messages and avoid duplicate log messages | Chris Robinson | 2019-10-08 | 14 | -184/+46 |
| | |||||
* | Define some simple wrapper methods inline | Chris Robinson | 2019-10-08 | 1 | -63/+30 |
| | |||||
* | Improve logging for Windows | Chris Robinson | 2019-10-08 | 2 | -6/+6 |
| | |||||
* | Avoid raw lock/unlock calls | Chris Robinson | 2019-10-07 | 14 | -58/+44 |
| | |||||
* | Fix BackendVase typo | Chris Robinson | 2019-10-07 | 1 | -1/+1 |
| | |||||
* | Reduce some indentation | Chris Robinson | 2019-10-07 | 1 | -32/+36 |
| | |||||
* | Use exceptions for backend open failures | Chris Robinson | 2019-10-07 | 20 | -564/+524 |
| | |||||
* | Put the pragma defines in a separate header | Chris Robinson | 2019-10-07 | 1 | -1/+2 |
| | |||||
* | Use std::array instead of plain arrays in a couple places | Chris Robinson | 2019-10-05 | 3 | -28/+23 |
| | |||||
* | Use a span instead of a reference-to-array | Chris Robinson | 2019-10-05 | 2 | -20/+24 |
| | |||||
* | Avoid duplicate structs | Chris Robinson | 2019-10-05 | 3 | -11/+6 |
| | |||||
* | Avoid direct function template and alias types | Chris Robinson | 2019-10-03 | 3 | -38/+24 |
| | | | | | | | It's somewhat ambiguous what they mean. Sometimes acting as a pointer, other times having weird behavior. Pointer-to-function types are explicitly defined as such, whereas uses of these tend to be as references (never null and not changeable). | ||||
* | Remove the Offset parameter from ApplyCoeffs | Chris Robinson | 2019-10-02 | 4 | -88/+97 |
| | |||||
* | Remove an unnecessary struct specifier | Chris Robinson | 2019-10-02 | 1 | -1/+1 |
| | |||||
* | Fix a comment | Chris Robinson | 2019-10-02 | 1 | -1/+1 |
| | |||||
* | Clean up some unnecessary includes | Chris Robinson | 2019-10-02 | 3 | -17/+7 |
| | |||||
* | Clean up some ALfloat -> float | Chris Robinson | 2019-10-02 | 6 | -71/+65 |
| | |||||
* | Move ALvoice from alu.h to a separate header | Chris Robinson | 2019-10-02 | 8 | -326/+351 |
| | |||||
* | Move a couple types to the source they're used in | Chris Robinson | 2019-10-02 | 2 | -6/+7 |
| | |||||
* | Rename mixvoice.cpp to voice.cpp | Chris Robinson | 2019-10-02 | 1 | -0/+0 |
| | |||||
* | Make sure the temporary HRIRs are properly aligned | Chris Robinson | 2019-10-01 | 1 | -1/+1 |
| | |||||
* | Remove an unnecessary function | Chris Robinson | 2019-10-01 | 1 | -9/+5 |
| | |||||
* | Clear the HRTF state values on allocation | Chris Robinson | 2019-09-30 | 1 | -1/+1 |
| | |||||
* | Avoid infs/nans in the crest detector | Chris Robinson | 2019-09-30 | 1 | -2/+3 |
| | | | | | | It needs to be investigated why the rendered mix sometimes has such large sample values when starting, but the compressor/limiter shouldn't generate NaNs because of it. | ||||
* | Separate a couple assignments from conditionals | Chris Robinson | 2019-09-30 | 1 | -1/+2 |
| | |||||
* | Repack the bsinc resamplers coefficients | Chris Robinson | 2019-09-29 | 3 | -12/+12 |
| | | | | | | This puts the base coefficients and the phase deltas next to each other. This improves caching, as the base and phase deltas are always used together while the scales are only used for the non-fast versions. | ||||
* | Modify the bsinc resampler | Chris Robinson | 2019-09-29 | 1 | -1/+1 |
| | | | | | Readjusted the bsinc12 cutoff back to -60dB. Also increased the filter's phase count. | ||||
* | Silence an MSVC warning | Chris Robinson | 2019-09-28 | 1 | -1/+5 |
| | |||||
* | Check MAX_RESAMPLER_PADDING properly to ensure it's large enough | Chris Robinson | 2019-09-28 | 2 | -4/+4 |
| | |||||
* | Make the BSincTables constexpr in an anonymous namespace | Chris Robinson | 2019-09-28 | 1 | -1/+0 |
| | |||||
* | Make MAX_RESAMPLER_PADDING specify the total padding | Chris Robinson | 2019-09-28 | 7 | -27/+30 |
| | |||||
* | Use FastBSinc24 for WASAPI and CoreAudio capture | Chris Robinson | 2019-09-28 | 2 | -2/+2 |
| | | | | Given a fixed rate, there's no downside to the fast version. | ||||
* | Combine two function calls into one | Chris Robinson | 2019-09-28 | 4 | -111/+108 |
| | |||||
* | Add "fast" variants for the bsinc resamplers | Chris Robinson | 2019-09-28 | 4 | -7/+14 |
| | | | | | | This simply omits the scale factor from the filter, similar to how up-sampling does. The consequence of this is less smooth transitions when ramping the pitch while down-sampling, but otherwise behaves fine. | ||||
* | Implement a "fast" bsinc path | Chris Robinson | 2019-09-26 | 8 | -6/+135 |
| | | | | | | | | | | This takes advantage of the fact than when increment <= 1 (when not down- sampling), the scale factor is always 0. As a result, the scale and scale-phase deltas never contribute to the filtered output. Removing those multiply+add operations cuts half of the work done by the inner loop. Sounds that do need to down-sample (when played with a high pitch, or is 48khz on 44.1khz output, for example), still go through the normal bsinc process. | ||||
* | Avoid extraneous parameters | Chris Robinson | 2019-09-25 | 3 | -19/+17 |
| | |||||
* | Use blended HRIRs for the B-Format decode | Chris Robinson | 2019-09-24 | 3 | -70/+107 |
| | |||||
* | Fix unsigned 8-bit buffers | Chris Robinson | 2019-09-24 | 1 | -1/+1 |
| | |||||
* | Use an array to match the HRTF rendering method | Chris Robinson | 2019-09-24 | 1 | -17/+20 |
| | |||||
* | Add a missing header for Android | Chris Robinson | 2019-09-23 | 1 | -0/+1 |
| | |||||
* | Fix a couple more conversion warnings | Chris Robinson | 2019-09-22 | 1 | -6/+6 |
| | |||||
* | Make the resampler type an enum class | Chris Robinson | 2019-09-22 | 6 | -27/+27 |
| | |||||
* | Move the ifstream wrapper to common | Chris Robinson | 2019-09-22 | 5 | -209/+9 |
| | |||||
* | Avoid storing an integer in a pointer | Chris Robinson | 2019-09-21 | 1 | -3/+6 |
| | | | | | | C++ does not guarantee that, given an int of sufficient size, converting int->ptr->int will result in the original value. A pointer may have more than one integer representation. Only ptr->int->ptr round trips are well-defined. |