401 Commits

Author SHA1 Message Date
Chris Robinson
e84e38cc19 Make AIRABSORBGAINHF a float type 2011-09-23 22:37:20 -07:00
Chris Robinson
9266a37276 Move ConeScale and ZScale to ALu.c and alu.h, and make them floats 2011-09-23 22:33:37 -07:00
Chris Robinson
ff8ee68852 Add atomic functions for GCC inline asm 2011-09-23 12:42:13 -07:00
Chris Robinson
390d94ec97 Define _WIN32_WINNT on the command line with _WIN32 2011-09-20 14:59:01 -07:00
Chris Robinson
e01092a0da Move Sleep implementation into helper.c and emulate sched_yield for Windows 2011-09-20 14:43:53 -07:00
Chris Robinson
e43470da7a Make a separate log level to trace reference counts, to avoid log spam for traces 2011-09-20 12:24:23 -07:00
Chris Robinson
edb386eb1e Add a ConfigValueStr function, to return the string through a parameter 2011-09-19 11:29:18 -07:00
Chris Robinson
98b2fa6cb5 Use the ALC types for the device format enum values 2011-09-18 19:43:59 -07:00
Chris Robinson
7e06a10f73 Return int and float config values through a parameter
This allows the getter functions to return whether or not the option exists
without a separate call and check.
2011-09-18 16:16:55 -07:00
Chris Robinson
0e5c221a3c Dynamically allocate space for HRTF tables 2011-09-18 10:09:32 -07:00
Chris Robinson
25f7c27043 Store the HRTF tables used in the device 2011-09-18 09:52:40 -07:00
Chris Robinson
fd22226242 Make alcSetError static 2011-09-14 11:58:51 -07:00
Chris Robinson
97024151e4 Return an error from the CaptureSamples method instead of setting it 2011-09-14 02:01:35 -07:00
Chris Robinson
145bc6da6b Be a bit more robust while handling the global device list 2011-09-12 03:57:53 -07:00
Chris Robinson
b4cbb3380a Fix non-GCC CompExchangePtr implementations 2011-09-11 09:39:29 -07:00
Chris Robinson
8f456f68ff Remove GetLockedContext 2011-09-11 09:28:30 -07:00
Chris Robinson
419294cddd Avoid locking the device when adding and removing contexts
Also, don't keep track of the number of contexts per device
2011-09-10 07:18:29 -07:00
Chris Robinson
b9448a476e Avoid holding the list lock when not needed 2011-09-10 05:19:08 -07:00
Chris Robinson
e8c9da0124 Add some reference counting to the device 2011-09-10 02:43:07 -07:00
Chris Robinson
18cf6e3210 Fix a parameter type 2011-09-10 02:13:52 -07:00
Chris Robinson
9080d5fda0 Do an atomic compare-exchange on the global context when destroying a context 2011-09-02 02:57:21 -07:00
Chris Robinson
3a2fa18744 Log the function name instead of the source file and line number 2011-09-02 02:00:37 -07:00
Chris Robinson
dd74757319 Add a function to initialize a RWLock 2011-08-31 01:00:19 -07:00
Chris Robinson
23f576360c Avoid locking the context while getting and setting global state 2011-08-31 00:19:27 -07:00
Chris Robinson
9fb91f70aa Rename GetReffedContext to GetContextRef 2011-08-30 23:28:38 -07:00
Chris Robinson
0a1321aaae Add a limit to the UIntMap size and use it for sources and effect slots 2011-08-30 20:33:47 -07:00
Chris Robinson
189add1d5a Use a separate array for the auxiliary slots in the mixer 2011-08-30 20:13:42 -07:00
Chris Robinson
755062fb76 Fix compilation with MSVC 2011-08-30 17:55:52 -07:00
Chris Robinson
7d577832cd Add functions to retrieve the source from the source map while removing it 2011-08-30 17:32:49 -07:00
Chris Robinson
f02d9e22d7 Do a pointer exchange when replacing the source buffer queue 2011-08-29 23:55:24 -07:00
Chris Robinson
7408396fd4 Use a generic int type to handle enum swaps 2011-08-29 21:30:12 -07:00
Chris Robinson
da081b81c4 Do a compare-exchange to set the context error
This allows for unlocked context access when getting the error
2011-08-29 20:52:13 -07:00
Chris Robinson
e4a2b69b37 Make specific functions to lock/unlock UIntMap access 2011-08-29 20:21:28 -07:00
Chris Robinson
b283dd3682 Use a read-write lock to protect access to the UInt maps 2011-08-29 19:15:22 -07:00
Chris Robinson
72beb577b6 Lock the context as needed for the defer and process calls 2011-08-29 13:22:07 -07:00
Chris Robinson
de65ee08c9 Make ALCcontext's DeferUpdates field volatile 2011-08-29 11:55:01 -07:00
Chris Robinson
0abe13e3ad GCC's atomic built-ins were introduced in 4.1.0, so check for that version 2011-08-29 10:51:58 -07:00
Chris Robinson
2ac808ffa2 Fix typo 2011-08-29 01:01:20 -07:00
Chris Robinson
58078e2c1e Use atomic exchanges when checking for updates to objects' internal parameters 2011-08-29 00:50:55 -07:00
Chris Robinson
01503f8a7b Use an enum instead of an boolean for some flags
They still only hold AL_TRUE or AL_FALSE, but some systems can't properly
handle atomic swaps of 1-byte types.
2011-08-29 00:03:09 -07:00
Chris Robinson
783375af56 Use a list of contexts in the device instead of an array 2011-08-28 19:28:41 -07:00
Chris Robinson
5eceb593e9 Emulate pthread TLS functions in Windows 2011-08-28 17:21:01 -07:00
Chris Robinson
82244f298c Add reference counting to the ALC contexts 2011-08-28 15:44:03 -07:00
Chris Robinson
7e2155d937 Return an ALC error enum from the OpenCapture backend method 2011-08-24 14:44:15 -07:00
Chris Robinson
c696d4dbb2 Return an ALC error enum from the OpenPlayback backend method 2011-08-24 14:24:48 -07:00
Chris Robinson
22ad15e1f1 Move some functions into a separate helper source file 2011-08-20 04:01:07 -07:00
Chris Robinson
8148626ba3 Allow the backend init functions to return failure 2011-08-17 06:05:26 -07:00
Chris Robinson
38a4d9a6c5 Get rid of the remaining min/max usage 2011-08-16 18:53:04 -07:00
Chris Robinson
2f3bd5b5d9 Move an include to where it makes more sense to be 2011-07-23 05:53:53 -07:00
Chris Robinson
13f9dbe582 Look for ieeefp.h and include it when appropriate 2011-07-23 04:06:29 -07:00