Chris Robinson
75b65ab2a2
Remove the Frequency field from the context
2009-10-20 13:47:55 -07:00
Chris Robinson
9f9b7cf885
Make sure the context is properly locked while updating slots and sends
2009-10-20 13:02:28 -07:00
Chris Robinson
cd695d7f15
Allow creating multiple contexts on a device
2009-10-20 12:58:19 -07:00
Chris Robinson
9c0ae597cd
Make sure the effect slots and source sends are properly updated
...
Slots need to be updated due to possible frequency changes, and source sends
need to be updated in case some active sends were disabled
2009-10-20 12:53:07 -07:00
Chris Robinson
93361118b7
Store a device's contexts in a dynamic array
2009-10-20 11:54:04 -07:00
Chris Robinson
d6e439244a
Rename SetALCError for consistency
2009-10-07 04:32:14 -07:00
Chris Robinson
bd6f3b1273
Report disconnect if the device fails to reset
2009-09-27 04:58:42 -07:00
Chris Robinson
8d29d25d60
Condense some local variables
2009-09-24 14:51:40 -07:00
Chris Robinson
4289d5de7d
Parse the attribute list and reset the device before creating the context
2009-09-24 11:31:01 -07:00
Chris Robinson
f6c1a21cf0
Properly flip the backend entries when sorting the device list
2009-09-22 04:42:46 -07:00
Chris Robinson
c953072a15
Fix reset condition check
2009-09-22 00:16:21 -07:00
Chris Robinson
93f3e9357b
(Re)allocate and clear the stereo-to-binaural filter as needed
2009-09-21 23:52:59 -07:00
Chris Robinson
62cef44dcb
Reinitialize the stereo-to-binaural filter after resetting the device
2009-09-21 23:25:26 -07:00
Chris Robinson
a2edc95207
Properly set the number of sends requested by the app
2009-09-21 23:18:39 -07:00
Chris Robinson
cbcaa54173
Store the number of periods in the device instead of the buffer size
...
Also keep all the fields in sync
2009-09-16 22:58:54 -07:00
Chris Robinson
94e3fca702
Remove unnecessary parameters, and rename methods
2009-09-16 00:24:44 -07:00
Chris Robinson
49648fe22d
Make a GetConfigValueBool function and use it
2009-09-15 22:18:13 -07:00
Chris Robinson
12f81bcbb9
Move the stereo-to-binaural filter to the device
2009-09-15 19:06:47 -07:00
Chris Robinson
d6d1dba3d2
Initialize OpenAL with a constructor call instead of first-use
2009-09-12 17:49:08 -07:00
Chris Robinson
8b36a9d121
Get rid of deinit code duplication
2009-09-12 17:29:35 -07:00
Chris Robinson
59ed9338d8
Add support for the in-progress ALC_EXT_thread_local_context extension
2009-09-12 16:45:46 -07:00
Chris Robinson
1816c8bd37
Make a copy of the default device name for the app
...
The pointer to it could otherwise change if the device list is rebuilt, which
would be bad if the app has it
2009-08-27 20:13:35 -07:00
Chris Robinson
bb121e68a6
Rebuild device lists when retrieving them
2009-08-27 06:09:33 -07:00
Chris Robinson
1ec26fd789
Dynamically allocate device lists
2009-08-27 03:55:36 -07:00
Chris Robinson
6bb14e45ce
Store a copy of the device name in the device
2009-08-27 02:53:09 -07:00
Chris Robinson
45dc804819
Store copies of the device names in the individual backends
2009-08-27 01:47:41 -07:00
Chris Robinson
81db01ebf1
Add a method to deinitialize backends
2009-08-26 23:45:00 -07:00
Chris Robinson
7976de05a5
Add base support for ALC_EXT_disconnect
...
Individual backends need to be updated to handle disconnection events
2009-08-26 19:15:17 -07:00
Chris Robinson
487f0dde75
Print source and auxiliary slot debug warnings from alcDestroyContext
2009-08-16 16:11:22 -07:00
Chris Robinson
462f27c129
Use a function to retrieve the current context in an already-locked state
...
This should help prevent race-conditions with a context being destroyed between
breing retrieved and locked
2009-08-16 14:09:23 -07:00
Chris Robinson
0b7eb9f118
Add in-progress working extension AL_EXTX_sample_buffer_object
2009-08-16 00:54:08 -07:00
Chris Robinson
dc26261065
Support 32-bit float output
2009-08-15 13:20:35 -07:00
Chris Robinson
8246bc3418
Use a custom function to get the requested format
2009-08-15 10:32:54 -07:00
Chris Robinson
01e32b58da
Fix some size checks
2009-08-15 10:01:55 -07:00
Chris Robinson
9d05ff0468
Verify the device pointer is a valid device
2009-08-15 09:55:08 -07:00
Chris Robinson
510ccc7f17
Store the effect and filter lists in the device
2009-08-15 09:39:18 -07:00
Chris Robinson
43067ed2b8
Store the buffer list in the device
2009-08-15 09:14:08 -07:00
Chris Robinson
e079291202
Remove unnecessary function parameters
2009-08-13 19:36:14 -07:00
Chris Robinson
826c641668
Hold the lock while finding a capture device to open
2009-08-13 19:19:16 -07:00
Chris Robinson
a8ae610489
Set context frequency only if it successfully starts
2009-08-13 15:35:10 -07:00
Chris Robinson
45552a68ce
Hold the lock while initializing context playback
2009-08-13 13:32:42 -07:00
Chris Robinson
d46655fbb2
Support the ALC_FREQUENCY context attribute
2009-08-13 13:28:35 -07:00
Chris Robinson
243939f94f
Allow delaying playback start until context creation, and don't use UpdateSize to store the buffer size
...
This will make it possible to support the context attributes (frequency,
refresh, etc) for some backends
2009-08-13 12:28:46 -07:00
Chris Robinson
0ac9e57d28
Store the requested mono/stereo source count and sends in the device
...
Although the properties are set as context attributes, they are queried from
the device. If multiple contexts per device are ever supported, it would not
be straight forward about where to read the values from. This way, the
attributes can be treated as device-specific attributes that are updated when
a new context is created.
2009-07-06 03:09:01 -07:00
Chris Robinson
1454c46b5f
Use a thread-safe static inline function for printing
2009-06-07 15:42:15 -07:00
Chris Robinson
0fac1e9115
Store the max number of auxiliary slots in the device
2009-06-07 14:53:22 -07:00
Chris Robinson
34ea7eba9e
Add preliminary support for the EAX Reverb effect
...
Not all parameters are supported yet, though it is a little more fuctional than
standard reverb
2009-05-29 01:32:54 -07:00
Chris Robinson
ac04cf57fa
Make sure _CRT_SECURE_NO_WARNINGS is always defined for MSVC
2009-05-26 06:02:40 -07:00
Chris Robinson
a2adbb1ab5
Add a PulseAudio backend
2009-04-16 05:17:42 -07:00
Chris Robinson
f245f0ef87
Make the number of source sends variable
...
The highest value is clamped to MAX_SENDS
2009-04-13 20:33:41 -07:00