Chris Robinson
abf0bd13ca
Support capture with mmdevapi
2014-12-19 15:49:37 -08:00
Chris Robinson
f300be00ae
Handle logging Unicode strings on Windows
2014-12-19 10:14:02 -08:00
Chris Robinson
7f696edf13
Set the right variable when assuming CPU extensions
2014-12-19 08:50:30 -08:00
Chris Robinson
c3a36d9b19
Do up to 256 samples at a time with multi-step loops
2014-12-18 09:23:55 -08:00
Chris Robinson
9897fca794
Inline a couple functions
2014-12-18 08:52:04 -08:00
Chris Robinson
13c2dd7115
Offset to the buffer's channel start first
2014-12-18 08:42:03 -08:00
Chris Robinson
94ad5b289f
Avoid duplicate calculations
2014-12-18 07:42:14 -08:00
Chris Robinson
6086c344dc
Assert that there's a buffer for mixing
...
For Clang's static analysis.
2014-12-17 10:57:35 -08:00
Chris Robinson
4b91d34d58
Set a couple pulse callbacks to NULL during reset, and minor cleanups
2014-12-17 10:10:28 -08:00
Chris Robinson
af193e9fb3
Don't kill pulseaudio's mixer thread if it's already killed
2014-12-17 09:47:58 -08:00
Chris Robinson
c37275efdc
Use aluVector and aluMatrix in a couple more places
2014-12-16 10:36:44 -08:00
Chris Robinson
c48a6196ad
Constify some variables
2014-12-16 09:20:35 -08:00
Chris Robinson
d2adefe063
Pass a vectory to aluMatrixVector
2014-12-16 07:42:17 -08:00
Chris Robinson
3b8f54d572
Use aluVector in some more places
2014-12-16 07:20:27 -08:00
Chris Robinson
97f6d302fe
Add explicit matrix and vector types to operate with
2014-12-16 06:29:31 -08:00
Chris Robinson
1b7c554068
Multiply samples with the cubic coeffs before transposing
...
This avoids having to transpose the cubic coefficients.
2014-12-15 17:13:31 -08:00
Chris Robinson
a0e7ad493b
Load samples with _mm_loadu_ps in the cubic SSE resamplers
2014-12-15 15:27:31 -08:00
Chris Robinson
177dd95686
Add SSE2 and SSE4.1 cubic resamplers
2014-12-15 13:58:41 -08:00
Chris Robinson
a606bbc7f1
Use a lookup table to do cubic resampling
2014-12-15 12:23:28 -08:00
Chris Robinson
05529d66ae
Don't pass float literals for unsigned ints
2014-12-06 18:58:16 -08:00
Chris Robinson
3d1f1ffd7f
Fix a potential leak when opening a data file on Windows
2014-12-01 19:27:09 -08:00
Chris Robinson
0c74a14543
Remove IrSize from DirectParams
2014-11-29 03:32:25 -08:00
Chris Robinson
cf50f44f4d
Remove an unnecessary maxf()
2014-11-29 02:06:08 -08:00
Chris Robinson
6883619b14
Check mmdevice endpoint for being headphones
2014-11-27 17:43:37 -08:00
Chris Robinson
8d6d2e9a2b
Avoid unnecessary uses of ALCdevice_Lock and ALCdevice_Unlock
2014-11-27 15:27:43 -08:00
Chris Robinson
82780a703b
Set headphones when dsound reports headphones
2014-11-27 02:30:52 -08:00
Chris Robinson
1db8392344
Improve ambient gain calculations
2014-11-25 22:24:29 -08:00
Chris Robinson
bdbf6613ef
Support B-Format output with the wave file writer
2014-11-25 22:20:00 -08:00
Chris Robinson
be476b3729
Halve the gain of the Cube8 coefficients
2014-11-25 18:11:45 -08:00
Chris Robinson
0a3e11b75e
Fix reverb panning direction
2014-11-25 17:55:17 -08:00
Chris Robinson
aa231d25a7
Shorten a couple lines
2014-11-25 16:47:39 -08:00
Chris Robinson
efb5c5eecd
Use linear gain stepping
2014-11-25 02:08:48 -08:00
Chris Robinson
42ef85d3f6
Pass the step count to the Update*Stepping methods
2014-11-25 01:38:27 -08:00
Chris Robinson
70ddca33ba
Fix __ALSOFT_REVERSE_Z with non-HRTF output
2014-11-25 01:15:26 -08:00
Chris Robinson
8e6c131b36
Use a separate method to set initial HRTF coefficients
2014-11-24 22:26:42 -08:00
Chris Robinson
cbe22763ee
Require at least pulse client 0.9.16
2014-11-24 13:15:04 -08:00
Chris Robinson
fc00c1c009
Trace PulseAudio's active port
2014-11-24 12:45:51 -08:00
Chris Robinson
d6ebf5d1b6
Make CalcHrtfDelta more generic
2014-11-24 01:53:45 -08:00
Chris Robinson
13608d4d61
Move the voice's last position and gain out of the Hrtf container
2014-11-24 01:31:38 -08:00
Chris Robinson
c37a971947
Rename step to steps
2014-11-24 00:24:12 -08:00
Chris Robinson
2111fad92f
Use a macro to reduce code duplication
2014-11-23 23:45:30 -08:00
Chris Robinson
391ab19b02
Avoid using ALCdevice_Lock and ALCdevice_Unlock unnecessarily
2014-11-23 21:05:42 -08:00
Chris Robinson
65620e0ae5
Update a comment
2014-11-23 20:43:17 -08:00
Chris Robinson
2c533fdc36
Set headphones when pulse reports using the headphones port
2014-11-23 20:41:29 -08:00
Chris Robinson
033cf3dca9
Add a boolean to specify if a device is headphones
2014-11-23 18:23:24 -08:00
Chris Robinson
837b38b166
Swap delta and step, remove double semicolons
2014-11-23 18:07:19 -08:00
Chris Robinson
5464a5c630
Remove unused channel enums
2014-11-23 14:50:31 -08:00
Chris Robinson
e5601a062e
Remove the cube+diamond virtual layout
2014-11-23 14:43:29 -08:00
Chris Robinson
5796e7eae5
Add an option for a simpler virtual channel setup
...
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.
2014-11-23 13:49:19 -08:00
Chris Robinson
45d6bb58a4
Partially revert "Use a different method for HRTF mixing"
...
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.
2014-11-23 10:49:54 -08:00