aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
Commit message (Collapse)AuthorAgeFilesLines
* Only pass the needed parameters to LateT60FilterChris Robinson2018-01-141-28/+21
|
* Pre-apply the T60 filter midgain to the HF filter coeffsChris Robinson2018-01-131-38/+30
|
* Replace some freq_mult variable names with f0normChris Robinson2018-01-134-23/+23
| | | | | | The latter is a bit more descriptive as f0 is often used to denote the reference frequency of a filter, so f0norm indicates the normalized reference frequency (ref_freq / sample_rate).
* Avoid fixed-PATH_MAX-size buffersChris Robinson2018-01-132-38/+77
| | | | | Windows still needs to use MAX_PATH in a couple places, but that macro's guaranteed there.
* Use GetProcBinary to get the executable name for PulseAudioChris Robinson2018-01-131-4/+7
|
* Use KERN_PROCARGS to get the process path+filename on FreeBSDChris Robinson2018-01-131-5/+4
|
* Support procfs on *BSD to get the process binaryChris Robinson2018-01-131-34/+45
|
* Allow GetProcPath to return the filename alsoChris Robinson2018-01-133-33/+51
|
* Add a string function to copy a wide-char rangeChris Robinson2018-01-132-0/+12
|
* Make NumAttrsForDevice do similar type checks as alcGetIntegervChris Robinson2018-01-121-1/+2
|
* Make a couple functions inlineChris Robinson2018-01-123-14/+12
|
* Use atomic variables in place of volatileChris Robinson2018-01-111-16/+17
|
* Define a function where it's usedChris Robinson2018-01-112-3/+7
|
* Move logging declarations to a separate headerChris Robinson2018-01-111-0/+61
|
* Fix up some types for MSVCChris Robinson2018-01-116-9/+11
|
* Avoid including alMain.h in ringbuffer.cChris Robinson2018-01-111-3/+16
|
* Ensure NextPowerOf2 is being used correctlyChris Robinson2018-01-113-8/+8
|
* Remove SET_VTABLE1Chris Robinson2018-01-111-3/+0
|
* Clean up the EffectList members and make the list size knownChris Robinson2018-01-111-1/+1
|
* Move the ringbuffer declarations to a separate headerChris Robinson2018-01-1111-23/+42
| | | | And rename alcRing.c to ringbuffer.c for consistency.
* Move the FPU mode declarations to a separate headerChris Robinson2018-01-115-2/+43
| | | | Also don't use inheritance with FPUCtl.
* Move the config function declarations to their own headerChris Robinson2018-01-1113-0/+29
| | | | And rename alcConfig.c to alconfig.c for consistency.
* Move the CPU capability flags to a separate headerChris Robinson2018-01-115-5/+23
|
* Move the compressor/limiter declarations to their own headerChris Robinson2018-01-114-27/+63
|
* Move the polymorphic/inheritance macros to a separate headerChris Robinson2018-01-111-0/+108
|
* Reorder some loops in the equalizer and use MixSamplesChris Robinson2018-01-111-61/+43
|
* Use MixSamples for the dedicated and ring modulator effect outputChris Robinson2018-01-112-57/+40
|
* Apply the distortion gain to the mixing gainsChris Robinson2018-01-111-6/+3
|
* Move some HRTF structures to hrtf.hChris Robinson2018-01-111-0/+31
|
* Avoid using macros to access anonymous structuresChris Robinson2018-01-1113-46/+52
|
* Don't return whether the bsinc filter cuts or notChris Robinson2018-01-101-22/+8
|
* Make a function pointer staticChris Robinson2018-01-101-1/+1
|
* Use one macro to handle both resample padding sizesChris Robinson2018-01-094-22/+22
|
* Combine the chorus and flanger processing functionsChris Robinson2018-01-092-436/+164
| | | | | | | Given that they're nearly identical, it should be relatively simple to use the same effect state to process either of them, similar to the reverbs. The big differences seem to be the delay range (much shorter with flanger) and the defaults.
* Rename the device's temp buffer storage to be more genericChris Robinson2018-01-092-7/+11
|
* Remove standard reverb specific processing functionsChris Robinson2018-01-072-116/+35
|
* Move the UNEXPECTED macro to the main header and rename itChris Robinson2018-01-072-7/+2
|
* Ensure the chorus delay and depth leave enough padding for resamplingChris Robinson2018-01-072-14/+26
| | | | Also use cubic resampling for the modulated tap. Applies to flanger too.
* Use a separate function to get the cubic valueChris Robinson2018-01-072-9/+2
|
* Remove the sinc4 tableChris Robinson2018-01-071-5/+0
|
* Replace the sinc4 resampler with cubicChris Robinson2018-01-077-290/+21
| | | | | | | Turns out the C version of the cubic resampler is just slightly faster than even the SSE3 version of the FIR4 resampler. This is likely due to not using a 64KB random-access lookup table along with unaligned loads, both offseting the gains from SSE.
* Test the correct offset for the loop start rangeChris Robinson2018-01-041-1/+1
|
* Use the correct start point when loopingChris Robinson2018-01-041-2/+2
|
* Use separate outputs for the vector reverse and scatter functionsChris Robinson2018-01-041-29/+23
|
* Avoid the modulated output tap for late reverbChris Robinson2018-01-041-28/+14
| | | | | | And fix the output filtering. The modulation code is still there since it's (probably) technically correct, but the interaction with the feedback loop and filtering on the output caused improper behavior which needs to be sorted out.
* Don't offset the reverb modulation sinusChris Robinson2018-01-021-1/+1
|
* Use a float literal for float mathChris Robinson2018-01-021-2/+2
|
* Reset CompLen when loading loop repeats in the mixerChris Robinson2018-01-021-0/+1
|
* Avoid dereferencing a NULL pointerChris Robinson2017-12-311-1/+2
| | | | | | Even though it's taking the address of a member, it's still technically a derefernce and thus undefined behavior. sizeof doesn't "execute" the expression, so derefering in it instead is fine.
* Update resampler padding checksChris Robinson2017-12-291-3/+3
|