aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Move the AL_EFFECT_NULL state into a separate fileChris Robinson2013-05-234-96/+107
|
* Reword a couple cmake option namesChris Robinson2013-05-231-4/+4
|
* Don't explicitly check for fesetroundChris Robinson2013-05-222-6/+0
| | | | It's C99 standard with fenv.h, which we already check for.
* Use fegetenv/fesetenv to backup and restore the FPU stateChris Robinson2013-05-222-4/+8
|
* 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-225-8/+22
|
* Set the correct SSE bits for round-to-zeroChris Robinson2013-05-221-1/+1
|
* Use restrict instead of RESTRICTChris Robinson2013-05-2220-103/+99
|
* Recognize DSSPEAKER_5POINT1_SURROUND (and 7POINT1) with DSoundChris Robinson2013-05-221-4/+11
|
* Remove an unnecessary check for vsnprintfChris Robinson2013-05-221-10/+0
|
* 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-213-9/+8
| | | | Because Windows.
* Add a DELETE macro to help destroy objectsChris Robinson2013-05-213-10/+10
|
* Rename the effect state's Destroy method to DestructChris Robinson2013-05-2111-26/+28
|
* Use factories to create and destroy effect statesChris Robinson2013-05-2112-143/+513
|
* Remove some unused codeChris Robinson2013-05-211-5/+2
|
* Use a properly-defined history for the FILTER structChris Robinson2013-05-217-33/+28
|
* 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-2110-87/+58
|
* Use macros to help define vtables for effect statesChris Robinson2013-05-2110-166/+168
|
* 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-219-76/+76
|
* 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
|
* Fix possible overflow when converting float to intChris Robinson2013-05-201-2/+2
| | | | | Same as with the mixer, we can only use 25 bits of precision from floats.
* Use some macros to help with deriving typesChris Robinson2013-05-209-93/+85
|
* Remove an unused macroChris Robinson2013-05-201-2/+0
|
* 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-1810-15/+919
| | | | 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.
* Simplify al_try codeChris Robinson2013-03-247-65/+41
|
* QSA is always build-time linkedChris Robinson2013-03-241-6/+2
|
* Reorder some switch casesChris Robinson2013-03-241-34/+32
|
* Add a missing cast to silence MSVCChris Robinson2013-03-221-1/+1
|
* Document QSA backend options, and move PulseAudio's upChris Robinson2013-03-221-17/+31
|
* Add win64build to .gitignoreChris Robinson2013-03-191-0/+1
|
* Avoid an unnecessary size variableChris Robinson2013-03-191-6/+5
|
* Avoid explicitly checking each effect to createChris Robinson2013-03-191-53/+40
|
* Fix MMDevApi backend option textChris Robinson2013-03-191-4/+4
|
* Report the actual ALSA error if setting the buffer metrics failsChris Robinson2013-03-181-2/+2
|
* Use less math to clamp floats to -1...+1Chris Robinson2013-03-171-3/+3
| | | | | The previous code could have issues as precision lowers. This should hopefully work better while only using one if check instead of two.