Chris Robinson
bb121e68a6
Rebuild device lists when retrieving them
2009-08-27 06:09:33 -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
c8f700930a
More modifications and fixes for context checks
2009-08-16 16:02:13 -07:00
Chris Robinson
decbe4df45
Modify some context checks
2009-08-16 15:09:36 -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
0b5a0d1e79
Reset the target if the databuffer being deleted is currently selected
2009-08-16 11:12:13 -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
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
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
32060f53cd
Reset the buffer played count when the queue is removed via the AL_BUFFER property
2009-08-11 14:16:30 -07:00
Chris Robinson
4ee3972f15
Update queued buffer states when source looping is toggled
2009-08-11 07:57:18 -07:00
Chris Robinson
00a9cf4a85
Remove more unneeded variables
2009-07-07 21:11:13 -07:00
Chris Robinson
1dcd538ad9
Remove unneeded variables
2009-07-07 21:01:41 -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
c6f3a4e062
Move a couple inline functions into the header
2009-06-07 20:16:41 -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
f3a3358e63
Fix for MSVC
...
MSVC won't accept zero-sized arrays at the end of structs, if that struct is
used in another struct that's not also at the end. This wastes a float for each
FILTER object
2009-06-06 23:33:53 -07:00
Chris Robinson
3c122b0bef
Set an error if effect creation fails
2009-05-31 11:54:49 -07:00
Chris Robinson
7940003d06
Set an error if NaN is given for panning values
2009-05-31 11:34:07 -07:00
Chris Robinson
2c20f26784
Apply slot gain on slot output, not input
2009-05-29 16:51:00 -07:00
Chris Robinson
74dc7090fd
Don't expose effect-specific structures
2009-05-29 13:30:50 -07:00
Chris Robinson
e12ac95d69
Use the MIN/MAX/DEFAULT macros for checking and setting the effect parameters
2009-05-29 12:40:08 -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
1bfa7609d2
Make the filter functions global inline, and use it for echo
2009-05-16 23:34:26 -07:00
Chris Robinson
7e8501123a
Set some common macros in alu.h
2009-05-16 23:26:39 -07:00
Chris Robinson
7a7a4844f4
Make the filter history buffer size flexible
...
This lets the filter history buffer be as big as needed for a given use, so
that it can have a size large enough for the more demanding cases, but not be
wasteful for lesser-demanding cases, while not incuring the overhead of an
added pointer indirection
2009-04-16 05:43:09 -07:00
Chris Robinson
a2adbb1ab5
Add a PulseAudio backend
2009-04-16 05:17:42 -07:00
Chris Robinson
a97fc792d8
Increase the default maximum number of sends to 2
2009-04-14 22:18:47 -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
Chris Robinson
55c790c9ff
Add the Echo effect
2009-04-12 16:01:10 -07:00
Chris Robinson
c67fbd72dd
Pay attention to the MAX_SENDS value
2009-04-11 20:04:46 -07:00
Chris Robinson
30f57d0824
Make auxiliary effect slot count configurable
2009-04-11 18:16:05 -07:00
Chris Robinson
1c54018111
Move the WetBuffer into the effect slot object
...
This should make it easier to support multiple slots
2009-04-11 17:04:55 -07:00
Chris Robinson
8d0c4ccb3b
The room rolloff factor can go up to 10
2009-03-13 02:12:45 -07:00
Chris Robinson
7ebb28327f
Remove the SDL backend
2009-03-10 01:03:39 -07:00
Chris Robinson
86931cbde4
Add a PortAudio backend
2009-03-10 00:55:29 -07:00
Chris Robinson
1f4c69c17a
Use a matrix for up- and down-mixing channels
2009-01-25 22:11:07 -08:00
Chris Robinson
98e86decad
6.1 uses front- and back-center, not left- and right-back channels
2009-01-24 15:13:14 -08:00
Chris Robinson
778b74cae1
Reimplement panning using lookup tables, based on a patch by Christian Borss
...
This allows speaker positions to be specified by discrete angles around the
listener, providing more flexibility and configurability in placement.
Additional patches to take advantage of this are forthcoming.
2009-01-24 10:38:04 -08:00
Chris Robinson
3056f91ec5
Apply the dry filter to multi-channel sources
...
Unlike mono sources, they use 2 chained one-pole filters instead of 4
2008-12-10 11:54:13 -08:00
Chris Robinson
8b54d59b8c
Add an SDL backend
2008-12-07 01:05:39 -08:00
Chris Robinson
55b9ccc2de
Implement AL_EXTX_source_distance_model
...
As with other EXTX extensions, this is subject to change and removal as the
spec gets worked on
2008-11-25 18:56:10 -08:00