summaryrefslogtreecommitdiffstats
path: root/Alc/ALu.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Set FPU mode to round toward zero for mixingChris Robinson2008-08-081-0/+17
|
* Remove unnecessary castingChris Robinson2008-08-081-8/+16
|
* Prevent a 0 or negative increment for the buffer positionChris Robinson2008-08-051-0/+2
| | | | Thanks to Christopher Fitzgerald for pointing these last two problems out
* Fix some calculations for the reverb bufferChris Robinson2008-07-261-25/+22
|
* Make the filter processing function inlineChris Robinson2008-07-261-0/+36
|
* Implement yet another low-pass filterChris Robinson2008-07-251-16/+9
| | | | This one using the Butterworth IIR filter design
* Specify padding per buffer, and make sure it's large enough for the filter stepChris Robinson2008-07-241-5/+5
|
* Don't advertise extra samples for mixingChris Robinson2008-07-231-3/+2
|
* Implement an alternative low-pass filterChris Robinson2008-07-231-36/+32
| | | | | | | | | This method samples from the buffer so that it gets a time-correct 5khz stream, which is subtracted from the original sample and has the high-frequency gain applied, then added back. A better method may be to average all the samples from the current one to the one freq/5000 away, instead of bilinear filtering the two nearest freq/5000 apart. Processing cost will need to determine its viability