aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
Commit message (Collapse)AuthorAgeFilesLines
* Simplify and fix some filter gain calculationsChris Robinson2013-05-272-11/+17
|
* Use ALfilterState for the modulator high pass filterChris Robinson2013-05-271-25/+12
|
* Use ALfilterState for the master echo and reverb filtersChris Robinson2013-05-273-21/+24
|
* Use ALfilterState for the source direct and send filtersChris Robinson2013-05-272-27/+22
|
* Move ALEQFilter to alFilter.c/h and rename it to ALfilterStateChris Robinson2013-05-271-107/+10
|
* Cleanup the ALeffectStateFactory_create methodsChris Robinson2013-05-279-9/+18
| | | | | Get rid of the ALeffectStateFactory_create macro, and use the VCALL_NOARGS helper (requires adding the 'this' factory parameter).
* Use generic VCALL[_NOARGS] macros instead of type-specific wrappersChris Robinson2013-05-272-10/+10
|
* Rename a variableChris Robinson2013-05-261-8/+8
|
* Pre-apply the a[0] EQ filter coefficientChris Robinson2013-05-261-5/+11
| | | | Saves 20 fp divisions per sample
* Use the helper macros in more placesChris Robinson2013-05-267-343/+237
|
* Add helper macros to set an error and return, and use it in a few placesChris Robinson2013-05-263-85/+47
|
* Use an ALeffectProps union to store the effect propertiesChris Robinson2013-05-259-238/+268
|
* Use a Delete method for deletable objectsChris Robinson2013-05-259-85/+19
|
* Update the Null effect so it can act as a guide to new effectsChris Robinson2013-05-252-22/+101
|
* Use vtables for setting effect propertiesChris Robinson2013-05-249-117/+136
|
* Move remaining effects to the effects subdirChris Robinson2013-05-237-0/+0
|
* Move reverb to the effects subdirChris Robinson2013-05-231-0/+0
|
* Move the AL_EFFECT_NULL state into a separate fileChris Robinson2013-05-231-0/+104
|
* Use fegetenv/fesetenv to backup and restore the FPU stateChris Robinson2013-05-221-4/+4
|
* Merge the fesetround FPU handler with the assembly oneChris Robinson2013-05-221-22/+23
| | | | | | The assembly is only needed for SSE since we can't access the intrinsics without the -msse switch, which itself would cause SSE code to be generated elsewhere automtically.
* Check for SSE2 and set the denormals-are-zero bit for mixing if availableChris Robinson2013-05-222-4/+17
|
* Set the correct SSE bits for round-to-zeroChris Robinson2013-05-221-1/+1
|
* Use restrict instead of RESTRICTChris Robinson2013-05-2215-89/+89
|
* Recognize DSSPEAKER_5POINT1_SURROUND (and 7POINT1) with DSoundChris Robinson2013-05-221-4/+11
|
* Avoid using a temp buffer for al_printChris Robinson2013-05-221-12/+5
| | | | | | | | It's now using two *printf calls, which unfortuantely means there could be a race between the two and cause the message to break up if something else tries to print to the same file. This shouldn't really be a big deal since al_print isn't used that often, and it now allows for lines of practically unlimited length.
* Add casts to silence MSVCChris Robinson2013-05-222-2/+2
|
* Rename DELETE to DELETE_OBJChris Robinson2013-05-211-2/+2
| | | | Because Windows.
* Add a DELETE macro to help destroy objectsChris Robinson2013-05-211-2/+2
|
* Rename the effect state's Destroy method to DestructChris Robinson2013-05-219-19/+21
|
* Use factories to create and destroy effect statesChris Robinson2013-05-219-91/+376
|
* Use a properly-defined history for the FILTER structChris Robinson2013-05-215-20/+21
|
* Avoid storing the device frequency in the equalizerChris Robinson2013-05-211-18/+19
|
* Auto-generate wrappers to upcast objects before calling user methodsChris Robinson2013-05-218-75/+37
|
* Use macros to help define vtables for effect statesChris Robinson2013-05-218-131/+110
|
* Avoid storing the device frequency in the distortion stateChris Robinson2013-05-211-7/+5
|
* The effect state being destroyed can't be NULLChris Robinson2013-05-214-28/+22
|
* Rename some inheritance macrosChris Robinson2013-05-218-73/+73
|
* Pre-scale the chorus and flanger delays to be in samplesChris Robinson2013-05-212-36/+22
|
* Avoid storing some chorus and flanger properties in the effect stateChris Robinson2013-05-212-52/+32
|
* Process 64 samples at a time for chorus and flanger effectsChris Robinson2013-05-202-96/+130
|
* Process 64 samples at a time for some effectsChris Robinson2013-05-205-117/+201
| | | | | This should help with the non-interleaved samples of the output, and allow skipping channels that don't contribute to the output.
* Split flanger delay calculation into separate methodsChris Robinson2013-05-201-69/+60
|
* Split chorus delay calculation into separate methodsChris Robinson2013-05-201-37/+44
|
* Use some macros to help with deriving typesChris Robinson2013-05-208-93/+81
|
* Clear all the old channel gains to 0 before setting themChris Robinson2013-05-202-1/+5
|
* Fix a potential leak when mmdevapi fails to openChris Robinson2013-05-191-0/+3
|
* Avoid recalculating the same coefficientChris Robinson2013-05-191-11/+9
|
* Implement distortion and equalizer effectsChris Robinson2013-05-183-3/+820
| | | | Code provided by Mike Gorchak
* Modulator fixesChris Robinson2013-05-181-6/+5
| | | | | | | | Modulator functions return 0..1 instead of -1..+1 Apply high-pass filter before modulation Increase fractional precision to 24 bits from 16 Thanks to Mike Gorchak
* Fix overflow issues when converting float to intChris Robinson2013-04-221-7/+10
| | | | | | | | 32-bit floats can only reach between -16777215...+16777215 (25 bits) before it starts losing whole-number accuracy. Some compiler optimizations may break trying to multiply a float by 2147483647.0 when the result is given right to a float parameter, causing it instead to multiply by the nearest representable float value, 2147483648.0.