Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Implement AL_EFFECT_REVERB | Chris Robinson | 2008-01-18 | 1 | -0/+9 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 include alAuxEffectSlot.h in alSource.h | Chris Robinson | 2008-01-16 | 1 | -2/+1 |
| | |||||
* | Make sure sources are deleted with the context | Chris Robinson | 2008-01-16 | 1 | -0/+2 |
| | |||||
* | Keep track of references to effect slots, so they aren't deleted while in use | Chris Robinson | 2008-01-16 | 1 | -0/+2 |
| | |||||
* | Store a reference to the effect slot in a source's send, not a copy | Chris Robinson | 2008-01-16 | 1 | -1/+1 |
| | |||||
* | Allow getting and setting reverb parameters, as well as setting reverb effects | Chris Robinson | 2008-01-15 | 1 | -0/+17 |
| | | | | Reverb is still not implemented. The parameters just no-op for now. | ||||
* | Add reverb parameters | Chris Robinson | 2008-01-15 | 1 | -0/+15 |
| | |||||
* | Store effect slots in the context | Chris Robinson | 2008-01-15 | 2 | -1/+4 |
| | |||||
* | Don't append _struct to the effect slot struct name | Chris Robinson | 2008-01-15 | 1 | -2/+2 |
| | |||||
* | Move include so win32 gets it too, and remove unnecessary line | Chris Robinson | 2008-01-15 | 1 | -2/+2 |
| | |||||
* | Add support for AL_LOKI_quadriphonic | Chris Robinson | 2008-01-14 | 1 | -0/+3 |
| | |||||
* | Add missing stdio include | Chris Robinson | 2008-01-14 | 1 | -0/+1 |
| | |||||
* | Close dangling devices when exiting | Chris Robinson | 2008-01-14 | 1 | -0/+2 |
| | |||||
* | Keep track of open devices | Chris Robinson | 2008-01-14 | 1 | -0/+2 |
| | |||||
* | Merge branch 'master' into efx-experiment | Chris Robinson | 2008-01-11 | 1 | -0/+28 |
|\ | |||||
| * | Add a wave file writing backend | Chris Robinson | 2008-01-11 | 1 | -0/+1 |
| | | |||||
| * | Use nanosleep instead of usleep | Chris Robinson | 2008-01-11 | 1 | -1/+11 |
| | | | | | | | | So not to rely on the non-standard unistd.h header | ||||
| * | Add Sleep wrapper | Chris Robinson | 2008-01-11 | 1 | -0/+1 |
| | | |||||
| * | Add a timing wrapper, using gettimeofday | Chris Robinson | 2008-01-11 | 1 | -0/+16 |
| | | |||||
* | | Merge branch 'master' into efx-experiment | Chris Robinson | 2008-01-04 | 2 | -0/+111 |
|\| | |||||
| * | Add the Bauer stereophonic-to-binaural DSP (bs2b) code and hooks | Chris Robinson | 2008-01-03 | 2 | -0/+111 |
| | | |||||
* | | Merge branch 'master' into efx-experiment | Chris Robinson | 2007-12-31 | 3 | -23/+24 |
|\| | |||||
| * | Remove obsolete comment | Chris Robinson | 2007-12-31 | 1 | -2/+0 |
| | | |||||
| * | Add some more formats | Chris Robinson | 2007-12-31 | 1 | -3/+15 |
| | | |||||
| * | Make some defines local to ALu.c | Chris Robinson | 2007-12-31 | 1 | -6/+0 |
| | | |||||
| * | Fix includes so alMain.h doesn't include so much by itself | Chris Robinson | 2007-12-31 | 1 | -8/+2 |
| | | |||||
| * | Don't append _struct to the source struct name | Chris Robinson | 2007-12-31 | 1 | -2/+2 |
| | | |||||
| * | Remove unused macros | Chris Robinson | 2007-12-31 | 1 | -4/+0 |
| | | |||||
| * | Implement AL_EXT_FLOAT32 | Chris Robinson | 2007-12-28 | 1 | -0/+3 |
| | | |||||
| * | Allow 5.1 channel output | Chris Robinson | 2007-12-26 | 2 | -2/+4 |
| | | | | | | | | This doesn't use the center or LFE channel in spatial calculations, however | ||||
| * | Prevent possible buffer overflow in AL_PRINT | Chris Robinson | 2007-12-22 | 1 | -1/+3 |
| | | |||||
* | | Merge branch 'master' into efx-experiment | Chris Robinson | 2007-12-20 | 1 | -5/+5 |
|\| | |||||
| * | MacOSX doesn't like global szDebug and g_mutex symbol names | Chris Robinson | 2007-12-19 | 1 | -5/+5 |
| | | |||||
* | | Implement AL_AUXILIARY_SEND_FILTER_GAIN_AUTO property | Chris Robinson | 2007-12-18 | 1 | -0/+1 |
| | | |||||
* | | Implement AL_ROOM_ROLLOFF_FACTOR property | Chris Robinson | 2007-12-18 | 1 | -0/+2 |
| | | |||||
* | | Report one max auxiliary send per source | Chris Robinson | 2007-12-18 | 1 | -1/+4 |
| | | |||||
* | | Remove unneeded struct member | Chris Robinson | 2007-12-18 | 1 | -3/+0 |
| | | |||||
* | | Add AL_EFFECTSLOT_AUXILIARY_SEND_AUTO property (still unimplemented) | Chris Robinson | 2007-12-18 | 1 | -0/+1 |
| | | |||||
* | | Implement AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO property | Chris Robinson | 2007-12-18 | 1 | -0/+1 |
| | | |||||
* | | Implement AL_EFFECTSLOT_GAIN property | Chris Robinson | 2007-12-18 | 1 | -0/+2 |
| | | |||||
* | | Add initial auxiliary send paths | Chris Robinson | 2007-12-18 | 1 | -0/+6 |
| | | |||||
* | | Implement AL_EFFECTSLOT_EFFECT property | Chris Robinson | 2007-12-18 | 1 | -0/+3 |
| | | |||||
* | | Implement AL_AIR_ABSORPTION_FACTOR source property | Chris Robinson | 2007-12-18 | 2 | -0/+3 |
| | | |||||
* | | Add AL_FILTER_LOWPASS support | Chris Robinson | 2007-12-17 | 1 | -0/+7 |
| | | | | | | | | Direct filters only, since auxiliary sends and slots aren't available yet | ||||
* | | Implement AL_CONE_OUTER_GAINHF source property | Chris Robinson | 2007-12-17 | 1 | -0/+1 |
| | | |||||
* | | Implement AL_DIRECT_FILTER_GAINHF_AUTO source property | Chris Robinson | 2007-12-17 | 1 | -0/+2 |
| | | |||||
* | | Implement basic lowpass filter path | Chris Robinson | 2007-12-17 | 1 | -0/+3 |
| | | |||||
* | | Add AL_METERS_PER_UNIT listener property | Chris Robinson | 2007-12-17 | 1 | -0/+1 |
| | | |||||
* | | Add new listener property definition | Chris Robinson | 2007-12-17 | 1 | -0/+2 |
| | | |||||
* | | Add effect type enums | Chris Robinson | 2007-12-17 | 1 | -0/+12 |
| | |