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
Chris Robinson
ce9222b686
Clear initial ALC version vars before querying it
2017-06-29 23:21:07 -07:00
Chris Robinson
8a0d1e5191
Store the QSA backend's ExtraData in the wrapper struct
2017-06-29 17:38:38 -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
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