Chris Robinson
530002e168
Avoid re-selecting the direct HRTF mix function
2017-08-07 01:38:26 -07:00
Chris Robinson
6eadccc99d
Replace makehrtf's dither
...
This uses a custom RNG instead of relying on the system-dependent rand(). It
also removes the high-pass/noise-shaping, to flatten the noise floor.
2017-08-01 23:43:25 -07:00
Chris Robinson
8a735d0ba9
Add a front-stablizer config option for surround sound modes
...
This improves a stereo (front-left + front-right) sound "image" by generating a
front-center channel signal. Done correctly, it helps reduce the comb effects
and phase errors associated with using only two speakers to simulate center
sounds.
Note that it shouldn't be used if the front-center channel is already included
in the positional audio mix (the dialog effect is okay). In general, it may
actually be better to exclude the front-center channel from the positional
audio mix and use this to generate front-center output.
2017-07-31 23:49:48 -07:00
Chris Robinson
88c0d22e7c
Don't bother returning the IR length for B-Format decoding
2017-07-31 01:20:42 -07:00
Chris Robinson
e5431bbef7
Print an error if the input channel isn't in the device
...
Rather than the other way around, if a device channel isn't in the channel map.
2017-07-31 01:11:36 -07:00
Chris Robinson
de51ba088e
Update default 5.1 and 6.1 coefficients to exclude front-center
...
Not all speaker kits have a front-center speaker capable of outputing full-
range content. It's best to err on the side of caution and not include front-
center for normal positional sound by default, leaving it instead for the
dedicated dialog effect.
2017-07-30 23:39:06 -07:00
Chris Robinson
bf9c36408a
Release 1.18.1
2017-07-29 22:09:21 -07:00
Chris Robinson
12db67f548
Cleanup output write functions
2017-07-27 19:07:02 -07:00
Chris Robinson
e25ba747e6
Remove unused macros
2017-07-25 17:42:16 -07:00
Chris Robinson
11b44d29e6
Update default HRTFs
2017-07-25 17:11:44 -07:00
Chris Robinson
75841642bf
Update makehrtf to use a larger FFT by default
...
Also fixes DC offset removal and increases the max IR size.
2017-07-25 16:17:46 -07:00
Chris Robinson
1ab082caaf
Update ChangeLog with OSS enumeration fix
2017-07-23 22:10:13 -07:00
Chris Robinson
82a990e08e
Downgrade some ERRs to TRACEs
...
These don't exist outside OSSv4, e.g. with OSS/Free, padsp, or aoss, so no need
to be concerned.
2017-07-23 16:43:39 -07:00
Chris Robinson
5ab4e584ee
Make sure OSS device files exist before adding them
2017-07-23 16:38:54 -07:00
Chris Robinson
4ec67e6226
Add missing include for std::array
2017-07-23 00:18:32 -07:00
Chris Robinson
21b71b2fd2
Update ChangeLog
2017-07-19 18:54:12 -07:00
Chris Robinson
f91445029d
Fix default effect initialization
2017-07-19 18:26:46 -07:00
Chris Robinson
fea74124c8
Add an all-pass filter that replicates the band splitter's phase shift
2017-07-19 02:48:01 -07:00
Chris Robinson
0135ddc2e5
Scale the source volume by +3dB for a full spread
...
This effectively turns a full spread source into an ambient response,
preventing such sources from being unexpectedly quiet.
2017-07-18 22:15:32 -07:00
Chris Robinson
5f7268c0cc
Add a 5.1 preset that excludes the front-center speaker
...
On some speaker setups, the front-center speaker is not designed for full-range
content and should be used exclusively for dialog. Consequently it should not
be used for positional sounds, only the dedicated dialog effect.
2017-07-18 20:30:45 -07:00
Chris Robinson
c484935542
Apply the output buffer offset before writing to it
2017-07-15 23:13:08 -07:00
Chris Robinson
ff696bc1fe
Set the float PCM GUID for wave files only when outputting float
2017-07-15 01:45:48 -07:00
Chris Robinson
8fa3f6da64
Add the default auxiliary slot to the active slot array
2017-07-13 23:13:02 -07:00
Chris Robinson
249afde5f9
Initialize the default effect after device update
2017-07-13 22:35:37 -07:00
Chris Robinson
a535169bbd
Use macros to set and restore the mixer FPU mode
2017-07-13 22:30:39 -07:00
Chris Robinson
22d77b87a3
Store the default effect slot in the context
2017-07-13 21:44:25 -07:00
Chris Robinson
67ab9ec466
Don't trace for every GetDriverIndexForName call
2017-07-11 22:43:22 -07:00
Chris Robinson
0da55fd912
Trace a version for the router
2017-07-11 00:43:15 -07:00
Chris Robinson
5048322fff
Update alffplay's command line message
2017-07-11 00:38:52 -07:00
Chris Robinson
f313f9c117
Rename the OpenAL target if also building the router
...
This is rather ugly, but it's necessary to get a proper export configuration.
The issue was that the main OpenAL target library name is set to soft_oal when
the router is being built, which is incorrect for the exported config library.
Exporting the router would have the incorrect name of OpenAL::Router.
So this change has the router use the OpenAL target name when it's built, which
is good since it will have the standard OpenAL lib name for apps to link to and
get the OpenAL::OpenAL export name. The main library's target name is changed
in this case to avoid conflicts.
2017-07-10 01:57:22 -07:00
Chris Robinson
d6326c1791
Generate the def and lib files from the router when built
2017-07-09 23:14:31 -07:00
Chris Robinson
d050af7eeb
Reorganize some Windows-only CMake commands
2017-07-09 22:19:34 -07:00
Chris Robinson
2be4c93f9f
Use a macro to add backend include dirs
2017-07-08 22:58:16 -07:00
Chris Robinson
09826cc684
Set the proper ldflags for the router
2017-07-07 18:48:19 -07:00
Chris Robinson
e4e240fa9b
Support ALC_EXT_thread_local_context in the router
...
Note that a given context's device must also support the extension to work. The
router's support simply lets a driver's capabilities through.
2017-07-07 18:41:03 -07:00
Chris Robinson
6be752a9b1
Add methods for thread-local contexts to the router
2017-07-07 18:33:54 -07:00
Chris Robinson
faefa1d554
Revert "Try all drivers for an unknown device name"
...
This reverts commit dadf7a4cf2bb008fc9e20251f6e8895c0f5bf0d4.
2017-07-05 14:18:16 -07:00
Chris Robinson
56a33ef955
Print the opened device in alffplay
2017-07-05 12:32:19 -07:00
Chris Robinson
dadf7a4cf2
Try all drivers for an unknown device name
2017-07-05 12:23:08 -07:00
Chris Robinson
3af2ff7b25
Trace if a driver was found for a device name
2017-07-05 12:16:28 -07:00
Chris Robinson
72ce0d1e9c
Open a device only when a driver index is found
2017-07-03 22:14:15 -07:00
Chris Robinson
3cd4cfe73d
Don't add --output-def to EXTRA_LDFLAGS
2017-07-01 20:48:17 -07:00
Chris Robinson
74139c914d
Skip past the -device switch even if the device doesn't open
2017-07-01 20:44:56 -07:00
Chris Robinson
cb83f48105
Add an option to enable direct channels for alffplay
2017-07-01 19:18:57 -07:00
Chris Robinson
a14f651034
Flush the log file after writing
2017-07-01 15:34:42 -07:00
Chris Robinson
958fa34272
Use a weaker memory order for the current context iface
2017-07-01 15:25:39 -07:00
Chris Robinson
af626fdded
Initialize ALC resources in the file they're used in
2017-07-01 15:25:11 -07:00
Chris Robinson
7daefd4e77
Use the al alloc functions instead of standard
2017-07-01 12:22:25 -07:00
Chris Robinson
32bda7b94c
Add tracing capabilities to the router
2017-06-30 17:22:15 -07:00
Chris Robinson
77e317609b
Add special handling for alGerError in the router
2017-06-30 17:21:26 -07:00