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
370c9f553d
Trace the reverb buffer size
2011-09-02 01:13:22 -07:00
Chris Robinson
e80aa008b2
Combine the reverb effects
...
Updating and processing still differs depending on whether standard or EAX
reverb is used or not. The only functional difference should be that the
allocated buffer (and subsequent offsets) take into account the modulation
and echo times.
2011-09-01 20:06:51 -07:00
Chris Robinson
942c8bf8a7
Combine the dedicated (dialog/LFE) effects
2011-09-01 18:01:14 -07:00
Chris Robinson
b28f48c1bd
Store the filter gains directly in the source instead of duplicate filter objects
2011-08-31 02:18:16 -07:00
Chris Robinson
f3ac3cd1e2
Don't set a thread priority if real-time isn't requested
2011-08-31 01:05:01 -07:00
Chris Robinson
dd74757319
Add a function to initialize a RWLock
2011-08-31 01:00:19 -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
7d577832cd
Add functions to retrieve the source from the source map while removing it
2011-08-30 17:32:49 -07:00
Chris Robinson
cc67f45892
Use the reference counting functions for the buffer and auxiliary slot refs
2011-08-29 23:10:02 -07:00
Chris Robinson
7408396fd4
Use a generic int type to handle enum swaps
2011-08-29 21:30:12 -07:00
Chris Robinson
e4a2b69b37
Make specific functions to lock/unlock UIntMap access
2011-08-29 20:21:28 -07:00
Chris Robinson
8eaa9bb469
Manually lock the map while iterating through its contents
2011-08-29 20:05:50 -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
c06f4eb7f7
Hold a reference on the global context
2011-08-29 11:10:17 -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
aa99e1220b
Increment the context reference count when locking
2011-08-28 23:49:50 -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
1d9f21f6dc
Avoid a global list of contexts
2011-08-28 18:53:23 -07:00
Chris Robinson
0900c281a3
Check if the context is valid only if it's replacing the current thread context
2011-08-28 18:17:06 -07:00
Chris Robinson
f8c4b16c30
Hold a reference on the context when being set as current on the thread
...
This should vastly improve efficiency for retrieving the current thread
context, as we can be assured the stored context pointer will always be valid.
2011-08-28 18:08:48 -07:00
Chris Robinson
c567339718
Rename ALCcontext_Deref to ALCcontext_DecRef
2011-08-28 17:38:55 -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
3ab20d4ccb
Print an error for invalid speaker layout keys
2011-08-28 10:25:40 -07:00
Chris Robinson
ccc2644e6b
Free the WaveIn buffers' data after unpreparing them all
2011-08-25 11:33:13 -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
f5195ee4f2
Remove the Buffer field from the source
2011-08-23 09:55:22 -07:00
Chris Robinson
1d4dc7d7a9
Add AL_SOFTX_deferred_updates to the context's extension list
2011-08-22 18:57:28 -07:00
Chris Robinson
65d42083e1
Prevent source and effect slot updates from occuring while updates are deferred
2011-08-22 17:13:03 -07:00
Chris Robinson
199df253ca
Always use the thunk functions to get object IDs
2011-08-22 07:40:14 -07:00
Chris Robinson
9b615a0add
Remove some spaces
2011-08-20 04:58:50 -07:00
Chris Robinson
4540034039
Move the GUID initialization to the helper
2011-08-20 04:55:11 -07:00
Chris Robinson
29d58f3d84
Set the loopback backend functions first
2011-08-20 04:43:47 -07:00
Chris Robinson
22ad15e1f1
Move some functions into a separate helper source file
2011-08-20 04:01:07 -07:00
Chris Robinson
80b8abb0ec
Don't enumerate "PulseAudio Default" in the ALL_DEVICES list
2011-08-20 03:00:38 -07:00
Chris Robinson
529ff3197a
Don't expose "DirectSound Default" in the ALL_DEVICES list
...
This is under the assumption that one of the devices in ALL_DEVICES corresponds
to the default. This is not true for all backends (eg, ALSA).
2011-08-20 02:49:15 -07:00
Chris Robinson
b036bc9e04
More closely emulate pthread_once in Windows
2011-08-20 01:07:27 -07:00
Chris Robinson
9989f33fc2
Move backend sources to a separate sub-directory
2011-08-20 00:41:47 -07:00
Chris Robinson
ba4456d24a
Use the proper variable type
2011-08-19 23:05:54 -07:00
Chris Robinson
00718ca03f
Use the string ID instead of numeral index to reference the ALSA card
...
The index has a habit of changing, where the ID should be more consistent.
2011-08-19 20:47:08 -07:00
Chris Robinson
6b8475b435
Add options to specify alternate ALSA device prefixes
2011-08-19 04:02:36 -07:00
Chris Robinson
e51295c79e
Don't scale the wet send by the number of channels
...
Each channel should be treated as a distinct audio source, so multiple channels
should act as multiple sources.
2011-08-19 03:59:57 -07:00
Chris Robinson
b40aa8636b
Remove a couple unneeded variables
2011-08-19 03:01:57 -07:00
Chris Robinson
b3645df56f
Delete the mutex if the device fails to open
2011-08-19 02:58:21 -07:00
Chris Robinson
711f0a29ec
Make sure there's a valid backend before trying to open a device
2011-08-19 02:55:36 -07:00