Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use a new low-pass filter, based on the I3DL2 spec | Chris Robinson | 2008-10-02 | 4 | -12/+3 |
| | | | | 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 | -0/+1 |
| | |||||
* | Use a 12dB/oct rolloff instead of 24 for the lowpass filter | Chris Robinson | 2008-09-13 | 1 | -4/+2 |
| | |||||
* | Add a Solaris playback backend | Chris Robinson | 2008-09-07 | 1 | -0/+1 |
| | |||||
* | Don't export extension function symbols from the lib | Chris Robinson | 2008-09-06 | 6 | -72/+72 |
| | |||||
* | Remove unneeded source struct member | Chris Robinson | 2008-08-15 | 2 | -14/+5 |
| | |||||
* | Clear channel volumes when starting a source | Chris Robinson | 2008-08-15 | 1 | -1/+9 |
| | |||||
* | Allow setting the EFX doppler factor source property | Chris Robinson | 2008-08-14 | 1 | -0/+7 |
| | |||||
* | Ramp channel gains to remove pops and clicks from abrupt changes | Chris Robinson | 2008-08-14 | 2 | -0/+20 |
| | | | | Thanks to Christopher Fitzgerald for helping me work on it | ||||
* | Include fenv.h if it exists for fesetround | Chris Robinson | 2008-08-08 | 1 | -0/+4 |
| | |||||
* | Improve getting and setting EFX filter parameters | Chris Robinson | 2008-07-26 | 1 | -37/+39 |
| | |||||
* | Use arrays instead of pointer-to-arrays for the low-pass filter | Chris Robinson | 2008-07-26 | 3 | -10/+4 |
| | |||||
* | Make the filter processing function inline | Chris Robinson | 2008-07-26 | 1 | -1/+2 |
| | |||||
* | Implement yet another low-pass filter | Chris Robinson | 2008-07-25 | 5 | -2/+24 |
| | | | | This one using the Butterworth IIR filter design | ||||
* | Use a temp pointer when realloc()ing | Chris Robinson | 2008-07-24 | 1 | -16/+26 |
| | | | | So the original data isn't lost on out-of-memory conditions | ||||
* | Specify padding per buffer, and make sure it's large enough for the filter step | Chris Robinson | 2008-07-24 | 3 | -22/+45 |
| | |||||
* | Implement an alternative low-pass filter | Chris Robinson | 2008-07-23 | 1 | -3/+0 |
| | | | | | | | | | 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 | ||||
* | Clarify implicit destruction warnings | Chris Robinson | 2008-07-22 | 5 | -5/+5 |
| | |||||
* | Store extension list with a pointer, not a per-context array | Chris Robinson | 2008-07-22 | 1 | -1/+1 |
| | |||||
* | Move (de)initialization into ALc.c and remove unneeded file | Chris Robinson | 2008-07-17 | 2 | -76/+0 |
| | |||||
* | Implement doppler factor source property | Chris Robinson | 2008-07-15 | 2 | -0/+13 |
| | |||||
* | Don't check the number of objects being deleted with the number currently ↵ | Chris Robinson | 2008-07-11 | 2 | -93/+80 |
| | | | | | | allocated Since apps can validly delete buffer 0, and delete the same source/buffer multiple times in a single call | ||||
* | Use pthread_mutexattr_setkind_np as a fallback to set a recursive mutex type | Chris Robinson | 2008-05-15 | 1 | -0/+7 |
| | | | | Some systems (FreeBSD) don't like setting it through pthread_mutexattr_settype | ||||
* | constify the pointer that holds the filename | Chris Robinson | 2008-03-22 | 1 | -8/+8 |
| | |||||
* | Define _WIN32_WINNT to 0x0500 when including windows.h | Chris Robinson | 2008-03-01 | 1 | -0/+3 |
| | | | | VC7 appears to require that value, or higher, set and fails otherwise | ||||
* | Preserve data and position when reallocating the reverb effect | Chris Robinson | 2008-02-18 | 1 | -3/+7 |
| | | | | Still not perfect, but better for when the size doesn't change | ||||
* | Remove FrameSize struct member | Chris Robinson | 2008-02-14 | 1 | -1/+0 |
| | |||||
* | Rename UpdateFreq device field to UpdateSize | Chris Robinson | 2008-02-12 | 1 | -1/+1 |
| | |||||
* | Include alext.h instead of redefining some enums | Chris Robinson | 2008-02-08 | 1 | -27/+4 |
| | |||||
* | Remove unneeded device struct member | Chris Robinson | 2008-02-08 | 1 | -1/+0 |
| | |||||
* | Add an option for duplicating stereo sources on the back speakers | Chris Robinson | 2008-02-06 | 1 | -0/+2 |
| | |||||
* | Remove unnecessary Channels field | Chris Robinson | 2008-01-25 | 1 | -1/+0 |
| | |||||
* | Remove effect slot thunk entry when deallocated forcefully | Chris Robinson | 2008-01-21 | 1 | -0/+1 |
| | |||||
* | More overflow protection | Chris Robinson | 2008-01-20 | 1 | -2/+9 |
| | |||||
* | Prevent float samples from overflowing when converting to 16-bit | Chris Robinson | 2008-01-20 | 1 | -1/+7 |
| | |||||
* | Clean a couple debug messages | Chris Robinson | 2008-01-19 | 2 | -2/+2 |
| | |||||
* | Close ALC first when exiting since devices might've been running when ↵ | Chris Robinson | 2008-01-19 | 1 | -2/+2 |
| | | | | deleting stuff | ||||
* | Implement AL_EFFECT_REVERB | Chris Robinson | 2008-01-18 | 2 | -7/+67 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. :) | ||||
* | Remove duplicated source freeing code | Chris Robinson | 2008-01-18 | 1 | -0/+1 |
| | |||||
* | Release effect slots when deleting sources | Chris Robinson | 2008-01-17 | 1 | -1/+8 |
| | |||||
* | Add missing config.h includes | Chris Robinson | 2008-01-16 | 11 | -9/+22 |
| | |||||
* | Don't include alAuxEffectSlot.h in alSource.h | Chris Robinson | 2008-01-16 | 2 | -2/+2 |
| | |||||
* | Fix debug comments | Chris Robinson | 2008-01-16 | 2 | -2/+2 |
| | |||||
* | Make sure sources are deleted with the context | Chris Robinson | 2008-01-16 | 2 | -0/+22 |
| | |||||
* | Keep track of references to effect slots, so they aren't deleted while in use | Chris Robinson | 2008-01-16 | 3 | -0/+18 |
| | |||||
* | Store a reference to the effect slot in a source's send, not a copy | Chris Robinson | 2008-01-16 | 2 | -8/+2 |
| | |||||
* | Allow getting and setting reverb parameters, as well as setting reverb effects | Chris Robinson | 2008-01-15 | 2 | -49/+310 |
| | | | | Reverb is still not implemented. The parameters just no-op for now. | ||||
* | Add reverb parameters | Chris Robinson | 2008-01-15 | 2 | -0/+31 |
| | |||||
* | Set default room rolloff factor | Chris Robinson | 2008-01-15 | 1 | -0/+1 |
| | |||||
* | Set the default outer cone gainhf | Chris Robinson | 2008-01-15 | 1 | -0/+1 |
| |