Chris Robinson
d91b68ef8e
Avoid some explicit extern "C"s on function definitions
2022-03-31 05:20:16 -07:00
Chris Robinson
1369a081a0
Fix X-RAM tracking
2022-03-06 01:19:41 -08:00
Chris Robinson
3e6d210767
Avoid more unnecessary atomics
2022-02-13 21:00:57 -08:00
Chris Robinson
256ea81dbe
Combine listener and context updates
2022-02-08 20:43:05 -08:00
Chris Robinson
843cff0537
Hold mPropLock when deferring updates
2022-02-08 09:39:02 -08:00
Chris Robinson
816bd8ab30
Move ALSOFT_EAX definition to config.h
...
And disable it by default for non-Windows targets
2022-01-30 05:42:44 -08:00
Boris I. Bendovsky
19ed994dc3
Add EAX extensions (EAX 2.0-5.0, X-RAM) ( #632 )
...
* Add EAX extensions (EAX 2.0-5.0, X-RAM)
* Comment out C++17 leftovers
* Remove everything related to patching
* Update alsoftrc.sample
* Rewrite integration
* Fix GCC compilation under Linux
* Always reset EAX effect properties when loading it into FX slot
2022-01-30 04:47:32 -08:00
Chris Robinson
e3c0b60cc6
Rename alcontext.h and move some functions to context.cpp
2021-04-27 19:04:45 -07:00
Chris Robinson
06dcfc3fcf
Rename alcmain.h to device.h
2021-04-27 16:40:22 -07:00
Chris Robinson
061148072f
Update include headers
...
Don't add alc/ to the include paths.
2021-04-27 16:04:54 -07:00
Chris Robinson
ff380298e4
Move BufferStorage and Voice to core
2021-04-27 08:26:42 -07:00
Chris Robinson
26c8c50c26
Partially implement an extension to hold sources on disconnect
...
Rather than stopping voices/sources when the device becomes disconnected, the
context can be set to leave them alone. As a consequence, their state will
remain as playing and they'll keep their last known sample offset indefinately.
For applications mindful of this behavior, it will allow resetting or reopening
the device to reconnect and automatically resume where it left off.
2021-04-26 20:25:24 -07:00
Chris Robinson
29cf7ebb75
Make an inverted atomic flag type and use it
...
The inverted atomic flag replaces test_and_set+clear with test_and_clear+set,
essentially inverting the flag status. This makes more logical sense for
flagging dirty state, which is less confusing than flagging clean state. The
one caveat is ATOMIC_FLAG_INIT (or default construction in C++20) initializes
the state to true rather than false.
2021-04-15 15:17:04 -07:00
Chris Robinson
62fa6a2277
Avoid including voice.h in alcontext.h
2020-12-27 16:14:11 -08:00
Chris Robinson
eedc42890f
Move alexcpt to core
2020-12-24 22:49:55 -08:00
Chris Robinson
f0fe57dc5a
Don't link DistanceModel enums to AL values
2020-12-16 14:58:55 -08:00
Chris Robinson
daf9d46478
Use a separate structure for the context/listener params
2020-12-15 18:41:50 -08:00
Chris Robinson
3e62600ecc
Replace some more macros with constexpr variables
2020-10-21 16:39:21 -07:00
Chris Robinson
191150d9a8
Remove deprecated, performance, and error event types
...
These would be better served with a proper debug API, rather than a general
audio event API.
2020-09-20 04:11:52 -07:00
Chris Robinson
cf64dc1103
Fix up some more uses of [AL[C]]void
2020-04-28 14:48:12 -07:00
Chris Robinson
f1f9a14172
Avoid AL[C]boolean for internal use
2020-03-28 18:15:05 -07:00
Chris Robinson
0cba99ed1b
Avoid static constexpr for arrays iterated over at run-time
2019-10-25 01:43:23 -07:00
Chris Robinson
0139d8a04f
Remove noexcept from a function that explicitly throws
2019-09-30 02:57:19 -07:00
Chris Robinson
31ffb0887c
Don't let a function end without a return
2019-09-28 13:56:51 -07:00
Chris Robinson
f7b574c8f2
Redo resampler strings to be safer
...
Now the name is guaranteed to match the type, and to be ordered as the enum
declares.
2019-09-28 03:15:48 -07:00
Chris Robinson
882b4acae8
Add "fast" variants for the bsinc resamplers
...
This simply omits the scale factor from the filter, similar to how up-sampling
does. The consequence of this is less smooth transitions when ramping the
pitch while down-sampling, but otherwise behaves fine.
2019-09-28 01:58:29 -07:00
Chris Robinson
24db8a3f4b
Make the resampler type an enum class
2019-09-22 21:19:19 -07:00
Chris Robinson
c0ce03d8b9
Get rid of more implicit conversions
2019-09-12 06:29:32 -07:00
Chris Robinson
be0442c620
Avoid C-style casts in C++
2019-09-11 06:47:56 -07:00
Chris Robinson
351ccf2e11
Use new/delete for context and effectslot properties
2019-08-13 22:25:59 -07:00
Chris Robinson
1aaf65abfe
Add methods to get env vars as an optional
2019-08-12 03:59:52 -07:00
Chris Robinson
7c069e29ee
Update some more includes
2019-08-06 23:13:05 -07:00
Chris Robinson
d24401c3f3
Move the meters per unit property to the listener
2019-08-05 12:15:14 -07:00
Chris Robinson
2fa2c35bdc
Modify LIKELY and UNLIKELY to not need extra parenthesis
2019-08-04 11:59:14 -07:00
Chris Robinson
4cd7eee01c
Remove improper include
2019-07-30 21:50:47 -07:00
Chris Robinson
f286c3fa38
Move another function to a ALCcontext method
2019-07-30 21:32:05 -07:00
Chris Robinson
ac554de67d
Turn some functions into methods
2019-07-30 14:13:05 -07:00
Chris Robinson
ea76e003e7
Properly prefix ALCcontext members
2019-07-30 09:05:54 -07:00
Chris Robinson
4c9e18c5a0
Rename al/* sources to avoid camel-case
2019-07-29 17:54:07 -07:00