Chris Robinson
65a9b97e46
Move the InitRenderer method to panning.c
2016-04-14 15:27:19 -07:00
Chris Robinson
221281688f
Separate some long if-else blocks into a separate function
2016-04-14 14:24:52 -07:00
Chris Robinson
d924e3d6c4
Split aluInitPanning into separate functions for HRTF or UHJ
2016-04-14 10:44:57 -07:00
Chris Robinson
df0d225dbf
Properly make hq-mode default to off
2016-03-30 01:49:58 -07:00
Chris Robinson
2ccc1d1d8a
Move the aligned malloc functions to the common lib
2016-03-29 00:44:58 -07:00
Chris Robinson
e0466766d7
Include any first-order scaling in the FOAOut coefficients
2016-03-25 23:25:13 -07:00
Chris Robinson
3148986184
Implement AL_EXT_STEREO_ANGLES support
2016-03-25 14:40:44 -07:00
Chris Robinson
19b130c45d
Use the "decoder" config section instead of "ambisonics"
2016-03-25 13:55:23 -07:00
Chris Robinson
713ac9e679
Add a specific output for first-order sources
2016-03-22 17:52:20 -07:00
Chris Robinson
ce575718ef
Store the effect's output buffer in the effect state
2016-03-17 10:10:26 -07:00
Chris Robinson
55ff0c143e
Rename the BFormat channels to Aux
2016-03-16 06:49:35 -07:00
Chris Robinson
a3863d5834
Add config options to enable the hq ambisonic decoder
2016-03-16 01:36:57 -07:00
Chris Robinson
53fadf5497
Add a dual-band ambisonic decoder
...
This uses a virtual B-Format buffer for mixing, and then uses a dual-band
decoder for improved positional quality. This currently only works with first-
order output since first-order input (from the AL_EXT_BFROMAT extension) would
not sound correct when fed through a second- or third-order decoder.
This also does not currently implement near-field compensation since near-field
rendering effects are not implemented.
2016-03-15 05:08:05 -07:00
Chris Robinson
d648486bcd
Generalize GetChannelIdxByName
2016-03-10 14:29:44 -08:00
Chris Robinson
effb9d1e35
Keep track of the real output's channel names
2016-03-10 01:04:28 -08:00
Chris Robinson
a457157516
Organize the dry buffer properties into a struct
2016-03-09 23:43:57 -08:00
Chris Robinson
3e2672ec9f
Track the virtual and real output buffers ecplicitly
2016-03-09 22:57:38 -08:00
Chris Robinson
99f685d20d
Add an option for pair-wise stereo panning
2016-02-26 21:48:03 -08:00
Chris Robinson
ac91083ceb
Use 2-channel UHJ for stereo output
2016-02-26 16:09:06 -08:00
Chris Robinson
25732d0895
Calculate channel gain stepping just before mixing
2016-02-14 01:22:01 -08:00
Chris Robinson
c1f87414c5
Mix to multichannel for effects
...
This mixes to a 4-channel first-order ambisonics buffer. With ACN ordering and
N3D scaling, this makes it easy to remain compatible with effects that only
care about mono input since channel 0 is an unattenuated mono signal.
2016-01-28 00:02:46 -08:00
Chris Robinson
5d039309b3
Use doubles for the constructed listener matrix
...
This helps the stability of transforms to local space for sources that are at
or near the listener. With a single-precision matrix, even FLT_EPSILON might
not be enough to detect matching positions.
2015-11-11 08:19:33 -08:00
Chris Robinson
bd73cdab0d
Pass the appropriate BackendInfo explicitly to ProbeDevices
2015-10-28 18:10:12 -07:00
Chris Robinson
35c4aae3d6
Finalize ALC_SOFT_HRTF
2015-10-28 13:38:30 -07:00
Chris Robinson
e472cfcc53
Rename ALC_NUM_HRTF_SPECIFIER_SOFT to ALC_NUM_HRTF_SPECIFIERS_SOFT
2015-10-26 22:34:02 -07:00
Chris Robinson
a57fe89050
Lock the source queue for writing when updating the playback offset
2015-10-24 16:31:28 -07:00
Chris Robinson
6fc8cd3b29
Convert the PortAudio backend to the new backend API
2015-10-22 10:46:36 -07:00
Chris Robinson
6689c61ff4
Remove the MIDI code
...
The extension's not going anywhere, and it can't do anything fluidsynth can't.
The code maintenance and bloat is not worth keeping around, and ideally the AL
API would be able to facilitate MIDI-like behavior anyway (envelopes, start-at-
time, etc).
2015-10-20 18:01:27 -07:00
Chris Robinson
acb37edc4f
Make VerifyDevice and VerifyContext modify its parameter
2015-10-19 18:48:33 -07:00
Chris Robinson
0211831858
Move the FIR4 from SSE2 to SSE3
...
SSE3 can avoid the slow _MM_TRANSPOSE_PS4 call thanks to the inclusion of
horizontal adds.
2015-10-11 06:38:00 -07:00
Chris Robinson
4f4cadd756
Allow apps to request a specific HRTF
2015-10-07 03:29:53 -07:00
Chris Robinson
0eef6d9d51
Use the enumerated HRTF list for selecting an HRTF
...
Also report the proper specifier of the one currently in use.
2015-10-06 06:48:53 -07:00
Chris Robinson
a4c378dd00
Enumerate and list HRTFs per-device
2015-10-06 00:23:11 -07:00
Chris Robinson
aa10068ca2
Add methods to enumerate and query device HRTFs
...
Currently just returns a dummy entry.
2015-10-03 19:59:21 -07:00
Chris Robinson
07f80eb4e1
Move the resampler stuff to mixer.c where it's used
2015-10-01 00:34:13 -07:00
Chris Robinson
dc10e56bab
Implement a 6-point sinc-lanczos filter
2015-09-29 20:39:12 -07:00
Chris Robinson
ab6622a8d6
Replace the cubic resampler with a 4-point sinc/lanczos filter
2015-09-27 23:57:25 -07:00
Chris Robinson
3e60b18989
Don't keep selecting the mixer to use
2015-09-27 20:55:39 -07:00
Chris Robinson
83659db996
Return the number of properties written
2015-09-24 10:45:34 -07:00
Chris Robinson
ef43370927
Use a local var instead of multiple double-dereferencing
2015-09-24 10:18:29 -07:00
Chris Robinson
a774408753
Get rid of ALCdevice_GetLatency
2015-09-21 05:52:01 -07:00
Chris Robinson
5f5eebc4df
Allow the hrtf_tables option to be device-specific
2015-09-20 08:28:34 -07:00
Chris Robinson
db0f29f6d8
Fix updating listener params when forcing updates
2015-09-18 00:48:43 -07:00
Chris Robinson
2f1bfb5945
Add missing enum values
...
Spotted by Xavier Bouchoux.
2015-09-17 04:01:46 -07:00
Chris Robinson
483352f32b
Set both BS2B parameters at once
2015-09-08 15:04:42 -07:00
Chris Robinson
5d8a1c11b5
Avoid setting an HRTF-compatible format when it's disabled
2015-09-05 14:33:21 -07:00
Chris Robinson
365a010732
Don't store the HRTF request mode in the device flags
2015-09-05 01:32:12 -07:00
Chris Robinson
804909e1d7
Set a proper HRTF status when non-stereo output is used
2015-09-05 00:42:44 -07:00
Chris Robinson
28a516e8a5
Change the hrtf config option to expect auto/true/false instead of a bool
2015-09-04 20:16:48 -07:00
Chris Robinson
e5fa4ee25d
Allow for device-specific config values
2015-08-28 14:10:39 -07:00