aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/ALc.c
Commit message (Collapse)AuthorAgeFilesLines
* Avoid re-selecting the direct HRTF mix functionChris Robinson2017-08-071-0/+1
|
* Add a front-stablizer config option for surround sound modesChris Robinson2017-07-311-0/+3
| | | | | | | | | | | | 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.
* Fix default effect initializationChris Robinson2017-07-191-28/+11
|
* Add the default auxiliary slot to the active slot arrayChris Robinson2017-07-131-2/+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-131-6/+4
|
* Store the default effect slot in the contextChris Robinson2017-07-131-41/+64
|
* Define a backup log2f if the compiler doesn't have itChris Robinson2017-06-291-3/+0
|
* Workaround log2f missing on AndroidChris Robinson2017-06-211-0/+2
|
* Trace if dithering is enabledChris Robinson2017-06-191-3/+7
|
* "Convert" the QSA backend to the new APIChris Robinson2017-06-181-77/+32
| | | | | | | | | | 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-171-6/+29
|
* Use an RMS limit of -3dB for the output limiterChris Robinson2017-05-291-2/+2
|
* Use peak limiting rather than RMS detectionChris Robinson2017-05-271-1/+1
|
* Add a new compressor/limiterChris Robinson2017-05-271-4/+17
| | | | | | This is just for the output limiter right now, but in the future can be used for the compressor EFX effect. The parameters are also hardcoded, but can be made configurable after 1.18.
* Finalize ALC_SOFT_output_limiterChris Robinson2017-05-251-1/+1
|
* Add an option to dither 8- and 16-bit outputChris Robinson2017-05-231-0/+8
|
* Log whether the output limiter is enabled or disabledChris Robinson2017-05-111-0/+1
|
* Finalize AL_SOFT_source_spatializeChris Robinson2017-05-111-1/+1
|
* Update ALC_OUTPUT_LIMITER_SOFT to handle ALC_DONT_CARE_SOFTChris Robinson2017-05-111-4/+8
| | | | | Essentially just adding a comment about it. Since we default to on, the behavior already fit.
* Calculate the output limiter gain using the RMSChris Robinson2017-05-051-7/+19
|
* Start an extension to change the source's spatialize propertyChris Robinson2017-05-051-1/+4
|
* Finalize AL_SOFT_source_resamplerChris Robinson2017-05-031-1/+1
|
* Allow querying the output limiter stateChris Robinson2017-04-301-2/+12
|
* Start an extension to toggle the output limiterChris Robinson2017-04-301-5/+18
|
* Implement a limiter on the device outputChris Robinson2017-04-261-3/+11
| | | | | | This reduces the output volume when the mixed samples extend outside of -1,+1, to prevent excessive clipping. It can reduce the volume by -80dB in 50ms, and increase it by +80dB in 1s (it will not go below -80dB or above 0dB).
* Add the ability to change the source resamplerChris Robinson2017-04-211-1/+2
|
* Add a method to enumerate resamplersChris Robinson2017-04-211-0/+7
|
* Allocate a new context's voices after updating the device paramsChris Robinson2017-04-191-26/+15
|
* Use a different way to get the size of structs with flexible array membersChris Robinson2017-04-181-3/+3
|
* Store the source prop updates with the mixer voiceChris Robinson2017-04-171-21/+36
| | | | Also move its declaration and rename it for consistency.
* Trace unhandled device reset attributesChris Robinson2017-04-161-111/+109
|
* Correctly handle the attribute array size for alcGetInteger64vSOFTChris Robinson2017-04-151-2/+2
|
* Allow increasing the maximum source limitChris Robinson2017-04-141-15/+59
| | | | | | | | If the requested number of mono and stereo sources exceeds 256, the source limit will be expanded. Any config file setting overrides this. If the device is reset to have fewer sources than are currently allocated, excess sources will remain and be usable as normal, but no more can be generated until enough are delated to go back below the limit.
* Use separate atomic macros for pointersChris Robinson2017-04-141-19/+17
|
* Store the ambisonic order separate from the channel enumChris Robinson2017-04-121-92/+65
|
* Trace the capture device formatChris Robinson2017-04-101-0/+4
|
* Convert the CoreAudio backend to the updated backend APIChris Robinson2017-04-091-1/+1
|
* Reference count HRTFs and unload them when unusedChris Robinson2017-04-061-1/+10
|
* Load HRTF files as neededChris Robinson2017-04-051-32/+8
| | | | | Currently only applies to external files, rather than embedded datasets. Also, HRTFs aren't unloaded after being loaded, until library shutdown.
* Store the loaded hrtf entry container in the enumerated hrtf entryChris Robinson2017-04-051-5/+5
|
* Rename al_string_* functions to alstr_*Chris Robinson2017-04-041-19/+19
|
* Make ReleaseContext return if any contexts still remainChris Robinson2017-03-281-10/+25
|
* Use an array of pointers for effects instead of a linked listChris Robinson2017-03-271-1/+11
|
* Fix setting Ambi formats for loopback devicesChris Robinson2017-03-211-1/+1
|
* Use an atomic flag to test if a source needs to updateChris Robinson2017-03-201-1/+1
|
* Don't defer source state or offset changesChris Robinson2017-03-191-32/+3
|
* Fix alcGetInteger64vSOFT to handle ambisonic attributesChris Robinson2017-03-181-14/+28
|
* Replace a couple ALuint with ALsizeiChris Robinson2017-03-171-2/+2
|
* Remove a couple unneeded typedefsChris Robinson2017-03-141-23/+25
|