Chris Robinson
00694826ef
Protect context switches with a lock in the router
2017-06-29 10:56:32 -07:00
Chris Robinson
058d57ef03
Protect device enumeration in the router with a mutex
2017-06-29 10:39:27 -07:00
Chris Robinson
e8ce8924d1
Use sqrtf for single-precision square roots
2017-06-29 10:28:37 -07:00
Chris Robinson
ec13cf6c9c
Add casts to silence MSVC
2017-06-29 10:28:22 -07:00
Chris Robinson
a69d608a1e
Define a backup log2f if the compiler doesn't have it
2017-06-29 10:11:31 -07:00
Chris Robinson
aefa11b6ad
Workaround for MSVC not liking 1.0f/0.0f for float infinity
2017-06-29 09:57:19 -07:00
Chris Robinson
cee2d226d2
Return the extension list in the router
2017-06-29 08:55:44 -07:00
Chris Robinson
f08a7b341f
Prepare the new driver in a local variable
2017-06-29 08:46:06 -07:00
Chris Robinson
15e6821147
Avoid unnecessary reenumeration in the router
2017-06-29 08:35:21 -07:00
Chris Robinson
3a16fed279
Handle the ALC version for some extension capabilities
...
Also fix some improper parenthesis.
2017-06-28 23:18:39 -07:00
Chris Robinson
ef7eced7a7
Properly clean up allocated memory at exit
2017-06-28 22:39:11 -07:00
Chris Robinson
a729007887
Implement setting a context current in the router
2017-06-28 21:54:44 -07:00
Chris Robinson
323162c49f
Implement creating and destroying contexts
2017-06-28 21:15:30 -07:00
Chris Robinson
ea4379c5b7
Implement opening and closing devices in the router
2017-06-28 21:10:02 -07:00
Chris Robinson
6124f447cd
Implement enumeration in the router
2017-06-28 20:45:23 -07:00
Chris Robinson
47f1db36a7
Partially implement ALC functions in the router
2017-06-28 20:03:36 -07:00
Chris Robinson
b88b57868a
Add a ptr-to-int map
2017-06-28 19:09:38 -07:00
Chris Robinson
9fd7349220
Add forwarding for the AL functions
2017-06-28 17:02:43 -07:00
Chris Robinson
cfec20830b
Load driver dlls in the router
2017-06-28 16:41:38 -07:00
Chris Robinson
ebee8da05c
Start a router DLL
...
Experimental, Windows only. This is intended as an alternative to Creative's
router DLL, fixing a few issues with it (falsely reporting extensions that
aren't supported, not being able to query the ALC version without a device, and
not being able to use ALC extension functions).
When enabled OpenAL Soft's DLL is built as soft_oal.dll, while the router is
OpenAL32.dll.
2017-06-28 12:42:20 -07:00
Chris Robinson
7cadbebe9f
Calculate the converter stepping value using floating point
2017-06-28 10:17:36 -07:00
Chris Robinson
e9a7218a06
Remove the fastf2u conversion function
2017-06-27 07:25:08 -07:00
Chris Robinson
8f2bbc434c
Use a macro to apply NFC filtered mixes instead of a loop
2017-06-26 11:19:27 -07:00
Chris Robinson
b13fead555
Round the converter's stepping value
2017-06-26 11:04:23 -07:00
Chris Robinson
2f2d941edb
Trace the message name in the message handler loop
2017-06-26 08:57:29 -07:00
Chris Robinson
740e7d979c
Convert all input samples in the loop
...
Instead of potentially leaving 1 sample that requires another loop iteration.
2017-06-26 08:55:22 -07:00
Chris Robinson
464a7c0545
Update ChangeLog for mmdevapi fix
2017-06-26 07:09:17 -07:00
Chris Robinson
55c329b462
Clean up some messy rounding code
2017-06-26 06:54:45 -07:00
Chris Robinson
5d5eff7502
Ensure the mmdevapi capture buffer is at least 100ms
2017-06-26 06:14:11 -07:00
Chris Robinson
4b7cbb50ab
Add a whitenoise generator to altonegen
2017-06-25 08:00:55 -07:00
Chris Robinson
be552a35e6
Support 32-bit float with the recording example
2017-06-25 06:10:20 -07:00
Chris Robinson
1deb8b6160
Clean up some loop variables
2017-06-25 05:42:35 -07:00
Chris Robinson
c465718ddd
Use the bsinc resampler for the converter
2017-06-25 04:07:06 -07:00
Chris Robinson
d1bb04d588
Improve traces for the mmdevapi capture conversions
2017-06-23 09:54:26 -07:00
Chris Robinson
d70a98fe03
Use the correct destination channel offset
2017-06-23 08:25:47 -07:00
Chris Robinson
9d01ac440d
Don't report any output samples for no input samples
2017-06-23 08:13:42 -07:00
Chris Robinson
44a940d8d6
Forward Sample_ALuint to Sample_ALint
2017-06-23 05:34:43 -07:00
Chris Robinson
e07166e93c
Add a recording example app
2017-06-23 05:19:24 -07:00
Chris Robinson
d1077795de
Stop conversion when no more source samples are available
2017-06-22 15:07:24 -07:00
Chris Robinson
31b02e044f
Trace the capture converter formats for mmdevapi
2017-06-22 13:58:32 -07:00
Chris Robinson
552d3a85af
Workaround log2f missing on Android
2017-06-21 23:05:11 -07:00
Chris Robinson
6fcbb7c738
Remove an unnecessary variable
2017-06-21 11:34:26 -07:00
Chris Robinson
e09468cdca
Trace if dithering is enabled
2017-06-19 00:17:11 -07:00
Chris Robinson
36edd80073
Update ChangeLog for the dither-depth config option
2017-06-18 04:14:56 -07:00
Chris Robinson
0a361fa9e2
"Convert" the QSA backend to the new API
...
I say "convert" because it takes the lazy way and essentially just embeds the
wrappers into the backend. It's done this way because I lack the means to check
any changes, even syntactically. This also means the device's ExtraData field
is still needed.
However, this does mean all the backends are now using the new API. Code
related to the old interface can now be removed.
2017-06-18 03:07:02 -07:00
Chris Robinson
2b013fc54e
Make the dithering depth configurable
2017-06-17 23:09:51 -07:00
Chris Robinson
e3a825b37c
Apply dither separately from output
2017-06-17 02:42:01 -07:00
Chris Robinson
9fc01934c2
Use helpers to get data from byte streams
2017-06-16 22:58:13 -07:00
Chris Robinson
879b79740f
Round the B-Format HRTF response where the multiple is defined
2017-06-16 19:00:00 -07:00
Chris Robinson
e18f7ca3e4
Update ChangeLog with the PulseAudio fix
2017-06-15 23:13:25 -07:00