Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Rename Suspend/ProcessContext since they are locking a mutex | Chris Robinson | 2011-06-30 | 1 | -22/+22 |
| | |||||
* | Allow alThunkAddEntry to return a proper error | Chris Robinson | 2011-06-17 | 1 | -3/+3 |
| | |||||
* | Avoid calling some AL functions from under the context lock | Chris Robinson | 2011-06-16 | 1 | -18/+30 |
| | | | | | | | There are still some more occurances to clear out (deletion in gen error, effects, some filters), which shall be coming up. There is a possibility for a deadlock between the listlock and the global/context lock, if another attempt to get the listlock is made while under the context lock. | ||||
* | Add support for ALC_EXT_DEDICATED | Chris Robinson | 2011-03-12 | 1 | -0/+4 |
| | |||||
* | Rename OUTPUTCHANNELS to something more descriptive | Chris Robinson | 2010-12-01 | 1 | -1/+1 |
| | |||||
* | Use the number of sends the device is configured for in more places | Chris Robinson | 2010-11-06 | 1 | -2/+4 |
| | |||||
* | Reduce some more indentation | Chris Robinson | 2010-09-21 | 1 | -24/+25 |
| | |||||
* | Reduce some indentation | Chris Robinson | 2010-09-21 | 1 | -48/+42 |
| | |||||
* | Improve some range checks | Chris Robinson | 2010-09-21 | 1 | -2/+4 |
| | |||||
* | Handle clicks by watching changes between updates | Chris Robinson | 2010-08-16 | 1 | -0/+3 |
| | |||||
* | Add click removal for wet sends | Chris Robinson | 2010-08-15 | 1 | -0/+2 |
| | |||||
* | Use a map for the effects list | Chris Robinson | 2010-05-18 | 1 | -3/+2 |
| | |||||
* | Use a UIntMap for the effect slot list | Chris Robinson | 2010-05-12 | 1 | -59/+45 |
| | |||||
* | Use a map to store sources and buffers | Chris Robinson | 2010-05-01 | 1 | -3/+3 |
| | | | | And do a lookup using a binary search instead of linear | ||||
* | Implement a skeleton Ring Modulator effect | Chris Robinson | 2010-04-08 | 1 | -0/+2 |
| | |||||
* | Shorten some variable names | Chris Robinson | 2010-03-26 | 1 | -32/+32 |
| | |||||
* | Remove unnecessary NULL check | Chris Robinson | 2010-03-24 | 1 | -2/+1 |
| | |||||
* | Mark extension functions with AL_API/ALC_API | Chris Robinson | 2010-03-23 | 1 | -11/+11 |
| | |||||
* | Cleanup and fixup Release* functions | Chris Robinson | 2010-03-20 | 1 | -3/+2 |
| | |||||
* | Avoid calling alDelete* from alGen* | Chris Robinson | 2010-03-20 | 1 | -3/+13 |
| | |||||
* | Get rid of more alIs* calls | Chris Robinson | 2010-03-16 | 1 | -30/+26 |
| | |||||
* | Pass the context to alSetError | Chris Robinson | 2010-03-16 | 1 | -27/+25 |
| | |||||
* | Rename some struct members for consistency | Chris Robinson | 2010-03-16 | 1 | -11/+11 |
| | |||||
* | Call the Update effect method for null effects | Chris Robinson | 2009-11-28 | 1 | -4/+2 |
| | |||||
* | Update source parameters only when they need changing | Chris Robinson | 2009-11-25 | 1 | -0/+26 |
| | |||||
* | Handle NULL effect objects as AL_EFFECT_NULL effects | Chris Robinson | 2009-11-05 | 1 | -20/+18 |
| | |||||
* | Handle setting AL_EFFECT_NULL effect types on a slot | Chris Robinson | 2009-11-05 | 1 | -0/+43 |
| | |||||
* | Add a method to update device-dependant effect parameters. | Chris Robinson | 2009-10-20 | 1 | -1/+6 |
| | | | | The effect state's update method will be called afterwards | ||||
* | Be context-agnostic in the effect Create functions | Chris Robinson | 2009-10-19 | 1 | -3/+3 |
| | | | | | | | This allows the effect Update functions to handle the playback frequency being changed. By default the effects assume a maximum frequency of 192khz, however, it can go higher at the cost of the sample buffers being cleared and the risk of an abort() if reallocation fails | ||||
* | Print source and auxiliary slot debug warnings from alcDestroyContext | Chris Robinson | 2009-08-16 | 1 | -5/+0 |
| | |||||
* | More modifications and fixes for context checks | Chris Robinson | 2009-08-16 | 1 | -56/+12 |
| | |||||
* | Use a function to retrieve the current context in an already-locked state | Chris Robinson | 2009-08-16 | 1 | -22/+11 |
| | | | | | This should help prevent race-conditions with a context being destroyed between breing retrieved and locked | ||||
* | Store the max number of auxiliary slots in the device | Chris Robinson | 2009-06-07 | 1 | -1/+3 |
| | |||||
* | Set an error if effect creation fails | Chris Robinson | 2009-05-31 | 1 | -11/+14 |
| | |||||
* | Apply slot gain on slot output, not input | Chris Robinson | 2009-05-29 | 1 | -1/+1 |
| | |||||
* | Don't expose effect-specific structures | Chris Robinson | 2009-05-29 | 1 | -25/+16 |
| | |||||
* | Add preliminary support for the EAX Reverb effect | Chris Robinson | 2009-05-29 | 1 | -14/+13 |
| | | | | | Not all parameters are supported yet, though it is a little more fuctional than standard reverb | ||||
* | Add the Echo effect | Chris Robinson | 2009-04-12 | 1 | -0/+20 |
| | |||||
* | Make auxiliary effect slot count configurable | Chris Robinson | 2009-04-11 | 1 | -2/+1 |
| | |||||
* | Move the WetBuffer into the effect slot object | Chris Robinson | 2009-04-11 | 1 | -1/+3 |
| | | | | This should make it easier to support multiple slots | ||||
* | Implement a new reverb effect | Chris Robinson | 2008-11-16 | 1 | -42/+9 |
| | | | | Code created and graciously provided by Christopher Fitzgerald | ||||
* | Use a new low-pass filter, based on the I3DL2 spec | Chris Robinson | 2008-10-02 | 1 | -2/+0 |
| | | | | Many thanks to Christopher Fitzgerald, for helping with it | ||||
* | Don't export extension function symbols from the lib | Chris Robinson | 2008-09-06 | 1 | -11/+11 |
| | |||||
* | Use arrays instead of pointer-to-arrays for the low-pass filter | Chris Robinson | 2008-07-26 | 1 | -3/+0 |
| | |||||
* | Implement yet another low-pass filter | Chris Robinson | 2008-07-25 | 1 | -0/+5 |
| | | | | This one using the Butterworth IIR filter design | ||||
* | Clarify implicit destruction warnings | Chris Robinson | 2008-07-22 | 1 | -1/+1 |
| | |||||
* | 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 effect slot thunk entry when deallocated forcefully | Chris Robinson | 2008-01-21 | 1 | -0/+1 |
| | |||||
* | Clean a couple debug messages | Chris Robinson | 2008-01-19 | 1 | -1/+1 |
| | |||||
* | Implement AL_EFFECT_REVERB | Chris Robinson | 2008-01-18 | 1 | -7/+58 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. :) |