summaryrefslogtreecommitdiffstats
path: root/Alc/ALu.c
Commit message (Collapse)AuthorAgeFilesLines
* Pass the device to aluMixDataChris Robinson2009-09-151-6/+8
|
* Move the stereo-to-binaural filter to the deviceChris Robinson2009-09-151-2/+2
|
* Pass the frame count to aluMixDataChris Robinson2009-09-151-6/+0
|
* Split the source mixing loop into a separate functionChris Robinson2009-09-151-395/+392
| | | | Helps reduce the function size and indentation levels
* Add base support for ALC_EXT_disconnectChris Robinson2009-08-261-0/+36
| | | | Individual backends need to be updated to handle disconnection events
* Support 32-bit float outputChris Robinson2009-08-151-185/+115
|
* Use a function to convert float to unsigned byteChris Robinson2009-08-151-38/+45
|
* Store the requested mono/stereo source count and sends in the deviceChris Robinson2009-07-061-1/+1
| | | | | | | | Although the properties are set as context attributes, they are queried from the device. If multiple contexts per device are ever supported, it would not be straight forward about where to read the values from. This way, the attributes can be treated as device-specific attributes that are updated when a new context is created.
* Fix parsing of layout configuration stringChris Robinson2009-07-021-0/+1
|
* Move a couple inline functions into the headerChris Robinson2009-06-071-78/+0
|
* Apply slot gain on slot output, not inputChris Robinson2009-05-291-2/+2
|
* Slot gain changes should have an immediate effectChris Robinson2009-05-291-1/+1
|
* Don't expose effect-specific structuresChris Robinson2009-05-291-13/+2
|
* Add preliminary support for the EAX Reverb effectChris Robinson2009-05-291-11/+14
| | | | | Not all parameters are supported yet, though it is a little more fuctional than standard reverb
* Don't update the source's gains in the sample mixing loopChris Robinson2009-05-261-15/+15
| | | | Update copies stored on the stack instead, then update the source after mixing
* Make sure _CRT_SECURE_NO_WARNINGS is always defined for MSVCChris Robinson2009-05-261-2/+0
|
* Make the filter functions global inline, and use it for echoChris Robinson2009-05-161-33/+0
|
* Set some common macros in alu.hChris Robinson2009-05-161-41/+0
|
* Use the source reference distance to specify full panning magnitudeChris Robinson2009-05-161-1/+11
| | | | | | Sources that are closer than the specified reference distance will not pan to full magnitude, thus providing a smoother transition as it moves around near the listener
* Make the filter history buffer size flexibleChris Robinson2009-04-161-6/+6
| | | | | | | This lets the filter history buffer be as big as needed for a given use, so that it can have a size large enough for the more demanding cases, but not be wasteful for lesser-demanding cases, while not incuring the overhead of an added pointer indirection
* Use a 2-pole filter for the wet path low-pass filterChris Robinson2009-04-141-8/+10
| | | | | This should help keep CPU use from increasing a lot when the number of sends increases. Also changes the function names to reflect the difference
* Make the number of source sends variableChris Robinson2009-04-131-5/+12
| | | | The highest value is clamped to MAX_SENDS
* Reduce the number of send loopsChris Robinson2009-04-131-37/+28
|
* Add the Echo effectChris Robinson2009-04-121-0/+2
|
* Fix air absorptionChris Robinson2009-04-111-14/+14
|
* Pay attention to the MAX_SENDS valueChris Robinson2009-04-111-87/+128
|
* Move the WetBuffer into the effect slot objectChris Robinson2009-04-111-4/+8
| | | | This should make it easier to support multiple slots
* Constify some parametersChris Robinson2009-03-131-6/+7
|
* Calculate filter coefficients in aluMixDataChris Robinson2009-03-131-38/+44
|
* Clamp gain of multichannel sourcesChris Robinson2009-02-101-0/+2
|
* Include assert.h for assert()Chris Robinson2009-02-021-0/+1
|
* Use calculated distance from reference for air absorptionChris Robinson2009-01-301-1/+1
|
* Fix incorrect commentChris Robinson2009-01-301-1/+1
|
* Use M_PI since it is sure to be definedChris Robinson2009-01-271-4/+3
|
* Use a matrix for up- and down-mixing channelsChris Robinson2009-01-251-38/+82
|
* Duplicate stereo onto the side channels as well as the backChris Robinson2009-01-251-1/+4
|
* Don't read stereo layout when output is monoChris Robinson2009-01-251-0/+7
|
* Add options for user-configurable speaker arrangementsChris Robinson2009-01-251-0/+89
|
* 6.1 uses front- and back-center, not left- and right-back channelsChris Robinson2009-01-241-65/+55
|
* Seperate mixing loops depending on source channel configurationChris Robinson2009-01-241-56/+111
|
* Reimplement panning using lookup tables, based on a patch by Christian BorssChris Robinson2009-01-241-63/+194
| | | | | | This allows speaker positions to be specified by discrete angles around the listener, providing more flexibility and configurability in placement. Additional patches to take advantage of this are forthcoming.
* Apply the dry filter to multi-channel sourcesChris Robinson2008-12-101-15/+48
| | | | Unlike mono sources, they use 2 chained one-pole filters instead of 4
* Implement AL_EXTX_source_distance_modelChris Robinson2008-11-251-1/+1
| | | | | As with other EXTX extensions, this is subject to change and removal as the spec gets worked on
* Use a better dB-to-linear gain convertionChris Robinson2008-11-161-1/+1
|
* Implement a new reverb effectChris Robinson2008-11-161-59/+13
| | | | Code created and graciously provided by Christopher Fitzgerald
* Don't ramp gains when starting a sound from the beginningChris Robinson2008-11-131-3/+17
|
* Include float.h if it exists, for _RC_CHOP and _MCW_RCChris Robinson2008-10-141-0/+4
|
* Remove another unused source memberChris Robinson2008-10-101-1/+0
|
* Use a modulo to keep the buffer position in range for looping sourcesChris Robinson2008-10-101-1/+4
| | | | | A high pitch and low buffer size can cause a lot of unnecessary iterations otherwise, that just decrement the position
* Clamp source position to the buffer size when it stopsChris Robinson2008-10-091-0/+2
|