Chris Robinson
01dd34f305
Add an internal Super Stereo format
...
It's not available as an AL buffer format (yet) since I'm not sure how to
expose it. Internally it seems fine as a separate channel configuration, but
because OpenAL combines the channel configuration and sample type, a flag may
work better there.
2021-12-11 17:50:24 -08:00
Chris Robinson
bbff1efa2a
Update some in-progress extension types
2021-11-10 01:21:49 -08:00
Chris Robinson
e3b8f8fe27
Make a construct_at method amd use it
2021-10-08 11:05:36 -07:00
Chris Robinson
f92cc479d8
Silence some static analysis warnings
2021-10-03 08:02:57 -07:00
Chris Robinson
7c4e6c8424
Combine a couple similar switch blocks
2021-07-17 10:47:20 -07:00
Chris Robinson
105abc6513
Fix returned value for AL_AMBISONIC_SCALING_SOFT buffer queries
2021-07-13 06:33:54 -07:00
Chris Robinson
d998c03a27
Add a UHJ-specific coefficient scaling array
2021-07-13 06:31:13 -07:00
Chris Robinson
2f0e37bc24
Add back some more missing includes
2021-04-27 23:03:24 -07: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
b54bb388a3
Create a base the ALCdevice and ALCcontext structs
...
A base that contains the API-agnostic data, with ALCdevice and ALCcontext being
for AL-specific data.
2021-04-24 08:28:13 -07:00
Chris Robinson
f33edc3b30
Add support for 4-channel UHJ
...
Also add the SOFT moniker to the new macros
2021-03-31 21:02:30 -07:00
Chris Robinson
b5e36007f1
Handle 3-channel UHJ audio buffers
2021-03-31 10:03:31 -07:00
Chris Robinson
35a0f2665f
Decode UHJ buffers to B-Format for mixing
...
This should also have an adjustment for the shelf filter. Although it's not
clear what the appropriate adjustments should be.
2021-03-31 09:37:30 -07:00
Chris Robinson
8793055e66
Start an interface for providing UHJ audio
...
Currently only 2-channel UHJ, which gets treated as stereo.
2021-03-31 05:37:56 -07:00
Chris Robinson
da59ad5105
Make PopCount and CountTrailingZeros more standard-like
2021-01-22 04:58:42 -08:00
Chris Robinson
eedc42890f
Move alexcpt to core
2020-12-24 22:49:55 -08:00
Chris Robinson
8750810f5c
Change a couple macros into constexpr variables
2020-11-28 03:38:20 -08:00
Chris Robinson
21174047df
Make ALbuffer inherit from BufferStorage
2020-11-21 00:54:25 -08:00
Chris Robinson
2cb2ffef72
Disassociate internal buffer enums from AL enum values
2020-11-20 04:27:10 -08:00
Chris Robinson
537510afc8
Put the loop start/end in BufferStorage
2020-11-19 03:23:46 -08:00
Chris Robinson
303ca3af72
Use inline functions for popcnt and ctz instead of macros
2020-10-13 01:21:44 -07:00
Chris Robinson
1f486f820e
Use a separate structure for buffer storage
2020-08-28 00:09:46 -07:00
Chris Robinson
9d61484e4b
Move storable buffer format info to a separate source
2020-08-24 17:59:07 -07:00
Chris Robinson
cf64dc1103
Fix up some more uses of [AL[C]]void
2020-04-28 14:48:12 -07:00
Chris Robinson
b828cf81a9
Shorten the name of format types
2020-04-28 07:56:36 -07:00
Chris Robinson
aff410fa6d
Avoid using some more AL types
2020-04-23 04:57:04 -07:00
Chris Robinson
d67cba99bd
Clean up some more unnecessary uses of AL types
2020-04-08 10:15:43 -07:00
Chris Robinson
a0b7638d63
Add an extension to change a buffer's unpack ambisonic order
2020-04-04 03:10:01 -07:00
Chris Robinson
fc906c97f5
Track a buffer's ambisonic order
2020-04-04 01:52:29 -07:00
Chris Robinson
902f5a0dd2
Add an ambisonic order parameter to the buffer channel count
2020-04-03 21:43:57 -07:00
Chris Robinson
fb07612545
Get rid of MAX_INPUT_CHANNELS
2020-03-28 18:15:05 -07:00
Chris Robinson
3122c3b4a1
Handle running the buffer callback in the voice
2020-02-17 17:13:25 -08:00
Chris Robinson
ccc6da0a5b
Set and retrieve a buffer's callback
2020-02-17 00:22:51 -08:00
Chris Robinson
3156b17057
Stub out an interface for a callback-driven buffer
2020-02-16 23:49:29 -08:00
Chris Robinson
8a9eef70af
Use struct methods to get a buffer's format info
2020-01-18 13:23:59 -08:00
Chris Robinson
799c60f3bb
Add an interface to set a B-Format buffer's layout and scaling
2019-12-02 11:51:27 -08:00
Chris Robinson
0cba99ed1b
Avoid static constexpr for arrays iterated over at run-time
2019-10-25 01:43:23 -07:00
Chris Robinson
564c953e94
Make the buffer frequency unsigned
2019-09-21 16:47:33 -07:00
Chris Robinson
42ae95b8fa
Remove a couple no-op statements
2019-09-13 14:44:52 -07:00
Chris Robinson
5ca8796d6a
Clean up some lambda definitions
2019-09-12 17:10:33 -07:00
Chris Robinson
6ca8fadd58
Fix counting free objects
2019-09-12 12:14:23 -07:00
Chris Robinson
07e2aa3bc0
Clean up some more implicit conversions
2019-09-11 14:33:26 -07:00
Chris Robinson
681c78d348
Allocate buffer batches separately from buffers
2019-09-11 12:28:33 -07:00
Chris Robinson
3d7ce5a860
Use global placement new for AL object batches
2019-09-01 18:07:16 -07:00
Chris Robinson
2fa2c35bdc
Modify LIKELY and UNLIKELY to not need extra parenthesis
2019-08-04 11:59:14 -07:00
Chris Robinson
33bcced82a
Use a smart pointer for holding the context's device
2019-08-01 19:44:09 -07:00
Chris Robinson
65f7fc610e
Add a common base for auto-deleting ref-counted objects
...
Which will also work as the basis for a future intrusive_ptr
2019-08-01 13:43:32 -07:00