aboutsummaryrefslogtreecommitdiffstats
path: root/alc
Commit message (Collapse)AuthorAgeFilesLines
* Use a span for a fixed-size array referenceChris Robinson2020-01-133-13/+7
|
* Add missing includeChris Robinson2020-01-121-0/+1
|
* Scale the resampled HRTF delays if they exceed the maxChris Robinson2020-01-121-18/+29
|
* Warn when resampled HRIR delays get clampedChris Robinson2020-01-121-2/+16
|
* Blend the whole IR for the interpolated HRIRChris Robinson2020-01-121-7/+4
| | | | | The SIMD mixers may use a few more elements beyond the irSize, so not limiting the blend to that size can slightly improve the quality for resampled HRIRs.
* Fix JACK process callback handlingChris Robinson2020-01-121-50/+48
| | | | | | The callback apparently can't be set after activation, but we can't allocate the ring buffer until after activation when the callback is already getting called. An ugly flag it is, then, I guess.
* Don't allocate the ring buffer for JACK before activationChris Robinson2020-01-111-32/+20
| | | | | | | | | | | | | | It seems the JACK server can send buffer size change events during device reset and wait on it, which causes a failure since the change event can't be processed during a reset. It's otherwise impossible to safely disable the change event callback during a reset since the lock is already held and the callback can be waiting to acquire it. The only guarantee we seem to have is the event callback won't be invoked after jack_activate succeeds. So instead, the buffer size can be queried after jack_activate and the ring buffer allocated then, instead of using an event callback. This does mean the buffer size can change with a start() call, but it's better than a failure to start.
* Make CreateRingBuffer a static RingBuffer methodChris Robinson2020-01-1013-23/+25
|
* Fix blending for the right IR delayChris Robinson2020-01-081-1/+1
|
* Make sure unassociated voices give back their update structsChris Robinson2020-01-081-25/+29
|
* Make sure an unmixable source is properly stoppedChris Robinson2020-01-081-1/+9
|
* Avoid auto-releasing containers for the global device listChris Robinson2020-01-071-24/+30
| | | | | | If any are left open at process shutdown, it may try to clean them up, and subsequently close the device. This is dangerous to do at process exit, so don't. The app should have closed the device(s) prior to exiting anyway
* Don't blend the B-Format decoder HRIRsChris Robinson2020-01-071-52/+25
| | | | | | | | Though fine in theory, an issue arises with extra phase interference since the frequency phases aren't aligned for each response. It would be better to do the blending before minimum phase reconstruction, where it can blend just the frequency magnitudes, essentially allowing makemhr to increase the resolution of the dataset.
* Use a loop instead of a series of lambda callsChris Robinson2020-01-051-21/+23
|
* Simplify post-mix HRTF gain storageChris Robinson2020-01-056-27/+15
|
* Finalize AL_SOFT_bformat_exChris Robinson2020-01-052-16/+8
|
* Use temporaries for repeated valuesChris Robinson2020-01-051-12/+13
|
* Avoid more duplicate arraysChris Robinson2020-01-041-14/+10
|
* Combine identical arraysChris Robinson2020-01-046-39/+27
|
* Use a span instead of an array+sizeChris Robinson2020-01-043-20/+12
|
* Avoid a duplicate arrayChris Robinson2020-01-042-10/+4
|
* Use an array type for the HRIR delay pairChris Robinson2019-12-302-10/+5
|
* Load the HRIRs directly into HrirArraysChris Robinson2019-12-301-34/+45
|
* Avoid declaring a variable earlyChris Robinson2019-12-301-3/+2
|
* Workaround for MSVC 2015Chris Robinson2019-12-291-2/+2
|
* Handle downmixing for mono outputChris Robinson2019-12-292-3/+11
|
* Ignore direct channels for mono and B-Format buffersChris Robinson2019-12-291-1/+2
|
* Make the new direct channel remix extension publicChris Robinson2019-12-282-6/+4
|
* Start a new extension for a new direct_channels stateChris Robinson2019-12-283-8/+22
| | | | | So existing behavior remains consistent for anything that needs it, and new behavior is opt-in.
* Use a span for the band-splitter inputChris Robinson2019-12-257-43/+41
|
* Pass a span for the biquad filter inputChris Robinson2019-12-257-68/+67
|
* Fix parameter orderChris Robinson2019-12-251-2/+2
|
* Make a couple more functions privateChris Robinson2019-12-251-21/+21
|
* Pass a span to the NFC filtersChris Robinson2019-12-243-22/+16
|
* Reorganize some function parametersChris Robinson2019-12-241-13/+13
|
* Fix a shadowed parameter warningChris Robinson2019-12-231-9/+10
|
* Avoid reading a struct field twiceChris Robinson2019-12-231-2/+2
|
* Make a duration type to handle WASAPI reference timesChris Robinson2019-12-221-34/+36
|
* Print the unhandled subformatChris Robinson2019-12-221-54/+54
|
* Try harder to find a matching WASAPI configurationChris Robinson2019-12-221-92/+110
| | | | | | As long as the lowest channel bits match the enabled bits for a given configuration, higher bits from any extra channels can be ignored since they can be skipped.
* Handle padding between device sample framesChris Robinson2019-12-2118-55/+78
| | | | | | | | The padding must be constant and sample type aligned (e.g. some fixed multiple of two bytes between the start of two consecutive frames for 16-bit output). The intent is to always have the ability for stereo output with WASAPI even if the device has some other unsupported configuration, as long as front-left and front-right exist.
* Use size_t for the compressor channel countChris Robinson2019-12-213-124/+101
| | | | And general cleanup of the compressor
* Use unique setters for biquad filter parametersChris Robinson2019-12-218-66/+64
| | | | One for whether a slope parameter is used, and one for bandwidth.
* Improve gain/hf/lf packing when processing voice updatesChris Robinson2019-12-211-96/+84
|
* Use a standard bool typeChris Robinson2019-12-191-31/+31
|
* Remix missing channels with direct channels enabledChris Robinson2019-12-193-6/+83
| | | | Instead of dropping them.
* Don't apply direct channels with mono outputChris Robinson2019-12-181-1/+1
|
* Don't process direct channel sources with attenuationChris Robinson2019-12-171-4/+4
|
* Update a comment since B-Format input isn't always FuMaChris Robinson2019-12-171-2/+2
|
* Correctly scale spatialized B-Format sourcesChris Robinson2019-12-171-2/+2
|