aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/ALc.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove standard reverb specific processing functionsChris Robinson2018-01-071-2/+0
|
* Add missing integer queriesChris Robinson2017-12-211-23/+65
|
* It's getFactory that may be NULL, not its return value...Chris Robinson2017-11-261-3/+4
|
* Don't probe a NULL backend factoryChris Robinson2017-11-261-2/+2
|
* Properly initialize with the default distance modelChris Robinson2017-10-291-6/+3
|
* Avoid a separate function to query ambisonic mode supportChris Robinson2017-09-271-26/+10
| | | | | | Now FuMa and ACN channel orders are required, as are FuMa, SN3D, and N3D normalization schemes. An integer query (alcGetIntegerv) is added for the maximum ambisonic order.
* Re-update effect slots when context properties changeChris Robinson2017-09-271-24/+50
| | | | | Also keep all free property update structs together in the context instead of per-object.
* Don't update context and listener props unnecessarilyChris Robinson2017-09-271-2/+9
|
* Update the context state properties separatelyChris Robinson2017-09-271-14/+37
| | | | | | | | | | | | | The context state properties are less likely to change compared to the listener state, and future changes may prefer more infrequent updates to the context state. Note that this puts the MetersPerUnit in as a context state, even though it's handled through the listener functions. Considering the infrequency that it's updated at (generally set just once for the context's lifetime), it makes more sense to put it there than with the more frequently updated listener properties. The aforementioned future changes would also prefer MetersPerUnit to not be updated unnecessarily.
* Add an option to ignore the app's speed of sound for reverb decayChris Robinson2017-09-221-0/+5
|
* 0 meters per unit is invalidChris Robinson2017-08-211-2/+2
|
* 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
|