539 Commits

Author SHA1 Message Date
Chris Robinson
8304fc1bef Handle the scalar values a bit better 2012-08-11 06:20:24 -07:00
Chris Robinson
d6fd52a0e5 Add an option for wide stereo sources
Replaces the old stereodup option
2012-08-09 05:38:07 -07:00
Chris Robinson
6bd535bed0 Use wrappers for float-typed math functions 2012-06-29 02:12:36 -07:00
Chris Robinson
583dc8dbca Don't use all caps for enum value names 2012-06-28 18:49:49 -07:00
Chris Robinson
ef1f8aa9a0 Don't needlessly verify a device 2012-06-19 00:25:45 -07:00
Chris Robinson
259e4f5b38 Rename AllDevice -> AllDevices 2012-05-09 16:28:16 -07:00
Chris Robinson
8d9838012d Remove the stereodup option
There's better ways to do it now with "wide" sound sources.
2012-04-29 04:44:53 -07:00
Chris Robinson
549d542a31 Reorganize some ALsource fields 2012-04-27 01:36:13 -07:00
Chris Robinson
77f55da6c7 Use a macro to declare the function and enum list members 2012-04-20 22:38:03 -07:00
Chris Robinson
0ad8047820 Combine ALCenum and ALenum lists 2012-04-20 01:24:58 -07:00
Chris Robinson
2115f578e9 Reorganize ALC functions and fixup some comments 2012-04-20 01:18:38 -07:00
Chris Robinson
d6491e21f9 Remove some more hungarian notation 2012-04-19 23:28:34 -07:00
Chris Robinson
5418519637 Remove some more hungarian notation 2012-04-19 23:00:58 -07:00
Chris Robinson
b023dbe7b8 Remove hungarian notation from the device and context structs 2012-04-19 22:50:11 -07:00
Chris Robinson
f6a1e53f19 Read ALSOFT_TRAP_*ERROR when reading the config 2012-04-16 20:13:50 -07:00
Chris Robinson
b7d67d8bcc Don't error when querying unknown enums for the channel config and sample format 2012-03-15 15:22:58 -07:00
Chris Robinson
7e5b13aabd Finalize ALC_SOFT_loopback 2012-03-15 15:21:15 -07:00
Chris Robinson
767a5b3c73 Mark the GlobalContext pointer as volatile 2012-03-14 00:13:16 -07:00
Chris Robinson
3b517bfa59 Initialize the default effect after opening the device 2012-03-13 19:02:26 -07:00
Chris Robinson
e356527a88 Rename GetReverbEffect to LoadReverbPreset 2012-03-13 15:48:51 -07:00
Chris Robinson
07e34cc3cf Use enums to specify the default channel configuration and sample type 2012-03-13 15:32:44 -07:00
Chris Robinson
f7f1dd1346 Initialize the default effect when opening the device and update it with the other effect slots 2012-03-13 15:07:38 -07:00
Chris Robinson
92ccacdc77 Pass the device to InitializeEffect and return the error enum from it 2012-03-13 14:58:34 -07:00
Chris Robinson
b5ed2a5351 Pass a device to the effect update functions 2012-03-13 14:49:58 -07:00
Chris Robinson
55c5e4fe92 Rename ForcedEffect to DefaultEffect 2012-03-13 14:38:09 -07:00
Chris Robinson
1f3c1091d3 Finalize AL_SOFT_direct_channels 2012-03-12 22:46:13 -07:00
Chris Robinson
1a4a0abd1a Pin the DLL for Windows
The mmdevapi backend does not react well to being unloaded dynamically. It has
a message-handling thread running in the background which can't quit before
DllMain is called with DLL_PROCESS_DETACH, at which point it's too late to
safely message and wait for it shutddown, thus it can continue running after
the DLL is unloaded from memory.
2012-03-08 17:42:16 -08:00
Chris Robinson
6623f69476 Mark the device as running for capture, too 2012-03-05 15:10:02 -08:00
Chris Robinson
db36574667 Hold the list lock while calling the backend
Pretty ugly, but we mustn't hold the device lock
2012-03-05 14:53:25 -08:00
Chris Robinson
fe6e532c87 Use a separate backend callback to start playback of the device
This allows us to properly update the ALCdevice and its resources with the new
parameters before starting playback, instead of expecting the mixer to block
and wait after it has begun.

This also lets us avoid holding the device lock while resetting and starting
the device, which helps prevent lock inversion on some backends (ie, one thread
locking A then B, and another thread locking B then A), ultimately allowing
certain backends to asynchronously update the ALCdevice without risk of lockup.
Capture still has issues here, however.
2012-03-05 07:11:09 -08:00
Chris Robinson
5cdeeb47f3 Avoid some uninitialized warnings 2012-03-05 00:28:57 -08:00
Chris Robinson
302c08a14b Enforce range limits on periods and period_size. 2012-03-04 05:44:37 -08:00
Chris Robinson
f784aa704d Make sure the device gets stopped when closing even if there's no contexts 2012-03-02 00:10:24 -08:00
Chris Robinson
50ef19720d Make alcLoopbackOpenDeviceSOFT take a standard "device" name for a parameter 2012-03-01 08:30:21 -08:00
Chris Robinson
2285c79ded Give "OpenAL Soft" for the standard device name 2012-02-28 03:36:16 -08:00
Chris Robinson
230e784b9e Trace the name of the created device 2012-02-27 21:57:33 -08:00
Chris Robinson
b78b8f0c82 Use separate loops for getting and checking device attributes 2012-02-25 18:03:33 -08:00
Chris Robinson
504cdadd60 Use an enum for the device type 2012-02-23 15:25:30 -08:00
Chris Robinson
45b9cbe2b3 Only probe for devices when a backend is loaded 2012-02-20 22:12:48 -08:00
Chris Robinson
e2ccc6f98e Always use "OpenAL Soft" for the short device enumeration list 2012-02-20 20:45:22 -08:00
Chris Robinson
40bb8bd9dc Remove the trailing double-underscore from a couple env vars 2012-02-19 17:24:01 -08:00
Chris Robinson
03ec2d6fc7 Check for the ALSOFT_DRIVERS env var for a list of backend drivers
This overrides the 'drivers' config option
2012-02-19 14:27:00 -08:00
Chris Robinson
4a65747a4b Add a COUNTOF macro to get the number of entries in a static array 2012-02-19 12:07:40 -08:00
Chris Robinson
6dc194ed1d Fix a misnamed variable 2012-02-19 11:56:01 -08:00
Chris Robinson
1aa69e77e9 Print a warning if using the 'format' config option 2012-02-19 11:54:24 -08:00
Chris Robinson
6ac16867b4 Only set a default slot for non-NULL effect types 2012-02-18 17:09:08 -08:00
Chris Robinson
6b272ff585 Add a device parameter to alcLoopbackOpenDeviceSOFT 2012-02-15 20:52:49 -08:00
Chris Robinson
fecd679f33 Add a device request flag for the sample type 2012-02-15 16:26:32 -08:00
Chris Robinson
9afd6b2858 Separate the format config option into channels and sample-type 2012-02-15 15:22:44 -08:00
Chris Robinson
670c88a64c Define a minimum output sample rate and warn if the config option goes below it 2012-02-15 12:26:19 -08:00