Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Avoid unnecessary uses of ALCdevice_Lock and ALCdevice_Unlock | Chris Robinson | 2014-11-27 | 1 | -8/+8 | |
| | ||||||
* | Set headphones when dsound reports headphones | Chris Robinson | 2014-11-27 | 1 | -1/+3 | |
| | ||||||
* | Improve ambient gain calculations | Chris Robinson | 2014-11-25 | 2 | -5/+5 | |
| | ||||||
* | Support B-Format output with the wave file writer | Chris Robinson | 2014-11-25 | 10 | -2/+67 | |
| | ||||||
* | Halve the gain of the Cube8 coefficients | Chris Robinson | 2014-11-25 | 1 | -8/+8 | |
| | ||||||
* | Fix reverb panning direction | Chris Robinson | 2014-11-25 | 1 | -2/+2 | |
| | ||||||
* | Shorten a couple lines | Chris Robinson | 2014-11-25 | 1 | -3/+3 | |
| | ||||||
* | Use linear gain stepping | Chris Robinson | 2014-11-25 | 4 | -31/+25 | |
| | ||||||
* | Pass the step count to the Update*Stepping methods | Chris Robinson | 2014-11-25 | 1 | -25/+32 | |
| | ||||||
* | Fix __ALSOFT_REVERSE_Z with non-HRTF output | Chris Robinson | 2014-11-25 | 1 | -23/+21 | |
| | ||||||
* | Use a separate method to set initial HRTF coefficients | Chris Robinson | 2014-11-24 | 4 | -6/+52 | |
| | ||||||
* | Require at least pulse client 0.9.16 | Chris Robinson | 2014-11-24 | 1 | -48/+8 | |
| | ||||||
* | Trace PulseAudio's active port | Chris Robinson | 2014-11-24 | 1 | -2/+5 | |
| | ||||||
* | Make CalcHrtfDelta more generic | Chris Robinson | 2014-11-24 | 3 | -39/+40 | |
| | ||||||
* | Move the voice's last position and gain out of the Hrtf container | Chris Robinson | 2014-11-24 | 2 | -12/+13 | |
| | ||||||
* | Rename step to steps | Chris Robinson | 2014-11-24 | 1 | -4/+4 | |
| | ||||||
* | Use a macro to reduce code duplication | Chris Robinson | 2014-11-23 | 1 | -14/+12 | |
| | ||||||
* | Avoid using ALCdevice_Lock and ALCdevice_Unlock unnecessarily | Chris Robinson | 2014-11-23 | 1 | -12/+12 | |
| | ||||||
* | Update a comment | Chris Robinson | 2014-11-23 | 1 | -3/+3 | |
| | ||||||
* | Set headphones when pulse reports using the headphones port | Chris Robinson | 2014-11-23 | 1 | -0/+3 | |
| | ||||||
* | Add a boolean to specify if a device is headphones | Chris Robinson | 2014-11-23 | 2 | -1/+5 | |
| | ||||||
* | Swap delta and step, remove double semicolons | Chris Robinson | 2014-11-23 | 1 | -15/+15 | |
| | ||||||
* | Remove unused channel enums | Chris Robinson | 2014-11-23 | 2 | -4/+0 | |
| | ||||||
* | Remove the cube+diamond virtual layout | Chris Robinson | 2014-11-23 | 2 | -52/+8 | |
| | ||||||
* | Add an option for a simpler virtual channel setup | Chris Robinson | 2014-11-23 | 1 | -21/+53 | |
| | | | | | | With HRTF mixing, certain things are mixed to virtual channels to be filtered with HRTF later. This allows for using an 8-channel cube instead of a 14- channel cube+diamond. | |||||
* | Partially revert "Use a different method for HRTF mixing" | Chris Robinson | 2014-11-23 | 13 | -32/+520 | |
| | | | | | | | | | | | | The sound localization with virtual channel mixing was just too poor, so while it's more costly to do per-source HRTF mixing, it's unavoidable if you want good localization. This is only partially reverted because having the virtual channel is still beneficial, particularly with B-Format rendering and effect mixing which otherwise skip HRTF processing. As before, the number of virtual channels can potentially be customized, specifying more or less channels depending on the system's needs. | |||||
* | Handle loopback devices when deciding to use HRTF | Chris Robinson | 2014-11-23 | 1 | -20/+18 | |
| | ||||||
* | Remove a couple unnecessary traces | Chris Robinson | 2014-11-22 | 1 | -2/+0 | |
| | ||||||
* | Attempt to use BS2B when using headphones without HRTF | Chris Robinson | 2014-11-22 | 2 | -21/+23 | |
| | ||||||
* | Update some config descriptions | Chris Robinson | 2014-11-22 | 1 | -5/+8 | |
| | ||||||
* | Document the stereo-mode config option | Chris Robinson | 2014-11-22 | 1 | -0/+5 | |
| | ||||||
* | Rework HRTF decision logic | Chris Robinson | 2014-11-22 | 3 | -36/+64 | |
| | | | | | | This way takes into account a new stereo-mode config option, which when set to "headphones" will default to using HRTF. Eventually the device will also be able to specify if headphones are being used. | |||||
* | Remove an unused macro | Chris Robinson | 2014-11-22 | 1 | -3/+0 | |
| | ||||||
* | Rename Voice's NumChannels to OutChannels | Chris Robinson | 2014-11-22 | 3 | -8/+8 | |
| | ||||||
* | Only update the necessary channels | Chris Robinson | 2014-11-22 | 1 | -2/+2 | |
| | ||||||
* | Mix DirectChannel sources to the non-virtual channel buffers | Chris Robinson | 2014-11-22 | 1 | -1/+18 | |
| | ||||||
* | Store the number of output channels in the voice | Chris Robinson | 2014-11-22 | 3 | -1/+4 | |
| | ||||||
* | Remove an unnecessary union container | Chris Robinson | 2014-11-22 | 3 | -10/+8 | |
| | ||||||
* | 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 | 15 | -558/+198 | |
| | | | | | | | | | | | | | | | | | | | | | | | 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 | 3 | -2/+16 | |
| | ||||||
* | 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 | 2 | -54/+33 | |
| |