aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Add a missing cast to silence MSVCChris Robinson2013-03-221-1/+1
|
* 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.
* Use force_align_arg_pointer for QSAChris Robinson2013-03-151-0/+8
|
* Add a QSA backend for QNXChris Robinson2013-03-142-0/+1173
|
* Remove unnecessary NULL checksChris Robinson2013-03-132-22/+14
|
* Add Chorus and Flanger effectsChris Robinson2013-03-133-2/+806
| | | | Code provided by Mike Gorchak
* Move the effect-specific get/set methods to where the effect is implementedChris Robinson2013-03-134-0/+776
|
* Build an appropriate channel map for PulseAudioChris Robinson2013-02-081-2/+28
|
* Destroy the ring buffer when closing down a portaudio deviceChris Robinson2013-02-011-0/+3
|
* Avoid an underflow in the SSE mixers if BufferSize is less than 4Chris Robinson2012-12-241-2/+2
|
* Filter unneeded thread messages with MMDevApiChris Robinson2012-12-241-1/+3
|
* Add support for OpenSL ES 1.0.1 on AndroidChris Robinson2012-12-121-1/+8
|
* Trace the list of supported backendsChris Robinson2012-12-041-0/+7
|
* Use +/-90 degrees for stereo sources with non-HRTF stereo output.Chris Robinson2012-12-041-1/+9
|
* Add support for float32 output to CoreAudioChris Robinson2012-12-031-10/+13
|
* Use the correct multiplier for int32 output with CoreAudioChris Robinson2012-12-031-2/+2
|
* Lock the device before calling aluHandleDisconnectChris Robinson2012-12-029-2/+30
| | | | | | PulseAudio causes an assert if being relocked inside a callback on the worker thread, where aluHandleDisconnect is called. We can assume it's already locked there, so just make sure the device is locked before being calling it.
* Trace the opened device name in alcCaptureOpenDeviceChris Robinson2012-12-021-1/+1
|
* Use WARN when implicitly deleting resources with the contextChris Robinson2012-12-021-2/+2
|
* Explicitly check for malloc.hChris Robinson2012-11-251-1/+1
|
* malloc.h isn't standard, and is only needed for _aligned_mallocChris Robinson2012-11-251-1/+3
|
* Avoid locking PulseAudio's mainloop when starting and stopping captureChris Robinson2012-11-191-4/+0
| | | | | The mainloop is already locked by the caller, and double-locking interferes with the subsequent wait.
* Fix off-by-one error in the makehrtf dither and add a resample optionChris Robinson2012-11-181-831/+829
| | | | Also fixes some size_t type warnings
* Avoid storing the SSE state if it's not supportedChris Robinson2012-11-131-1/+4
|
* Include standard headers before conditional onesChris Robinson2012-11-041-7/+6
|
* Use the stored buffer metrics for the mmdevapi buffer sizeChris Robinson2012-11-041-9/+1
|
* Add rudimentary latency tracking for mmdevapiChris Robinson2012-11-041-1/+16
| | | | | | | | This won't be as granular as it could be, since it only updates when the wakeup event trips (which may or may not happen more often than OpenAL's mix updates). A more correct method would be to query GetCurrentPadding directly, but that would require sending a message to the processing thread and waiting for a reply, since we can't guarantee COM on the calling thread.
* Use an array to specify the offset for each channel of the device bufferChris Robinson2012-11-042-60/+73
| | | | This effectively inverts the DevChannels array