Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix output channel order for 6.1 and 7.1 | Chris Robinson | 2008-01-27 | 1 | -22/+22 |
| | |||||
* | Remove an unneceesary pointer check and decrease indentation | Chris Robinson | 2008-01-21 | 1 | -424/+421 |
| | |||||
* | Remove unnecessary duplicate thunk lookups | Chris Robinson | 2008-01-21 | 1 | -10/+8 |
| | |||||
* | Small formatting updates | Chris Robinson | 2008-01-20 | 1 | -1/+3 |
| | |||||
* | Remove duplicate function | Chris Robinson | 2008-01-20 | 1 | -23/+7 |
| | |||||
* | Don't access ALSource for every sample mix | Chris Robinson | 2008-01-20 | 1 | -21/+24 |
| | |||||
* | Remove some unnecessary duplicate math, which was making long lines | Chris Robinson | 2008-01-19 | 1 | -67/+56 |
| | |||||
* | Remove some branches | Chris Robinson | 2008-01-18 | 1 | -75/+25 |
| | |||||
* | Implement AL_EFFECT_REVERB | Chris Robinson | 2008-01-18 | 1 | -19/+98 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here is a quick description of how the reverb effect works: +--->---+*(4) | V new sample +-----+---+---+ | |extra|ltr|ref| <- +*(1) +-----+---+---+ (3,5)*| |*(2) +-->| V out sample 1) Apply master reverb gain to incoming sample and place it at the head of the buffer. The master reverb gainhf was already applied when the source was initially mixed. 2) Copy the delayed reflection sample to an output sample and apply the reflection gain. 3) Apply the late reverb gain to the late reverb sample 4) Copy the end of the buffer, applying a decay gain and the decay hf ratio, and add to the late reverb. 5) Copy the late reverb sample, adding to the output sample. Then the head and sampling points are shifted forward, and done again for each new sample. The extra buffer length is determined by the Reverb Density property. A value of 0 gives a length of 0.1 seconds (long, with fairly distinct echos) , and 1 gives 0.075 seconds (short, indistinct echos). The decay gain is calculated such that after a number of loops to satisfy the Decay Time, a sample will be 1/32768th as powerful (virtually insignificant to the resulting output, and only getting further reduced). It is calculated as: DecayGain = pow(1.0f/32768.0f, 1.0/(DecayTime/ExtraLength)); Things to note: Reverb Diffusion is not currently handled, nor is Decay HF Limit. Decay HF Ratios above 1 probably give incorrect results. Also, this method likely sucks, but it's the best I can come up with before release. :) | ||||
* | Don't dereference ALContext if there's no context yet | Chris Robinson | 2008-01-17 | 1 | -2/+2 |
| | | | | Patch by Evgeny A. Marchenko | ||||
* | Don't include alAuxEffectSlot.h in alSource.h | Chris Robinson | 2008-01-16 | 1 | -0/+1 |
| | |||||
* | Don't clamp wet gain if there's no send slot, and move slot gain calculation | Chris Robinson | 2008-01-16 | 1 | -9/+12 |
| | | | | To remove an extra if check | ||||
* | Store a reference to the effect slot in a source's send, not a copy | Chris Robinson | 2008-01-16 | 1 | -11/+13 |
| | |||||
* | Remove unneeded variables | Chris Robinson | 2008-01-15 | 1 | -38/+28 |
| | |||||
* | Use acosf when available | Chris Robinson | 2008-01-15 | 1 | -1/+8 |
| | |||||
* | Use the previous low-pass filter again, as it seems to match the intended ↵ | Chris Robinson | 2008-01-15 | 1 | -6/+14 |
| | | | | output better | ||||
* | Add support for AL_LOKI_quadriphonic | Chris Robinson | 2008-01-14 | 1 | -0/+4 |
| | |||||
* | Reorder setting of some variables | Chris Robinson | 2008-01-12 | 1 | -8/+9 |
| | |||||
* | Merge branch 'master' into efx-experiment | Chris Robinson | 2008-01-11 | 1 | -0/+2 |
|\ | |||||
| * | Disable fast float-to-int hack. | Chris Robinson | 2008-01-05 | 1 | -0/+2 |
| | | | | | | | | | | Even with precautions, it's giving problems. Not worth it since I don't quite understand how it works, or know if there's even a benefit. | ||||
* | | Try a different low-pass filter | Chris Robinson | 2008-01-05 | 1 | -4/+6 |
| | | | | | | | | | | Seems to be more correct, although it's not as powerful as the previous (which may be a good thing) | ||||
* | | Merge branch 'master' into efx-experiment | Chris Robinson | 2008-01-04 | 1 | -27/+113 |
|\| | |||||
| * | Use 6 point spatialization for 6.1 and 7.1 output | Chris Robinson | 2008-01-04 | 1 | -11/+38 |
| | | |||||
| * | Add the Bauer stereophonic-to-binaural DSP (bs2b) code and hooks | Chris Robinson | 2008-01-03 | 1 | -8/+41 |
| | | |||||
* | | Merge branch 'master' into efx-experiment | Chris Robinson | 2008-01-01 | 1 | -22/+24 |
|\| | |||||
| * | Fix channel ordering for multichannel buffers | Chris Robinson | 2008-01-01 | 1 | -22/+24 |
| | | |||||
* | | Fix wet volumes for multichannel path | Chris Robinson | 2007-12-31 | 1 | -0/+11 |
| | | |||||
* | | Merge branch 'master' into efx-experiment | Chris Robinson | 2007-12-31 | 1 | -78/+282 |
|\| | |||||
| * | Add paths for 4 to 7.1 channel buffer mixing | Chris Robinson | 2007-12-31 | 1 | -8/+45 |
| | | |||||
| * | Disable unnecessary calculations | Chris Robinson | 2007-12-31 | 1 | -0/+4 |
| | | |||||
| * | Allow psuedo 6.1 and 7.1 output | Chris Robinson | 2007-12-31 | 1 | -2/+96 |
| | | | | | | | | | | | | This only does spatial calculations on the 4 corner speakers, but it's necessary groundwork for AL_EXT_MCFORMATS support. Spatial calculations for 6 speakers can be added later. | ||||
| * | Use an enum list for dealing with channels | Chris Robinson | 2007-12-31 | 1 | -67/+79 |
| | | | | | | | | This will make it easier to remap channels, especially the center and lfe channels | ||||
| * | Make some defines local to ALu.c | Chris Robinson | 2007-12-31 | 1 | -0/+6 |
| | | |||||
| * | Fix includes so alMain.h doesn't include so much by itself | Chris Robinson | 2007-12-31 | 1 | -0/+4 |
| | | |||||
| * | Don't default to AL_FORMAT_STEREO16 when writing to the output buffer | Chris Robinson | 2007-12-31 | 1 | -1/+3 |
| | | |||||
| * | Loop per frame, not per sample, when writing the output buffer | Chris Robinson | 2007-12-31 | 1 | -20/+38 |
| | | |||||
| * | Implement AL_EXT_FLOAT32 | Chris Robinson | 2007-12-28 | 1 | -0/+6 |
| | | |||||
| * | Don't check explicitly against formats, but rather their byte/channel count | Chris Robinson | 2007-12-26 | 1 | -9/+5 |
| | | |||||
| * | Allow 5.1 channel output | Chris Robinson | 2007-12-26 | 1 | -2/+29 |
| | | | | | | | | This doesn't use the center or LFE channel in spatial calculations, however | ||||
* | | Zero out wet send params when calculating source params | Chris Robinson | 2007-12-31 | 1 | -38/+62 |
| | | | | | | | | Instead of using a check in the mix loop | ||||
* | | Use the right-channel sample... | Chris Robinson | 2007-12-21 | 1 | -2/+2 |
| | | |||||
* | | Don't send stereo samples to the wet path without an auxiliary slot | Chris Robinson | 2007-12-21 | 1 | -6/+13 |
| | | |||||
* | | Fix extrenuous comment | Chris Robinson | 2007-12-21 | 1 | -4/+2 |
| | | |||||
* | | Merge branch 'master' into efx-experiment | Chris Robinson | 2007-12-20 | 1 | -15/+13 |
|\| | |||||
| * | Do the channel pannings based on output channel count | Chris Robinson | 2007-12-20 | 1 | -14/+10 |
| | | | | | | | | This should make it a bit easier to extend in the future | ||||
* | | Use the AuxSendAuto property of the effect slot | Chris Robinson | 2007-12-18 | 1 | -1/+3 |
| | | |||||
* | | Implement AL_AUXILIARY_SEND_FILTER_GAIN_AUTO property | Chris Robinson | 2007-12-18 | 1 | -1/+5 |
| | | |||||
* | | Implement AL_ROOM_ROLLOFF_FACTOR property | Chris Robinson | 2007-12-18 | 1 | -1/+14 |
| | | |||||
* | | Fix initial WetMix setup | Chris Robinson | 2007-12-18 | 1 | -4/+1 |
| | | |||||
* | | Implement AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO property | Chris Robinson | 2007-12-18 | 1 | -3/+9 |
| | |