Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Move a warning check earlier | Chris Robinson | 2014-11-22 | 1 | -8/+8 |
| | |||||
* | Use a different method for HRTF mixing | Chris Robinson | 2014-11-22 | 12 | -517/+163 |
| | | | | | | | | | | | | | | | | | | | | | | | This new method mixes sources normally into a 14-channel buffer with the channels placed all around the listener. HRTF is then applied to the channels given their positions and written to a 2-channel buffer, which gets written out to the device. This method has the benefit that HRTF processing becomes more scalable. The costly HRTF filters are applied to the 14-channel buffer after the mix is done, turning it into a post-process with a fixed overhead. Mixing sources is done with normal non-HRTF methods, so increasing the number of playing sources only incurs normal mixing costs. Another benefit is that it improves B-Format playback since the soundfield gets mixed into speakers covering all three dimensions, which then get filtered based on their locations. The main downside to this is that the spatial resolution of the HRTF dataset does not play a big role anymore. However, the hope is that with ambisonics- based panning, the perceptual position of panned sounds will still be good. It is also an option to increase the number of virtual channels for systems that can handle it, or maybe even decrease it for weaker systems. | ||||
* | Balance the left and right channels for quad output | Chris Robinson | 2014-11-21 | 1 | -2/+2 |
| | |||||
* | Reformat a couple lines | Chris Robinson | 2014-11-21 | 1 | -10/+8 |
| | |||||
* | Initialize panning after setting up HRTF | Chris Robinson | 2014-11-21 | 1 | -5/+5 |
| | |||||
* | Allocate the DryBuffer dynamically | Chris Robinson | 2014-11-21 | 2 | -1/+15 |
| | |||||
* | Only warn when no data file could be opened | Chris Robinson | 2014-11-19 | 1 | -5/+2 |
| | |||||
* | Align UpdateSize for Neon, too | Chris Robinson | 2014-11-17 | 1 | -1/+1 |
| | |||||
* | Don't force UpdateSize to a multiple of 4 after buffer metrics were set | Chris Robinson | 2014-11-17 | 1 | -2/+0 |
| | |||||
* | Always get the pulseaudio sink info on device reset | Chris Robinson | 2014-11-17 | 1 | -16/+14 |
| | |||||
* | Mark a function as const | Chris Robinson | 2014-11-15 | 1 | -1/+1 |
| | |||||
* | Remove the unused angle and elevation from the device channel config | Chris Robinson | 2014-11-15 | 1 | -52/+33 |
| | |||||
* | Slightly increase the ambient gain volume | Chris Robinson | 2014-11-15 | 1 | -1/+8 |
| | |||||
* | Interpolate directional reverb gains with ambient based on vector length | Chris Robinson | 2014-11-15 | 1 | -4/+23 |
| | |||||
* | Add a method to convert channel enums to a label string | Chris Robinson | 2014-11-15 | 1 | -62/+64 |
| | |||||
* | Don't bother with LFE in the channel setup, set the values explicitly | Chris Robinson | 2014-11-12 | 1 | -90/+75 |
| | |||||
* | Add the ability to use custom output channel coefficients | Chris Robinson | 2014-11-10 | 1 | -0/+186 |
| | | | | | I'm not sure exactly how I want to do this yet, but this is a good starting point. | ||||
* | Don't use the device lock/unlock wrappers needlessly | Chris Robinson | 2014-11-08 | 1 | -4/+4 |
| | |||||
* | Remove the unused wide-stereo option | Chris Robinson | 2014-11-08 | 1 | -4/+0 |
| | |||||
* | Allow selecting the 5.1-rear channel config from the config file | Chris Robinson | 2014-11-08 | 1 | -0/+1 |
| | |||||
* | Remove the long-deprecated 'format' config option | Chris Robinson | 2014-11-08 | 1 | -49/+0 |
| | |||||
* | Only enable the BS2B filter with stereo output | Chris Robinson | 2014-11-07 | 1 | -1/+2 |
| | |||||
* | Go to the next voice when a source is stopped | Chris Robinson | 2014-11-07 | 1 | -1/+1 |
| | |||||
* | Rename a couple parameters | Chris Robinson | 2014-11-07 | 1 | -3/+3 |
| | |||||
* | Pas the output device channel count to ALeffectState::process | Chris Robinson | 2014-11-07 | 12 | -50/+47 |
| | |||||
* | Rename speakers to channels, and remove an old incorrect comment | Chris Robinson | 2014-11-07 | 3 | -25/+25 |
| | |||||
* | Use a separate macro for the max output channel count | Chris Robinson | 2014-11-07 | 14 | -47/+47 |
| | |||||
* | Fix 5.1 surround sound | Chris Robinson | 2014-11-07 | 10 | -108/+122 |
| | | | | | | | | | | | | | Apparently, 5.1 surround sound is supposed to use the "side" channels, not the back channels, and we've been wrong this whole time. That means the "5.1 Side" is actually the correct 5.1 setup, and using the back channels is anomalous. Additionally, this means the 5.1 buffer format should also use the the side channels instead of the back channels. A final note: the 5.1 mixing coefficients are changed so both use the original 5.1 surround sound set (with the surround channels at +/-110 degrees). So the only difference now between 5.1 "side" and 5.1 "back" is the channel labels. | ||||
* | Initialize a couple variables mingw complains about | Chris Robinson | 2014-11-06 | 1 | -2/+2 |
| | |||||
* | Use SZFMT for printing size_t | Chris Robinson | 2014-11-06 | 1 | -4/+4 |
| | |||||
* | Play zero-distance/zero-radius sources from the front | Chris Robinson | 2014-11-05 | 1 | -4/+4 |
| | |||||
* | Don't use FrontLeft and FrontRight to reference the dry buffer | Chris Robinson | 2014-11-05 | 1 | -4/+4 |
| | |||||
* | Don't increment the output buffer in the Write_ methods | Chris Robinson | 2014-11-05 | 1 | -13/+17 |
| | |||||
* | Remove the channel name from ChannelConfig | Chris Robinson | 2014-11-05 | 1 | -46/+50 |
| | |||||
* | Fix panning of multi-channel sources | Chris Robinson | 2014-11-05 | 1 | -1/+1 |
| | |||||
* | Set gains using the device channel index | Chris Robinson | 2014-11-05 | 3 | -40/+45 |
| | |||||
* | Add LFE to the speaker arrays | Chris Robinson | 2014-11-04 | 1 | -8/+12 |
| | |||||
* | Use a method to set omni-directional channel gains | Chris Robinson | 2014-11-04 | 8 | -22/+26 |
| | |||||
* | Use COUNTOF to set the number of speakers | Chris Robinson | 2014-11-04 | 1 | -7/+7 |
| | |||||
* | Add some missing breaks | Chris Robinson | 2014-11-02 | 1 | -0/+2 |
| | |||||
* | Minor update for ambisonics coefficients | Chris Robinson | 2014-11-02 | 1 | -11/+11 |
| | | | | | Small tweaks to balance the left and right speakers, and change unreasonably small values to 0. | ||||
* | Use the copy resampler only when there's no sub-sample offset | Chris Robinson | 2014-11-02 | 1 | -7/+6 |
| | |||||
* | Avoid the ALCdevice_Lock/Unlock wrapper in some places | Chris Robinson | 2014-11-01 | 1 | -2/+3 |
| | |||||
* | Support AL_EXT_MULAW_BFORMAT | Chris Robinson | 2014-10-31 | 1 | -1/+3 |
| | |||||
* | Support B-Format source rotation with AL_ORIENTATION | Chris Robinson | 2014-10-31 | 2 | -4/+47 |
| | |||||
* | Rename the source's Orientation to Direction | Chris Robinson | 2014-10-31 | 1 | -3/+3 |
| | |||||
* | Add preliminary AL_EXT_BFORMAT support | Chris Robinson | 2014-10-31 | 4 | -39/+106 |
| | | | | | Currently missing the AL_ORIENTATION source property. Gain stepping also does not work. | ||||
* | Check the absolute gain value for silence | Chris Robinson | 2014-10-31 | 3 | -3/+3 |
| | | | | | Future B-Format support will be using negative gains, which still need to be applied. | ||||
* | Use %zu (C99) for printing size_t | Chris Robinson | 2014-10-30 | 1 | -4/+4 |
| | |||||
* | Use the minimum of the two string lengths for comparison | Chris Robinson | 2014-10-13 | 1 | -1/+1 |
| |