aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
Commit message (Collapse)AuthorAgeFilesLines
* Add a front-stablizer config option for surround sound modesChris Robinson2017-07-314-0/+110
| | | | | | | | | | | | This improves a stereo (front-left + front-right) sound "image" by generating a front-center channel signal. Done correctly, it helps reduce the comb effects and phase errors associated with using only two speakers to simulate center sounds. Note that it shouldn't be used if the front-center channel is already included in the positional audio mix (the dialog effect is okay). In general, it may actually be better to exclude the front-center channel from the positional audio mix and use this to generate front-center output.
* Don't bother returning the IR length for B-Format decodingChris Robinson2017-07-313-7/+5
|
* Print an error if the input channel isn't in the deviceChris Robinson2017-07-311-22/+16
| | | | Rather than the other way around, if a device channel isn't in the channel map.
* Update default 5.1 and 6.1 coefficients to exclude front-centerChris Robinson2017-07-301-15/+12
| | | | | | | Not all speaker kits have a front-center speaker capable of outputing full- range content. It's best to err on the side of caution and not include front- center for normal positional sound by default, leaving it instead for the dedicated dialog effect.
* Cleanup output write functionsChris Robinson2017-07-271-32/+26
|
* Remove unused macrosChris Robinson2017-07-251-4/+0
|
* Update makehrtf to use a larger FFT by defaultChris Robinson2017-07-251-1/+1
| | | | Also fixes DC offset removal and increases the max IR size.
* Downgrade some ERRs to TRACEsChris Robinson2017-07-231-2/+2
| | | | | These don't exist outside OSSv4, e.g. with OSS/Free, padsp, or aoss, so no need to be concerned.
* Make sure OSS device files exist before adding themChris Robinson2017-07-231-2/+10
|
* Fix default effect initializationChris Robinson2017-07-191-28/+11
|
* Add an all-pass filter that replicates the band splitter's phase shiftChris Robinson2017-07-192-0/+51
|
* Scale the source volume by +3dB for a full spreadChris Robinson2017-07-181-6/+7
| | | | | This effectively turns a full spread source into an ambient response, preventing such sources from being unexpectedly quiet.
* Apply the output buffer offset before writing to itChris Robinson2017-07-151-24/+24
|
* Set the float PCM GUID for wave files only when outputting floatChris Robinson2017-07-151-2/+3
|
* Add the default auxiliary slot to the active slot arrayChris Robinson2017-07-132-18/+11
|
* Initialize the default effect after device updateChris Robinson2017-07-131-35/+31
|
* Use macros to set and restore the mixer FPU modeChris Robinson2017-07-133-17/+10
|
* Store the default effect slot in the contextChris Robinson2017-07-132-59/+82
|
* Store the QSA backend's ExtraData in the wrapper structChris Robinson2017-06-291-118/+121
|
* Use sqrtf for single-precision square rootsChris Robinson2017-06-291-1/+1
|
* Add casts to silence MSVCChris Robinson2017-06-291-1/+1
|
* Define a backup log2f if the compiler doesn't have itChris Robinson2017-06-291-3/+0
|
* Calculate the converter stepping value using floating pointChris Robinson2017-06-281-3/+3
|
* Remove the fastf2u conversion functionChris Robinson2017-06-276-13/+12
|
* Use a macro to apply NFC filtered mixes instead of a loopChris Robinson2017-06-261-18/+16
|
* Round the converter's stepping valueChris Robinson2017-06-261-2/+3
|
* Trace the message name in the message handler loopChris Robinson2017-06-261-1/+14
|
* Convert all input samples in the loopChris Robinson2017-06-261-2/+2
| | | | Instead of potentially leaving 1 sample that requires another loop iteration.
* Clean up some messy rounding codeChris Robinson2017-06-262-7/+12
|
* Ensure the mmdevapi capture buffer is at least 100msChris Robinson2017-06-261-0/+4
|
* Clean up some loop variablesChris Robinson2017-06-251-29/+23
|
* Use the bsinc resampler for the converterChris Robinson2017-06-253-7/+16
|
* Improve traces for the mmdevapi capture conversionsChris Robinson2017-06-231-10/+8
|
* Use the correct destination channel offsetChris Robinson2017-06-231-2/+2
|
* Don't report any output samples for no input samplesChris Robinson2017-06-231-0/+6
|
* Forward Sample_ALuint to Sample_ALintChris Robinson2017-06-231-1/+1
|
* Stop conversion when no more source samples are availableChris Robinson2017-06-221-3/+4
|
* Trace the capture converter formats for mmdevapiChris Robinson2017-06-221-0/+6
|
* Workaround log2f missing on AndroidChris Robinson2017-06-211-0/+2
|
* Remove an unnecessary variableChris Robinson2017-06-211-3/+2
|
* Trace if dithering is enabledChris Robinson2017-06-191-3/+7
|
* "Convert" the QSA backend to the new APIChris Robinson2017-06-184-250/+201
| | | | | | | | | | I say "convert" because it takes the lazy way and essentially just embeds the wrappers into the backend. It's done this way because I lack the means to check any changes, even syntactically. This also means the device's ExtraData field is still needed. However, this does mean all the backends are now using the new API. Code related to the old interface can now be removed.
* Make the dithering depth configurableChris Robinson2017-06-172-20/+33
|
* Apply dither separately from outputChris Robinson2017-06-171-98/+68
|
* Use helpers to get data from byte streamsChris Robinson2017-06-161-51/+51
|
* Round the B-Format HRTF response where the multiple is definedChris Robinson2017-06-162-4/+3
|
* Limit device buffer based on PulseAudio's tlengthChris Robinson2017-06-151-10/+9
| | | | | | Unfortunately PulseAudio has a habit of limiting tlength, and trying to calculate the device's buffer length to write regardless of tlength could result in some amount always being writable.
* Implement GetProcPath for FreeBSDrdb2017-06-091-1/+20
|
* Calculate chorus and flanger mod delays separately from feedbackChris Robinson2017-06-072-135/+118
|
* Make the late lines' delay the delay average for modulationChris Robinson2017-06-071-59/+36
| | | | | | | | | Similar to the recent chorus and flanger changes, the modulation delay now swings between -n to +n, where n is less than the delay length. This brings up a slight issue with the linear interpolation, as modff doesn't produce the correct fraction value for interpolation (it's inverted, with 0 being closer to the next sample and 1 being closer to the base). So it's using nearest interpolation for now.