aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
Commit message (Collapse)AuthorAgeFilesLines
* Replace deprecated Carbon API calls with modern AudioComponent APIs in the ↵Alex Szpakowski2015-11-131-18/+24
| | | | | | | | CoreAudio backend. This prevents a deprecation notice from being output to stdout when alcOpenDevice is called in Mac OS X 10.11. The new API calls require Mac OS X 10.6 or newer.
* Use doubles for the constructed listener matrixChris Robinson2015-11-112-45/+87
| | | | | | This helps the stability of transforms to local space for sources that are at or near the listener. With a single-precision matrix, even FLT_EPSILON might not be enough to detect matching positions.
* Move the bsincTable to a separate fileChris Robinson2015-11-102-988/+981
|
* Update the bsinc tableChris Robinson2015-11-102-969/+972
| | | | Precision is increased to cover the full 32-bit float range.
* Add options to disable Pulse's and ALSA's resamplersChris Robinson2015-11-072-3/+7
|
* Simplify reverb panning rotationsChris Robinson2015-11-071-4/+4
|
* Remove a const to silence some warningsChris Robinson2015-11-061-1/+1
|
* Use more accurate floating point literalsChris Robinson2015-11-063-41/+41
|
* Add another cast for MSVCChris Robinson2015-11-061-1/+1
|
* Use ALuint instead of size_t for a loop iteratorChris Robinson2015-11-061-2/+3
|
* Add a cast to silence an MSVC warningChris Robinson2015-11-061-2/+2
|
* Use a more appropriate type in MatchFilterChris Robinson2015-11-061-2/+2
|
* Cast a double->float return to silence MSVCChris Robinson2015-11-061-1/+1
|
* Pan each early/late delay line separatelyChris Robinson2015-11-051-56/+70
|
* Manually inline and condense the bsinc resamplerChris Robinson2015-11-052-80/+63
|
* Remove an unneeded memset that was overwriting memoryChris Robinson2015-11-051-2/+0
|
* Implement a band-limited sinc resamplerChris Robinson2015-11-058-21/+1211
| | | | | | | | This is essentially a 12-point sinc resampler, unless it's resampling to a rate higher than the output, at which point it will vary between 12 and 24 points and do anti-aliasing to avoid/reduce frequencies going over nyquist. Code provided by Christopher Fitzgerald.
* Change the Kaiser rippling limit to -60dBChris Robinson2015-11-041-2/+2
| | | | | This improves the transition cutoff, shortening its width and reducing the amount of error.
* Replace the Lanczos window with Kaiser for the sinc resamplerChris Robinson2015-11-041-17/+87
|
* Pass in the Q parameter for setting the filter parametersChris Robinson2015-11-015-37/+60
| | | | Also better handle the peaking filter gain.
* Use modff to split the modulation delay componentsChris Robinson2015-10-311-4/+3
|
* Mix reverb to output in the inner loopChris Robinson2015-10-291-41/+39
|
* Include the echo's attenuation of the late reverb in the late reverb gainChris Robinson2015-10-291-24/+29
|
* Do up to 256 samples per reverb inner loop iterationChris Robinson2015-10-291-2/+3
|
* Pass the appropriate BackendInfo explicitly to ProbeDevicesChris Robinson2015-10-281-21/+9
|
* Finalize ALC_SOFT_HRTFChris Robinson2015-10-281-3/+3
|
* Always update all reverb propertiesChris Robinson2015-10-281-68/+44
| | | | | | The EAX-only effect properties will be set to compatible defaults when standard reverb is set, and the EAX-only effects will be skipped during sample processing.
* Do multiple samples at once in each reverb componentChris Robinson2015-10-281-245/+267
|
* Rename ALC_NUM_HRTF_SPECIFIER_SOFT to ALC_NUM_HRTF_SPECIFIERS_SOFTChris Robinson2015-10-261-3/+3
|
* Add a comment about fegetenv possibly saving the SSE register for usChris Robinson2015-10-261-0/+2
|
* Set the current gain immediately if the target is close enoughChris Robinson2015-10-261-2/+8
|
* Use the correct position in the SSE resamplers for left-over processingChris Robinson2015-10-254-10/+23
|
* Fix the SSE4.1 resamplersChris Robinson2015-10-241-20/+20
| | | | | Apparently the given _mm_extract_epi32 index obeys memory order, rather than component order.
* Remove a couple unused parametersChris Robinson2015-10-241-16/+4
|
* Lock the source queue for writing when updating the playback offsetChris Robinson2015-10-241-2/+2
|
* Update filter histories even when they're not usedChris Robinson2015-10-241-0/+4
| | | | | | If the filter properties are continually updated, and the HF or LF gain goes from <1, to 1, and later back to <1, the history shouldn't hold stale values from before it was at 1.
* Set XYZ channel gains for source sends to 0Chris Robinson2015-10-232-98/+107
| | | | | It's cleaner to just set the gains to 0 rather than to special-case B-Format in the mixer.
* Use one send gain per buffer channelChris Robinson2015-10-232-12/+17
|
* Return the new vector result from aluMatrixVectorChris Robinson2015-10-221-14/+12
|
* Convert the PortAudio backend to the new backend APIChris Robinson2015-10-223-153/+259
|
* Remove the MIDI codeChris Robinson2015-10-209-3028/+1
| | | | | | | The extension's not going anywhere, and it can't do anything fluidsynth can't. The code maintenance and bloat is not worth keeping around, and ideally the AL API would be able to facilitate MIDI-like behavior anyway (envelopes, start-at- time, etc).
* Use NEW_OBJ in a few more placesChris Robinson2015-10-203-8/+5
|
* Make VerifyDevice and VerifyContext modify its parameterChris Robinson2015-10-191-43/+46
|
* Use the correct realignment size for post-stepping mixingChris Robinson2015-10-182-2/+2
|
* Remove unused channel labelsChris Robinson2015-10-181-9/+0
|
* Use the correct array indices for SSE register componentsChris Robinson2015-10-173-30/+30
| | | | | | SSE uses reverse ordering, such that component 0 is the last in memory. _mm_load_* and _mm_loadu_*, and the corresponding stores, do not change the memory ordering.
* Round the calculated stepping valueChris Robinson2015-10-151-10/+2
|
* Use a constant value for the post-position paddingChris Robinson2015-10-151-33/+20
|
* Store the source's previous samples with the voiceChris Robinson2015-10-151-92/+32
| | | | | | This helps avoid different results when looping is toggled within a couple samples of the loop point, or when a processed buffer is removed while the source is only a couple samples into the next buffer.
* Fix absolute path detection on WindowsChris Robinson2015-10-141-2/+4
|