aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/ALu.c
Commit message (Collapse)AuthorAgeFilesLines
* Store the filter gains directly in the source instead of duplicate filter ↵Chris Robinson2011-08-311-34/+10
| | | | objects
* Use a separate array for the auxiliary slots in the mixerChris Robinson2011-08-301-15/+15
|
* Use a generic int type to handle enum swapsChris Robinson2011-08-291-3/+3
|
* Make specific functions to lock/unlock UIntMap accessChris Robinson2011-08-291-2/+2
|
* Manually lock the map while iterating through its contentsChris Robinson2011-08-291-0/+2
|
* Use atomic exchanges when checking for updates to objects' internal parametersChris Robinson2011-08-291-14/+6
|
* Use a list of contexts in the device instead of an arrayChris Robinson2011-08-281-18/+19
|
* Prevent source and effect slot updates from occuring while updates are deferredChris Robinson2011-08-221-5/+9
|
* Don't scale the wet send by the number of channelsChris Robinson2011-08-191-2/+1
| | | | | Each channel should be treated as a distinct audio source, so multiple channels should act as multiple sources.
* Coalesce some mixer sample convertersChris Robinson2011-08-171-18/+6
|
* Avoid reading some more source parameters multiple times when updatingChris Robinson2011-08-171-12/+19
|
* Rename minF/maxF/clampF to minf/maxf/clampf for consistencyChris Robinson2011-08-161-10/+10
|
* Use mini/maxi/clampi and minu/maxu/clampu to replace min/max callsChris Robinson2011-08-161-3/+3
|
* Use inline minF/maxF/clampF functions instead of the __min/__max macrosChris Robinson2011-08-161-21/+10
|
* Fix wet path conehf calculationChris Robinson2011-08-131-1/+1
|
* Avoid a temporary throw-away buffer for mixing null outputChris Robinson2011-08-121-16/+19
|
* Use specialized click removal loops for mono and stereo outputChris Robinson2011-07-301-7/+37
|
* Apply the click removal offset first, before decreasing itChris Robinson2011-07-171-2/+2
|
* Invert the device channel mapChris Robinson2011-07-171-82/+54
|
* Fade between HRTF coefficients, to reduce noise from sudden changesChris Robinson2011-07-161-13/+48
|
* Pass the effect slot to the effect update methodChris Robinson2011-07-161-1/+1
|
* Allow effect slots to be updated asynchronouslyChris Robinson2011-07-161-0/+6
| | | | | | Updates when the slot changes effect type is still sychronous, however, to ensure a proper state for the Process method call. Fixing this would essentially require all effects to work from the same state.
* Fix default room air absorptionChris Robinson2011-07-111-2/+2
|
* Use a flag to signifiy that all sources need updatingChris Robinson2011-07-111-2/+7
|
* Use a Lock/UnlockDevice function instead of locking a NULL contextChris Robinson2011-07-061-4/+4
|
* Don't modify the source's WetGain[HF]Auto because of a slot's stateChris Robinson2011-07-061-4/+0
|
* Store and use the send slot in the source paramsChris Robinson2011-07-051-0/+5
|
* Scale the WetGain parameter directly instead of on each applicationChris Robinson2011-07-051-1/+2
|
* Apply wet path calculations with their dry path equivalentsChris Robinson2011-07-051-86/+112
| | | | | | The auxiliary slot (and related effect) properties are retrieved at the same time as the source properties. This will help ensure each property is accessed from the source and slot only once.
* Use a helper to tell if an effect type is reverbChris Robinson2011-07-051-5/+2
|
* Read the source's RoomRolloffFactor onceChris Robinson2011-07-051-9/+10
|
* Force front-centered for mono sounds that comes from the listener under HRTFChris Robinson2011-07-051-5/+12
|
* Fix rolloff calculations for auxiliary sendsChris Robinson2011-07-041-2/+1
|
* Implement a lerped lookup of the HRTF coefficients/delaysChris Robinson2011-07-041-25/+10
| | | | Code supplied by Christopher Fitzgerald
* Use a proper enum for the distance modelChris Robinson2011-07-031-7/+7
|
* Calculate the wet gain decay time attenuation with linear valuesChris Robinson2011-07-031-4/+3
|
* Read the RoomRolloffFactor property with the other propertiesChris Robinson2011-07-031-9/+9
|
* Get rid of a couple typedefsChris Robinson2011-07-021-36/+36
|
* Properly save the original FPU state when using _controlfpChris Robinson2011-07-021-1/+2
|
* Do air absorption with linear gain valuesChris Robinson2011-07-011-11/+1
| | | | This copies the way the calculation is done with the wet path
* Avoid accessing source properties more than once when updating parametersChris Robinson2011-07-011-6/+11
|
* Rename Suspend/ProcessContext since they are locking a mutexChris Robinson2011-06-301-4/+4
|
* Declare some variables closer to where they're usedChris Robinson2011-06-291-10/+12
|
* Add a source property to skip channel virtualization for multi-channel buffersChris Robinson2011-06-291-17/+47
| | | | | | | | | With virtualization disabled, channels are mapped directly from input to output and any input channel that is missing an output is dropped. Any virtualization effects (such as HRTF filters) for positional cues are also skipped. The idea is to allow applications a way to play pre-filtered audio that channel vitualization effects could interfere with.
* Select the correct resamplerChris Robinson2011-06-281-4/+8
|
* Don't bother with a per-context lock for disconnecting devicesChris Robinson2011-06-261-3/+0
|
* Select the mixer during a source updateChris Robinson2011-06-251-0/+8
|
* Use 'Distance' for the unclamped distance value, since the clamped value isChris Robinson2011-06-211-20/+20
| | | | only used for distance attenuation
* Calculate wet gain when neededChris Robinson2011-06-181-5/+4
|
* Do stereo duplication in two passesChris Robinson2011-06-171-52/+44
| | | | First using the rear channels, then using the normal stereo channels