summaryrefslogtreecommitdiffstats
path: root/Alc/ALu.c
Commit message (Collapse)AuthorAgeFilesLines
* Make the filter functions global inline, and use it for echoChris Robinson2009-05-161-33/+0
|
* Set some common macros in alu.hChris Robinson2009-05-161-41/+0
|
* Use the source reference distance to specify full panning magnitudeChris Robinson2009-05-161-1/+11
| | | | | | Sources that are closer than the specified reference distance will not pan to full magnitude, thus providing a smoother transition as it moves around near the listener
* Make the filter history buffer size flexibleChris Robinson2009-04-161-6/+6
| | | | | | | This lets the filter history buffer be as big as needed for a given use, so that it can have a size large enough for the more demanding cases, but not be wasteful for lesser-demanding cases, while not incuring the overhead of an added pointer indirection
* Use a 2-pole filter for the wet path low-pass filterChris Robinson2009-04-141-8/+10
| | | | | This should help keep CPU use from increasing a lot when the number of sends increases. Also changes the function names to reflect the difference
* Make the number of source sends variableChris Robinson2009-04-131-5/+12
| | | | The highest value is clamped to MAX_SENDS
* Reduce the number of send loopsChris Robinson2009-04-131-37/+28
|
* Add the Echo effectChris Robinson2009-04-121-0/+2
|
* Fix air absorptionChris Robinson2009-04-111-14/+14
|
* Pay attention to the MAX_SENDS valueChris Robinson2009-04-111-87/+128
|
* Move the WetBuffer into the effect slot objectChris Robinson2009-04-111-4/+8
| | | | This should make it easier to support multiple slots
* Constify some parametersChris Robinson2009-03-131-6/+7
|
* Calculate filter coefficients in aluMixDataChris Robinson2009-03-131-38/+44
|
* Clamp gain of multichannel sourcesChris Robinson2009-02-101-0/+2
|
* Include assert.h for assert()Chris Robinson2009-02-021-0/+1
|
* Use calculated distance from reference for air absorptionChris Robinson2009-01-301-1/+1
|
* Fix incorrect commentChris Robinson2009-01-301-1/+1
|
* Use M_PI since it is sure to be definedChris Robinson2009-01-271-4/+3
|
* Use a matrix for up- and down-mixing channelsChris Robinson2009-01-251-38/+82
|
* Duplicate stereo onto the side channels as well as the backChris Robinson2009-01-251-1/+4
|
* Don't read stereo layout when output is monoChris Robinson2009-01-251-0/+7
|
* Add options for user-configurable speaker arrangementsChris Robinson2009-01-251-0/+89
|
* 6.1 uses front- and back-center, not left- and right-back channelsChris Robinson2009-01-241-65/+55
|
* Seperate mixing loops depending on source channel configurationChris Robinson2009-01-241-56/+111
|
* Reimplement panning using lookup tables, based on a patch by Christian BorssChris Robinson2009-01-241-63/+194
| | | | | | This allows speaker positions to be specified by discrete angles around the listener, providing more flexibility and configurability in placement. Additional patches to take advantage of this are forthcoming.
* Apply the dry filter to multi-channel sourcesChris Robinson2008-12-101-15/+48
| | | | Unlike mono sources, they use 2 chained one-pole filters instead of 4
* Implement AL_EXTX_source_distance_modelChris Robinson2008-11-251-1/+1
| | | | | As with other EXTX extensions, this is subject to change and removal as the spec gets worked on
* Use a better dB-to-linear gain convertionChris Robinson2008-11-161-1/+1
|
* Implement a new reverb effectChris Robinson2008-11-161-59/+13
| | | | Code created and graciously provided by Christopher Fitzgerald
* Don't ramp gains when starting a sound from the beginningChris Robinson2008-11-131-3/+17
|
* Include float.h if it exists, for _RC_CHOP and _MCW_RCChris Robinson2008-10-141-0/+4
|
* Remove another unused source memberChris Robinson2008-10-101-1/+0
|
* Use a modulo to keep the buffer position in range for looping sourcesChris Robinson2008-10-101-1/+4
| | | | | A high pitch and low buffer size can cause a lot of unnecessary iterations otherwise, that just decrement the position
* Clamp source position to the buffer size when it stopsChris Robinson2008-10-091-0/+2
|
* Remove unneeded source member variableChris Robinson2008-10-091-1/+0
|
* Only send one channel through the wet pathChris Robinson2008-10-091-149/+106
|
* Increase max pitch to 65536Chris Robinson2008-10-091-4/+4
| | | | This should be safe now
* Simplify the lerp functionChris Robinson2008-10-091-1/+1
|
* Don't apply the wet path for multi-channel buffersChris Robinson2008-10-091-10/+0
|
* Skip mixing if the read position is beyond the end of the bufferChris Robinson2008-10-091-3/+8
|
* The wet path should be silent if no effect is set on the slotChris Robinson2008-10-091-1/+2
|
* Don't hold the whole-number position in the fractional valueChris Robinson2008-10-021-24/+19
| | | | This will help prevent overflows when the max pitch is increased
* Use a new low-pass filter, based on the I3DL2 specChris Robinson2008-10-021-47/+40
| | | | Many thanks to Christopher Fitzgerald, for helping with it
* Air absorption factor is applied to the dB value, not linear gainChris Robinson2008-09-221-13/+15
|
* Fixup some source parameter calculationsChris Robinson2008-09-161-28/+49
|
* Use a 12dB/oct rolloff instead of 24 for the lowpass filterChris Robinson2008-09-131-14/+10
|
* Clear the end of the buffer when at the end of the queue and not loopingChris Robinson2008-09-061-0/+2
|
* Remove unneeded source struct memberChris Robinson2008-08-151-4/+1
|
* Overwrite the input wet sample with the outputChris Robinson2008-08-141-6/+6
|
* Ramp channel gains to remove pops and clicks from abrupt changesChris Robinson2008-08-141-20/+52
| | | | Thanks to Christopher Fitzgerald for helping me work on it