aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use an ATOMIC_INIT macro instead of ATOMIC_LOAD_UNSAFEChris Robinson2014-08-035-35/+21
|
* Use the right type for atomic compare-exchangeChris Robinson2014-08-011-4/+4
|
* Add some casts for inline assembly atomicsChris Robinson2014-08-012-7/+7
| | | | And remove an unnecessary void cast
* Use atomics for the device and context list headsChris Robinson2014-08-015-76/+112
|
* Make the source's buffer queue head and current queue item atomicChris Robinson2014-07-314-76/+89
|
* Remove an unused functionChris Robinson2014-07-312-9/+0
|
* Rename ATOMIC_COMPARE_EXCHANGE to ATOMIC_COMPARE_EXCHANGE_STRONGChris Robinson2014-07-314-13/+7
|
* Avoid a CPU memory fence, and better order memory barriers to accessesChris Robinson2014-07-311-13/+32
| | | | | | Code produced by GCC 4.9's C11 atomic implementation does not seem to add a CPU memory fence even with memory_order_seq_cst. Unnecessary memory fences will be a detriment to performance, so they should only be added if needed.
* Change Windows-based atomics for non-C99 compilersChris Robinson2014-07-271-17/+43
|
* Use a full memory barrier for WindowsChris Robinson2014-07-271-2/+2
|
* Use pulseaudio's write callback to signal a mixer proc wakeupChris Robinson2014-07-261-3/+11
|
* Don't try to use internal visibilityChris Robinson2014-07-261-8/+3
| | | | | A number of functions are passed as callbacks to external libraries, which internal visiiblity doesn't allow.
* Always set the active source's update methodChris Robinson2014-07-261-5/+7
| | | | | | | If the source is stopped, changes its buffer, then played again quickly, the source will never be removed from the active source list causing the update method to remain as it was. If the buffer was changed between mono and multi- channel, this causes it to use the wrong method.
* Explicitly pass the address of atomics and parameters that can be modifiedChris Robinson2014-07-269-130/+130
|
* Support C11 atomicsChris Robinson2014-07-235-57/+94
|
* Use generic atomics in more placesChris Robinson2014-07-229-62/+54
|
* Implement RefCount as a generic atomic typeChris Robinson2014-07-223-159/+116
|
* Add macros for generic atomic functionalityChris Robinson2014-07-229-86/+195
|
* Check the current directory first for data filesChris Robinson2014-07-211-2/+16
|
* Make some functions staticChris Robinson2014-07-202-6/+4
|
* Use the UNUSED macro instead of a void castChris Robinson2014-07-191-2/+1
|
* Stop trying to read samples if there was an errorChris Robinson2014-07-191-1/+1
|
* Trace when a soundfont buffer goes unusedChris Robinson2014-07-191-0/+3
|
* Load the default soundfont as a comma-separate list of filenameChris Robinson2014-07-191-6/+27
| | | | | | This allows multiple soundfont files to be "patched" together to create a single soundfont. For instance a GM soundfont with a separate soundfont for GS-only additions.
* Keep existing presets when loading in a new soundfontChris Robinson2014-07-191-3/+5
| | | | | | Note that alLoadSoundfontSOFT doesn't currently allow using a soundfont with existing presets. This is for being able to load and stack multiple soundfonts for the default soundfont.
* Use a macro to specify the fourcc formattersChris Robinson2014-07-181-21/+22
|
* Explicitly include libavutil/channel_layout.h for the channel layout stuffChris Robinson2014-07-181-0/+1
|
* Properly scale the first HRTF pass-through coefficientChris Robinson2014-07-171-4/+8
| | | | | Coefficients are scaled by 32767. For pass-through, this is attenuated by sqrt(0.5) to maintain a consistent perceived volume.
* Fix typo (overriden -> overridden)Chris Robinson2014-07-171-1/+1
|
* Cleanup some HRTF codeChris Robinson2014-07-161-68/+53
| | | | Use loops instead of duplicating code, rewrite some lines to be clearer.
* Fix omni-directional moving HRTF coeffsChris Robinson2014-07-141-4/+4
|
* Add a source radius property that determines the directionality of a soundChris Robinson2014-07-115-43/+74
| | | | | | | | | At 0 distance from the listener, the sound is omni-directional. As the source and listener become 'radius' units apart, the sound becomes more directional. With HRTF, an omni-directional sound is handled using 0-delay, pass-through filter coefficients, which is blended with the real delay and coefficients as needed to become more directional.
* Access the result macro parameter only onceChris Robinson2014-07-061-3/+4
|
* Rename some functionsChris Robinson2014-07-061-8/+8
|
* Store 4 modulators per map entryChris Robinson2014-07-063-24/+31
|
* Regroup and reorganize some macrosChris Robinson2014-07-061-40/+57
|
* Use VECTOR_FIND_IF instead of a manual loopChris Robinson2014-07-061-11/+7
|
* Allow ALsoundfont_deleteSoundfont to handle multiple buffersChris Robinson2014-07-062-10/+30
|
* Don't require pre-declaring vector typesChris Robinson2014-07-0611-43/+37
|
* AL_SOFT_source_length is completeChris Robinson2014-07-053-2/+9
|
* Don't set modulators that have no destinationChris Robinson2014-07-051-8/+10
|
* Avoid aliasing an int arrayChris Robinson2014-07-051-4/+4
|
* Fix a couple checksChris Robinson2014-07-051-2/+2
|
* Make some more functions staticChris Robinson2014-07-052-7/+6
|
* Use a helper function to check valid MIDI controller inputsChris Robinson2014-07-044-9/+19
|
* Set the 'valid' field when we have a valid buffer pointerChris Robinson2014-07-041-3/+1
|
* Move an inline definition to a more appropriate sourceChris Robinson2014-07-042-2/+3
|
* Make a function staticChris Robinson2014-07-041-2/+2
|
* AL_SOFT_MSADPCM is functionally completeChris Robinson2014-07-033-7/+7
|
* Avoid an undefined allocation of 0 bytesChris Robinson2014-07-011-1/+2
|