Chris Robinson
0eb83fe462
Make option and block names case-sensitive
...
This is to avoid any issues with device names that can be case-sensitive, and
strcasecmp not working properly for non-ASCII-7 uppercase characters.
2015-09-04 16:09:09 -07:00
Chris Robinson
5f40daabc2
Reverse the device and block names for device-specific options
2015-09-04 15:47:48 -07:00
Chris Robinson
30398083f4
Update the changelog for initial 1.17 changes
2015-09-04 14:53:38 -07:00
Chris Robinson
9d6bb05ac6
Reposition the JACK backend entry
2015-09-04 14:52:23 -07:00
Chris Robinson
ce487d1e43
Use the correct device name for PulseAudio too
...
Like mmdevapi. duplicate device names will have a '#2 ' or such appended, so the
device's reported name may be incorrect.
2015-09-03 14:59:59 -07:00
Chris Robinson
23729c2083
Replace another vector loop with VECTOR_FIND_IF
2015-09-03 14:53:46 -07:00
Chris Robinson
87e4ec6620
Use the correct device name when opening a device by name
...
Duplicate device names will have a '#2 ' or such appended, so the device's
reported name may be incorrect.
2015-09-03 11:56:46 -07:00
Chris Robinson
7b4f1cfb4a
Handle the stereo-mode config option with alsoft-config
2015-08-28 22:09:07 -07:00
Chris Robinson
2cb974df40
Document the bformat config option
2015-08-28 15:53:17 -07:00
Chris Robinson
70c63dd576
Allow '#' in config block names
...
Since some devices may have it appended.
2015-08-28 14:59:45 -07:00
Chris Robinson
8fe421cba1
Document device-specific config options
2015-08-28 14:48:33 -07:00
Chris Robinson
e5fa4ee25d
Allow for device-specific config values
2015-08-28 14:10:39 -07:00
Chris Robinson
bbc16e2c15
Use ACN ordering for ambisonics coefficients arrays
...
Note that it still uses FuMa scalings internally. Coefficients loaded from
config files specify if they're FuMa (in both ordering and scaling) or N3D,
and will get reordered or rescaled as needed.
2015-08-28 10:58:30 -07:00
Chris Robinson
d17534332f
Update README acknowledgements
2015-08-26 13:06:19 -07:00
Chris Robinson
762cb00327
Update the hrtf.txt about the 48khz default dataset.
2015-08-26 12:52:18 -07:00
Chris Robinson
01f9cb4072
Update the default value for JACK's spawn-server option
2015-08-26 12:50:54 -07:00
Chris Robinson
baf1bd5b54
Avoid temporary vector objects
2015-08-24 03:02:58 -07:00
Chris Robinson
c292b9e4ff
Revert "Fix B-Format rotation"
...
This reverts commit 7ffb9b3056ab280d5d9408fd023f3cfb370ed103.
It was behaving as appropriate before (orienting left did pan it left for the
listener), I was apparently just misinterpreting the matrix.
2015-08-24 00:19:47 -07:00
Chris Robinson
7ffb9b3056
Fix B-Format rotation
...
The rotation erroneously specified the orientation of the source relative to
the sound field, whereas it should be the orientation of the sound field *and*
source relative to the listener. So now when the source is oriented left, the
front of the sound field is to the left of the listener.
2015-08-23 22:01:29 -07:00
Chris Robinson
8559af5d48
Minor reformating
2015-08-22 07:23:43 -07:00
Chris Robinson
6f59ebab27
Don't explicitly store first-order coefficients
...
It seems a simple scaling on the coefficients will allow first-order content to
work with second- and third-order coefficients, although obviously not with any
improved locality. That may be something to look into for the future, but this
is good enough for now.
2015-08-18 07:44:17 -07:00
Chris Robinson
53f6590b17
Set the WAVEFORMATEX cbSize field for mmdevapi capture
2015-08-18 00:19:22 -07:00
Chris Robinson
d5ab883da2
Define MixHrtf directly instead of through a SUFFIX macro
2015-08-15 01:37:46 -07:00
Chris Robinson
f6e52debb5
Fix handling of PulseAudio devices that have the same description
2015-08-14 19:05:16 -07:00
Chris Robinson
c1146d27c6
Also recognize "DirectSound" and "MMSYSTEM" on Windows
2015-08-14 17:02:11 -07:00
Chris Robinson
a5aaa3c9aa
Recognize "DirectSound3D" as a device name on Windows
2015-08-13 21:18:39 -07:00
Chris Robinson
7d4e3688e1
Wait for the OpenSL buffer queue to empty when stopping
2015-08-13 16:01:31 -07:00
Chris Robinson
f134fbac5c
Check for pthread_*_np functions in pthread_np.h when it exists
2015-08-13 15:20:34 -07:00
kcat
c2f88ffad6
Merge pull request #15 from aaronmjacobs/master
...
Make installation of headers and libraries optional
2015-08-12 15:23:30 -07:00
Aaron Jacobs
11e6e07a72
Make installation of headers and libraries optional
2015-08-12 15:08:14 -07:00
Chris Robinson
8fa4f276f8
Allow specifying ALC_DONT_CARE_SOFT for ALC_HRTF_SOFT
...
ALC_FALSE now indicates explicitly no HRTF mixing, while ALC_DONT_CARE_SOFT
is autodetect.
2015-07-06 12:37:21 -07:00
Chris Robinson
f58d985789
Change source radius behavior
...
For sources with a non-0 radius:
When distance <= radius, factor = distance/radius*0.5
When distance > radius, factor = 1 - asinf(radius/distance)/PI
Also, avoid using Position after calculating the localized direction and
distance.
2015-07-05 08:54:29 -07:00
Chris Robinson
4efe0d8696
Update a couple comments
2015-07-04 10:12:57 -07:00
Chris Robinson
d90dfc8d1f
Check for duplicate device names in the mmdevapi backend
2015-06-30 07:44:56 -07:00
Chris Robinson
c24f4f230f
Use the lockless ringbuffer for mmdevapi capture
...
The backend's capture funcs are already called while under a lock, so multiple
threads shouldn't be able to read from it at once.
2015-06-30 07:42:09 -07:00
Chris Robinson
e5964d6dc4
Double check the mmdevapi capture format
...
This isn't a real solution, but it should get IAudioClient_IsFormatSupported to
stop failing.
2015-06-07 13:05:07 -07:00
Chris Robinson
ed3f32b087
Don't define struct timespec with VS2015
2015-06-07 12:01:15 -07:00
Chris Robinson
5543000c5b
Check for snprintf in stdio.h
...
This works better for VS2015, which adds support for the function.
2015-06-07 11:16:11 -07:00
Chris Robinson
9f49ac0fda
Add a macro to simplify allocating and constructing an object
2015-05-18 16:39:44 -07:00
Chris Robinson
9479ea656b
Convert the solaris backend to the new API
2015-05-17 04:18:38 -07:00
Chris Robinson
3058205963
Add a method to reset the device
...
This basically acts as if the app created a new context with the specified
attributes (causing the device to reset with new parameters), then immediately
delete it. Existing contexts remain undisturbed, except for a temporary pause
while the device output is reconfigured.
2015-05-16 02:18:09 -07:00
Chris Robinson
80f0b5e736
Add a few more HRTF status values
...
DISABLED - Generic disabled status
ENABLED - Generic enabled status
DENIED - Not allowed (user has configured HRTF to be off)
REQUIRED - Forced (user has forced HRTF to be used)
HEADPHONES_DETECTED - Enabled because headphones were detected
UNSUPPORTED_FORMAT - Device format is not compatible with available filters
2015-05-16 01:06:26 -07:00
Chris Robinson
0f51b6df4b
Add an HRTF status query
...
This can report the status of HRTF, specifying if it's enabled or not and why
(currently only reports unsupported formats, but this may be extended).
2015-05-15 23:28:03 -07:00
kcat
c6dc1376e4
Merge pull request #11 from alexxvk/master
...
Fix mingw build
2015-05-03 16:08:33 -07:00
alexxvk
8846ad967f
Fix mingw64 build
2015-05-02 17:44:06 +06:00
Chris Robinson
8dfb1bc9db
Fix EFX_REVERB_PRESET_DRIVING_COMMENTATOR
2015-04-04 03:29:57 -07:00
Chris Robinson
19f79be57b
Fix static_assert when __COUNTER__ isn't available
2015-03-02 23:05:25 -08:00
Chris Robinson
6fcaccc964
Don't assert the increment value in the copy32 resampler
2015-02-15 13:15:49 -08:00
Chris Robinson
b4c9744d6a
Fix the HRTF B-Format decoder's W coefficient
...
And limit it to first-order again, since there will likely need to be extra
scalings applied.
2015-02-14 12:11:50 -08:00
Chris Robinson
18fed4e79a
Cheange some more unnecessarily small coefficients to 0
2015-02-11 22:23:33 -08:00