32 Commits

Author SHA1 Message Date
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
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
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
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
Chris Robinson
ce9222b686 Clear initial ALC version vars before querying it 2017-06-29 23:21:07 -07:00
Chris Robinson
d874b6bb27 Don't assume the first driver has the default device 2017-06-29 15:59:16 -07:00
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
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