aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/ALc.c
Commit message (Collapse)AuthorAgeFilesLines
* Rename activesource to voiceChris Robinson2014-08-211-17/+16
|
* Use an array of objects for active sources instead of pointersChris Robinson2014-08-211-10/+3
|
* Use a NULL source for inactive activesourcesChris Robinson2014-08-211-2/+6
| | | | Also only access the activesource's source field once per update.
* Update COPYING to the latest ↵François Cami2014-08-181-2/+2
| | | | https://www.gnu.org/licenses/old-licenses/lgpl-2.0.txt to fix the FSF' address Fix the FSF' address in the source
* ALC_SOFT_pause_device is finishedChris Robinson2014-08-121-1/+1
|
* Disable the autowah effectChris Robinson2014-08-061-0/+4
| | | | | | | | There's apparently some issues with it causing noise or killing the output. It might be due to the per-sample changes being too harsh for the filter to keep up with, but it's not something I can take care of in time for release. This commit should be reverted after release when work on fixing it can resume.
* Use an ATOMIC_INIT macro instead of ATOMIC_LOAD_UNSAFEChris Robinson2014-08-031-9/+9
|
* Use atomics for the device and context list headsChris Robinson2014-08-011-59/+96
|
* Rename ATOMIC_COMPARE_EXCHANGE to ATOMIC_COMPARE_EXCHANGE_STRONGChris Robinson2014-07-311-1/+1
|
* Explicitly pass the address of atomics and parameters that can be modifiedChris Robinson2014-07-261-18/+18
|
* Support C11 atomicsChris Robinson2014-07-231-1/+3
|
* Use generic atomics in more placesChris Robinson2014-07-221-23/+18
|
* Add macros for generic atomic functionalityChris Robinson2014-07-221-4/+4
|
* AL_SOFT_source_length is completeChris Robinson2014-07-051-1/+1
|
* AL_SOFT_MSADPCM is functionally completeChris Robinson2014-07-031-1/+1
|
* Load soundfont samples into an ALbufferChris Robinson2014-06-291-4/+0
| | | | | Also remove ALsoundfont's now-unneeded sample storage functions and struct fields.
* Avoid negating 'negative' variable namesChris Robinson2014-06-201-2/+2
|
* Don't pass the device to HRTF methodsChris Robinson2014-06-201-4/+4
|
* Don't overwrite the loopback device format with the HRTF formatChris Robinson2014-06-201-8/+18
|
* Add SSE2 and SSE4.1 linear resamplersTimothy Arceri2014-06-061-1/+7
| | | | | Currently the only way SSE 4.1 is detected is by using __get_cpuid, i.e. with GCC. Windows' IsProcessorFeaturePresent does not report SSE4.1 capabilities.
* Add an extension string for the in-progress source length extensionChris Robinson2014-05-261-1/+2
| | | | | This is the extension that allows you to get the full length of the source's buffer queue.
* Don't resume the backend if there's no contextsChris Robinson2014-05-241-10/+11
|
* Mark a few more functions as constChris Robinson2014-05-231-4/+4
|
* AL_SOFT_block_alignment is now considered doneChris Robinson2014-05-221-1/+1
|
* Support the band-pass filterChris Robinson2014-05-171-2/+4
|
* Implementing handling high-pass filter propertiesChris Robinson2014-05-171-1/+4
|
* Make RefCount a non-integer typeChris Robinson2014-05-141-8/+8
| | | | | It should only be accessed through the appropriate functions to ensure proper atomicity.
* Convert the mmdevapi backend to the new backend APIChris Robinson2014-04-251-1/+1
|
* Convert the DSound backend to the new APIChris Robinson2014-04-191-1/+1
|
* Rename AL_ONCE_INIT to AL_ONCE_FLAG_INITChris Robinson2014-04-181-1/+1
|
* Rename althread_once to be more C11-likeChris Robinson2014-04-171-2/+2
|
* Keep TlsDestructors within threads.cChris Robinson2014-04-171-4/+0
| | | | | This basically makes the threads implementation self-contained in threads.c and threads.h, except for the UIntMap/RWLock implementations.
* Don't use DllMain to call altss destructorsChris Robinson2014-04-171-17/+5
|
* Rename althread_key_ wrappers to altss_ and move it to threads.h/cChris Robinson2014-04-171-14/+17
|
* Use a C11-like mutex wrapper instead of CRITICAL_SECTIONsChris Robinson2014-04-161-8/+13
|
* Recognize NULL as an empty vector/stringChris Robinson2014-04-031-1/+1
|
* Use an al_string for the device nameChris Robinson2014-03-281-10/+9
|
* Add an al_string type and use it for the device listsChris Robinson2014-03-281-49/+28
|
* Wrap fopen calls under WindowsChris Robinson2014-03-281-1/+1
| | | | | | | The idea is that all filenames we deal with are encoded as UTF-8, but the Windows functions that take a char string interpret it using the ANSI codepage. So instead, we convert the UTF-8 string to a wchar string, and then use the wchar functions for proper extended character filename support.
* Add gain stepping to the send mixersChris Robinson2014-03-231-0/+7
|
* Remove the now-unneeded click removal buffers for the deviceChris Robinson2014-03-231-7/+0
| | | | | | They are still there for auxiliary sends. However, they should go away soon enough too, and then we won't have to mess around with calculating extra "predictive" samples in the mixer.
* Add a generic vector interface and use it for the active effect slotsChris Robinson2014-03-211-7/+14
|
* Use flexible array members to pad the device and context structsChris Robinson2014-03-201-4/+4
| | | | | This helps avoid the convoluted math otherwise required to ensure the default slot and listener, respectively, are aligned.
* Store some source mixing parameters in the active source structChris Robinson2014-03-191-2/+10
|
* Use a separate struct for tracking active sourcesChris Robinson2014-03-181-3/+10
|
* Store the old-style backend funcs in the wrapperChris Robinson2014-03-171-8/+4
|
* Return the original value from CompExchange*Chris Robinson2014-03-091-6/+6
|
* Add an extension to support MSADPCM buffer formatsChris Robinson2014-03-041-1/+3
|
* Add an extension to alter the block alignment for buffer unpack/pack opsChris Robinson2014-03-041-3/+5
| | | | | | | | | | | | | | | | This is for unpacking (reading, e.g. alBufferData) and packing (writing, e.g. alGetBufferSamplesSOFT) operations. The alignments are specified in sample frames, with 0 meaning the default (65 for IMA4, 1 otherwise). IMA4 alignment must be a multiple of 8, plus 1 (e.g. alignment = n*8 + 1), otherwise an error will occur during (un)packing. Chenging the block alignment does not affect already-loaded sample data, only future unpack/pack operations... so for example, this is perfectly valid: // Load mono IMA4 data with a block alignment of 1024 bytes, or 2041 sample // frames. alBufferi(buffer, AL_UNPACK_BLOCK_ALIGNMENT_SOFT, 2041); alBufferData(buffer, AL_FORMAT_MONO_IMA4, data, data_len, srate); alBufferi(buffer, AL_UNPACK_BLOCK_ALIGNMENT_SOFT, 0);
* Add a return value to FindHrtfFormatChris Robinson2014-02-231-6/+7
|