Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Don't ramp gains when starting a sound from the beginning | Chris Robinson | 2008-11-13 | 1 | -3/+17 |
| | |||||
* | Include float.h if it exists, for _RC_CHOP and _MCW_RC | Chris Robinson | 2008-10-14 | 1 | -0/+4 |
| | |||||
* | Remove another unused source member | Chris Robinson | 2008-10-10 | 1 | -1/+0 |
| | |||||
* | Use a modulo to keep the buffer position in range for looping sources | Chris Robinson | 2008-10-10 | 1 | -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 stops | Chris Robinson | 2008-10-09 | 1 | -0/+2 |
| | |||||
* | Remove unneeded source member variable | Chris Robinson | 2008-10-09 | 1 | -1/+0 |
| | |||||
* | Only send one channel through the wet path | Chris Robinson | 2008-10-09 | 1 | -149/+106 |
| | |||||
* | Increase max pitch to 65536 | Chris Robinson | 2008-10-09 | 1 | -4/+4 |
| | | | | This should be safe now | ||||
* | Simplify the lerp function | Chris Robinson | 2008-10-09 | 1 | -1/+1 |
| | |||||
* | Don't apply the wet path for multi-channel buffers | Chris Robinson | 2008-10-09 | 1 | -10/+0 |
| | |||||
* | Skip mixing if the read position is beyond the end of the buffer | Chris Robinson | 2008-10-09 | 1 | -3/+8 |
| | |||||
* | The wet path should be silent if no effect is set on the slot | Chris Robinson | 2008-10-09 | 1 | -1/+2 |
| | |||||
* | Don't hold the whole-number position in the fractional value | Chris Robinson | 2008-10-02 | 1 | -24/+19 |
| | | | | This will help prevent overflows when the max pitch is increased | ||||
* | Use a new low-pass filter, based on the I3DL2 spec | Chris Robinson | 2008-10-02 | 1 | -47/+40 |
| | | | | Many thanks to Christopher Fitzgerald, for helping with it | ||||
* | Air absorption factor is applied to the dB value, not linear gain | Chris Robinson | 2008-09-22 | 1 | -13/+15 |
| | |||||
* | Fixup some source parameter calculations | Chris Robinson | 2008-09-16 | 1 | -28/+49 |
| | |||||
* | Use a 12dB/oct rolloff instead of 24 for the lowpass filter | Chris Robinson | 2008-09-13 | 1 | -14/+10 |
| | |||||
* | Clear the end of the buffer when at the end of the queue and not looping | Chris Robinson | 2008-09-06 | 1 | -0/+2 |
| | |||||
* | Remove unneeded source struct member | Chris Robinson | 2008-08-15 | 1 | -4/+1 |
| | |||||
* | Overwrite the input wet sample with the output | Chris Robinson | 2008-08-14 | 1 | -6/+6 |
| | |||||
* | Ramp channel gains to remove pops and clicks from abrupt changes | Chris Robinson | 2008-08-14 | 1 | -20/+52 |
| | | | | Thanks to Christopher Fitzgerald for helping me work on it | ||||
* | Set FPU mode to round toward zero for mixing | Chris Robinson | 2008-08-08 | 1 | -0/+17 |
| | |||||
* | Remove unnecessary casting | Chris Robinson | 2008-08-08 | 1 | -8/+16 |
| | |||||
* | Prevent a 0 or negative increment for the buffer position | Chris Robinson | 2008-08-05 | 1 | -0/+2 |
| | | | | Thanks to Christopher Fitzgerald for pointing these last two problems out | ||||
* | Fix some calculations for the reverb buffer | Chris Robinson | 2008-07-26 | 1 | -25/+22 |
| | |||||
* | Make the filter processing function inline | Chris Robinson | 2008-07-26 | 1 | -0/+36 |
| | |||||
* | Implement yet another low-pass filter | Chris Robinson | 2008-07-25 | 1 | -16/+9 |
| | | | | This one using the Butterworth IIR filter design | ||||
* | Specify padding per buffer, and make sure it's large enough for the filter step | Chris Robinson | 2008-07-24 | 1 | -5/+5 |
| | |||||
* | Don't advertise extra samples for mixing | Chris Robinson | 2008-07-23 | 1 | -3/+2 |
| | |||||
* | Implement an alternative low-pass filter | Chris Robinson | 2008-07-23 | 1 | -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 | ||||
* | Implement doppler factor source property | Chris Robinson | 2008-07-15 | 1 | -1/+1 |
| | |||||
* | Add the reverb room rolloff to the source room rolloff, not override | Chris Robinson | 2008-07-15 | 1 | -1/+1 |
| | |||||
* | Reduce the mix buffer sizes by half | Chris Robinson | 2008-07-08 | 1 | -1/+1 |
| | | | | Nearly 3MB is a bit much. Could reduce it further, but this is good enough for now. | ||||
* | Leave SourceToListener untransformed for use with untransformed velocities | Chris Robinson | 2008-07-03 | 1 | -6/+16 |
| | | | | | Distance is also left untransformed so cone calculations with SoundToListener are correct | ||||
* | Fix source calculations for AL_SOURCE_RELATIVE mode | Chris Robinson | 2008-05-18 | 1 | -18/+22 |
| | | | | | | Make sure the source position and direction are properly put into listener- space before working with them, and don't calculate the listener velocity for relative coordinates | ||||
* | Check the right struct member for the filter type | Chris Robinson | 2008-04-12 | 1 | -2/+2 |
| | |||||
* | Fast float-to-int function is no longer needed | Chris Robinson | 2008-02-08 | 1 | -14/+2 |
| | |||||
* | Remove unnecessary casting | Chris Robinson | 2008-02-08 | 1 | -2/+2 |
| | |||||
* | Add an option for duplicating stereo sources on the back speakers | Chris Robinson | 2008-02-06 | 1 | -6/+17 |
| | |||||
* | Use the correct channel ordering for Windows | Chris Robinson | 2008-01-27 | 1 | -0/+40 |
| | |||||
* | 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 |