Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Don't use the dual-band upsampler for basic ambisonic decoding | Chris Robinson | 2019-01-06 | 3 | -25/+49 |
| | |||||
* | Apply an all-pass on the existing output when upsampling ambisonics | Chris Robinson | 2019-01-06 | 3 | -11/+35 |
| | |||||
* | Revert back to using a band-splitter to increase the HF response | Chris Robinson | 2019-01-06 | 3 | -82/+59 |
| | | | | | | Unfortunately the shelf filter causes issues due to the shelf gain magnitude creating a varying phase offset. The splitter also creates phase offsets, but it's consistent regardless of gain. | ||||
* | Make the band-splitter and splitter-allpass filters templated | Chris Robinson | 2019-01-06 | 2 | -34/+47 |
| | | | | With float and double explicit instantiations | ||||
* | Replace macros with constexpr inline functions | Chris Robinson | 2019-01-06 | 17 | -48/+66 |
| | |||||
* | Remove an unnecessary undef | Chris Robinson | 2019-01-06 | 1 | -1/+0 |
| | |||||
* | Use double-precision biquads for the HRTF shelf filters | Chris Robinson | 2019-01-06 | 1 | -7/+7 |
| | |||||
* | Make BiquadFilter a templated class | Chris Robinson | 2019-01-06 | 2 | -36/+51 |
| | | | | With explicit instantiations for float and double | ||||
* | Use a shelf filter for the HRTF B-Format decoder HF scale | Chris Robinson | 2019-01-06 | 1 | -37/+50 |
| | |||||
* | Pass the normalized crossover frequency to the reset method | Chris Robinson | 2019-01-05 | 3 | -5/+4 |
| | |||||
* | Remove unnecessary structs and buffers | Chris Robinson | 2019-01-05 | 2 | -23/+18 |
| | |||||
* | Simplify MixParams and AmbiUpsampler | Chris Robinson | 2019-01-05 | 6 | -216/+78 |
| | | | | Since the dry buffer is always an ambisonic target now | ||||
* | Use BFormatDec for custom and built-in ambisonic decoding | Chris Robinson | 2019-01-05 | 3 | -104/+178 |
| | |||||
* | Enable simplified upsampling for AmbiUpsampler | Chris Robinson | 2019-01-05 | 2 | -32/+66 |
| | |||||
* | Simplify the BFormatDec upsampler | Chris Robinson | 2019-01-04 | 2 | -74/+35 |
| | | | | | | | Since the only difference applied is a scalar on the high-frequency response, a B-Format-to-B-Format transcode can be accomplished with a high-shelf filter. A similar thing can be done with AmbiUpsampler, but only when outputing to periphonic B-Format. | ||||
* | Make sure the OpenSL capture buffer queue has the correct size | Chris Robinson | 2019-01-03 | 1 | -68/+71 |
| | | | | | | | The ring buffer size may round up and have more queueable elements than OpenSL was allocated with, leading to errors when queueing those extra elements. Now OpenSL allocates the same number of elements that can be written to the ring buffer. | ||||
* | Fix the ringbuffer write limit | Chris Robinson | 2019-01-03 | 2 | -22/+15 |
| | | | | | | | Previously it just limited the returned write space, irrespective of how much had already been written. The buffer could still be filled up by doing multiple writes. Now the size is limited by adjusting the read pointer by the real vs limited difference when calculating the writable space. | ||||
* | Use DeviceRef and ContextRef when creating a new device and context | Chris Robinson | 2019-01-01 | 1 | -29/+22 |
| | |||||
* | Rename ALCdevice_struct and ALCcontext_struct | Chris Robinson | 2019-01-01 | 4 | -20/+18 |
| | | | | | | | | | | | A (possibly contentious?) change in the public headers. Those names were never part of any specification, and I don't know why the struct names differed from the actual type name. But with C++, which takes the original struct declaration as the original name, it was affecting the type's internal symbols. This shouldn't affect user code since ALCdevice_struct and ALCcontext_struct were never part of the spec. If issues arise from this change, it should be reported. | ||||
* | Use standard unique_lock and lock_guard for the backend lock | Chris Robinson | 2019-01-01 | 3 | -55/+34 |
| | |||||
* | Add and use a make_unique function | Chris Robinson | 2019-01-01 | 6 | -15/+21 |
| | |||||
* | Avoid unnecessary extra buffers for filter chains | Chris Robinson | 2019-01-01 | 3 | -44/+46 |
| | |||||
* | Don't make BiquadFilter's src and dst restrict | Chris Robinson | 2019-01-01 | 2 | -11/+10 |
| | | | | | There's no technical reason they can't be the same since IIR filters can't be auto-vectorized anyway. | ||||
* | Handle all input channels in MixDirectHrtf | Chris Robinson | 2018-12-31 | 4 | -36/+39 |
| | |||||
* | Add a missing include | Chris Robinson | 2018-12-31 | 1 | -0/+1 |
| | |||||
* | Remove some C-isms from makehrtf | Chris Robinson | 2018-12-31 | 1 | -467/+260 |
| | | | | | Remove unnecessary typedefs, use C++11 stamndard types and values, avoid explicit allocations. | ||||
* | Compile makehrtf as C++ | Chris Robinson | 2018-12-31 | 3 | -9/+9 |
| | |||||
* | Pass a reference to an array instead of a pointer | Chris Robinson | 2018-12-31 | 1 | -1/+1 |
| | |||||
* | Further improve HRTF methods to avoid masking in the inner loops | Chris Robinson | 2018-12-31 | 4 | -100/+163 |
| | |||||
* | Use an atomic bool on things that only take true or false | Chris Robinson | 2018-12-30 | 11 | -36/+36 |
| | |||||
* | Rename BackendLock to StateLock | Chris Robinson | 2018-12-30 | 13 | -79/+38 |
| | |||||
* | Don't make the backend's lock/unlock methods noexcept | Chris Robinson | 2018-12-29 | 4 | -20/+14 |
| | |||||
* | Get rid of ALCdevice_Lock/Unlock | Chris Robinson | 2018-12-29 | 3 | -29/+21 |
| | |||||
* | Clean up a member name | Chris Robinson | 2018-12-29 | 2 | -10/+10 |
| | |||||
* | Use member functions for the sample and channel converters | Chris Robinson | 2018-12-29 | 4 | -66/+55 |
| | |||||
* | Add missing includes for mem_fn | Chris Robinson | 2018-12-29 | 11 | -0/+11 |
| | |||||
* | Don't bother with an explicit Loopback backend type | Chris Robinson | 2018-12-29 | 3 | -11/+6 |
| | |||||
* | Return a unique_ptr for the backend | Chris Robinson | 2018-12-29 | 38 | -68/+68 |
| | |||||
* | Make the backend type an enum class | Chris Robinson | 2018-12-29 | 36 | -140/+135 |
| | |||||
* | Get CoreAudio capture samples in one call | Chris Robinson | 2018-12-28 | 1 | -22/+21 |
| | |||||
* | Convert the backends to use proper inheritence | Chris Robinson | 2018-12-28 | 40 | -2856/+1903 |
| | |||||
* | Use static_cast instead of reinterpret_cast where possible | Chris Robinson | 2018-12-28 | 4 | -21/+21 |
| | |||||
* | Finish turning ancillary backend methods into member functions | Chris Robinson | 2018-12-28 | 2 | -305/+301 |
| | |||||
* | Turn even more methods into member functions | Chris Robinson | 2018-12-28 | 5 | -271/+278 |
| | |||||
* | Turn some more methods into member functions | Chris Robinson | 2018-12-28 | 1 | -93/+118 |
| | |||||
* | Add a method to prefix logged function names | Chris Robinson | 2018-12-28 | 2 | -15/+9 |
| | |||||
* | Make more methods into member functions | Chris Robinson | 2018-12-27 | 3 | -351/+316 |
| | |||||
* | Turn more methods into member functions | Chris Robinson | 2018-12-27 | 3 | -167/+169 |
| | |||||
* | Turn more methods into member functions | Chris Robinson | 2018-12-27 | 3 | -85/+94 |
| | |||||
* | Make some ancillary methods into member functions | Chris Robinson | 2018-12-27 | 2 | -117/+131 |
| |