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
Chris Robinson
e8e1286572
Remove the "via *" portion of the enumerated devices
2011-08-19 01:59:03 -07:00
Chris Robinson
3d722b9ba0
Don't remove backends that fail to initialize
2011-08-19 01:54:55 -07:00
Chris Robinson
4ac0a507e0
Use only the first available backend for playback or capture devices
...
This should help cut down on the number of duplicate devices when enumerating
on a system that supports multiple backends. It will also avoid the problem of
backends that don't play well with others (eg, PulseAudio).
2011-08-19 01:41:16 -07:00
Chris Robinson
d54908d946
Attempt to connect a context when pulseaudio initializes
2011-08-19 01:40:16 -07:00
Chris Robinson
6ba5128f72
Use separate lists for playback and capture backends
2011-08-19 00:30:05 -07:00
Chris Robinson
c96a6c2b1b
Remove a typedef
2011-08-18 23:58:00 -07:00
Chris Robinson
0b0588cc37
Load backend libs on init
2011-08-18 23:56:11 -07:00
Chris Robinson
742bb12498
Make DSoundLoad return a boolean
2011-08-18 01:17:42 -07:00
Chris Robinson
f00017c8c1
Avoid some LP types
2011-08-18 00:31:44 -07:00
Chris Robinson
d976d02936
Only attempt to load MMDevApi and DSound once, on init
2011-08-18 00:13:43 -07:00
Chris Robinson
45f0886eba
Set the proper union member to 0
2011-08-17 20:44:05 -07:00
Chris Robinson
057fef88ae
Remove backends that fail to initialize
2011-08-17 06:15:43 -07:00
Chris Robinson
8148626ba3
Allow the backend init functions to return failure
2011-08-17 06:05:26 -07:00
Chris Robinson
14ffb8bd9b
Coalesce some mixer sample converters
2011-08-17 02:33:25 -07:00
Chris Robinson
2f8510db31
Avoid reading some more source parameters multiple times when updating
2011-08-17 01:54:09 -07:00
Chris Robinson
38a4d9a6c5
Get rid of the remaining min/max usage
2011-08-16 18:53:04 -07:00
Chris Robinson
9f5bf5f930
Rename minF/maxF/clampF to minf/maxf/clampf for consistency
2011-08-16 18:40:21 -07:00
Chris Robinson
04dad28228
Use mini/maxi/clampi and minu/maxu/clampu to replace min/max calls
2011-08-16 18:33:10 -07:00
Chris Robinson
a96f817738
Avoid a float->int->float conversion
2011-08-16 06:13:55 -07:00
Chris Robinson
8a51a7ea2d
Use inline minF/maxF/clampF functions instead of the __min/__max macros
2011-08-16 04:21:58 -07:00
Chris Robinson
b3cb511c06
Fix wet path conehf calculation
2011-08-13 06:58:05 -07:00
Chris Robinson
7e3d02d991
Make sure there's a buffer to render loopback samples to
2011-08-12 15:44:21 -07:00
Chris Robinson
412cec73de
Avoid a temporary throw-away buffer for mixing null output
2011-08-12 15:42:36 -07:00
Chris Robinson
a72c0f7470
Use an existing function to clear and free the context
2011-08-12 05:40:09 -07:00
Chris Robinson
45a245d7de
Round the HRTF sample step count
2011-08-11 21:43:21 -07:00
Chris Robinson
1e60481040
Use ARM Neon vector ops to apply HRTFs when available
2011-08-11 19:02:45 -07:00