summaryrefslogtreecommitdiffstats
path: root/Alc/ALu.c
Commit message (Collapse)AuthorAgeFilesLines
* Use the panning algorithms to build the multi-channel source matrixChris Robinson2011-05-061-92/+132
| | | | | This prevents the stereo-duplication option from working. It should hopefully be restored soon.
* Remove some redundancyChris Robinson2011-05-061-6/+5
|
* Minor source update fixesChris Robinson2011-05-061-3/+3
|
* Remove the head_dampen optionChris Robinson2011-05-061-14/+0
| | | | Now that HRTF is properly supported, it's not needed
* Mark a couple more pointers as restrictedChris Robinson2011-05-061-2/+3
|
* Use the same filters for mono sources and multi-channelChris Robinson2011-05-031-8/+3
|
* Fix non-spatialized mono sourcesChris Robinson2011-05-021-1/+15
|
* Implement HRTF mixers for multi-channel sourcesChris Robinson2011-05-021-43/+178
|
* Use flags instead of separate boolsChris Robinson2011-05-011-4/+2
|
* Add an HRTF filter for mono sourcesChris Robinson2011-05-011-15/+33
| | | | | | | | | | The data is based on the KEMAR HRTF data provided by MIT, which can be found at <http://sound.media.mit.edu/resources/KEMAR.html>. The compact measurements were used. See hrtf_tables.inc for more information. The filter is only available for stereo output, using a 44100hz playback rate. Note also that it currently only applies to mono sounds, and the cf_level and head_dampen config options are ignored while it is active.
* Add a compatibility option to treat cone angles as half anglesChris Robinson2011-04-221-2/+2
| | | | | | | | | | All previous versions of the library treated the source cone angles as half angles, which is contrary to the spec. Setting the __ALSOFT_HALF_ANGLE_CONES environment variable to "true" or "1" restores the buggy behavior for compatibility with applications that expect it. This is not a config file option because new apps should not be made to depend on the old behavior.
* Convert full-width cone angle source properties to half-widthChris Robinson2011-04-221-3/+3
| | | | | | The spec intends the property values to be the full angle encompassed by the cones, but the calculation interprets them as the angle from the center point.
* Apply the device matrix to the multi-channel source matrixChris Robinson2011-04-141-72/+74
| | | | | | | Mono sources and effects already output according to the available output device channels. Multiplying the device matrix with the source matrix results in a matrix that has the same effect as applying the source matrix followed by the device matrix, so all the channel remixing can be done in one place.
* Invert the device matrix row/columnChris Robinson2011-03-131-4/+4
| | | | It is accessed now as mat[target][source]
* Remove more unneeded castsChris Robinson2011-03-131-5/+5
|
* Remove unnecessary castsChris Robinson2011-03-131-2/+2
|
* Use a matrix when rendering to the dry bufferChris Robinson2010-12-091-28/+78
|
* Make better use of the type range when converting from floatChris Robinson2010-12-091-22/+14
|
* Remove some now-unused functionsChris Robinson2010-12-081-106/+0
|
* Separate device format into 'channel config' and 'sample type' componentsChris Robinson2010-12-041-37/+26
|
* Add functions to write (signed) byte and ushort samples to devicesChris Robinson2010-12-021-1/+34
|
* Template-ize the device buffer writing functionsChris Robinson2010-12-011-83/+144
|
* Rename OUTPUTCHANNELS to something more descriptiveChris Robinson2010-12-011-13/+13
|
* Reorder some parameters for consistencyChris Robinson2010-11-291-4/+4
|
* Uninline some functionsChris Robinson2010-11-281-0/+106
| | | | Also add -Winline to the compiler command line to watch for future inline problems
* Rename some stuff for consistencyChris Robinson2010-11-281-2/+2
|
* Don't store the internal format in the bufferChris Robinson2010-11-281-4/+4
| | | | The type and channel config are good enough
* Use the enums in a couple more placesChris Robinson2010-11-271-4/+4
|
* Fix step calculationsChris Robinson2010-11-261-4/+0
|
* Fix some commentsChris Robinson2010-11-261-4/+5
|
* Properly clamp high pitch valuesChris Robinson2010-11-261-24/+35
|
* Make a FRACTIONONE macro, and use itChris Robinson2010-11-261-4/+4
|
* Slightly improve channel gain calculationsChris Robinson2010-11-261-2/+2
|
* Call MixSource directly, instead of through a function pointerChris Robinson2010-11-251-1/+1
|
* Reorder some stored source paramsChris Robinson2010-11-241-3/+3
|
* Get rid of the device timer stuffChris Robinson2010-11-211-1/+0
|
* Move aluMixData back to ALu.cChris Robinson2010-11-211-0/+217
|
* Use the number of sends the device is configured for in more placesChris Robinson2010-11-061-10/+0
|
* Rename a couple more variablesChris Robinson2010-10-101-37/+35
|
* Improve naming and placement of a couple variablesChris Robinson2010-10-101-12/+14
|
* Simplify a calculationChris Robinson2010-10-091-2/+1
|
* Better protect against negative attenuationChris Robinson2010-09-241-1/+4
|
* Store air absorption factor locallyChris Robinson2010-09-121-3/+5
|
* Prevent effectiveDist from going negativeChris Robinson2010-09-111-1/+1
|
* Combine non-attenuated source calculation functionsChris Robinson2010-08-071-156/+62
|
* Calculate the source stepping value with the param calculationsChris Robinson2010-08-071-5/+40
|
* Calculate the actual stepping value in the source update methodChris Robinson2010-08-071-4/+42
|
* Combine stereo and stereo-duplicate mixersChris Robinson2010-08-051-0/+144
| | | | | Use a separate update method for stereo sources to the set appropriate channel gains
* Move the core mixer functions to a separate source fileChris Robinson2010-08-031-752/+1
|
* Use a callback to specify the source update methodChris Robinson2010-08-031-7/+3
|