Chris Robinson
399dfca1e3
Rename ALCdevice_struct and ALCcontext_struct
...
A (possibly contentious?) change in the public headers. Those names were never
part of any specification, and I don't know why the struct names differed from
the actual type name. But with C++, which takes the original struct declaration
as the original name, it was affecting the type's internal symbols.
This shouldn't affect user code since ALCdevice_struct and ALCcontext_struct
were never part of the spec. If issues arise from this change, it should be
reported.
2019-01-01 18:13:33 -08:00
Chris Robinson
5e03941701
Use an atomic bool on things that only take true or false
2018-12-30 21:58:14 -08:00
Chris Robinson
9f5c9a2260
Rename BackendLock to StateLock
2018-12-30 21:38:42 -08:00
Chris Robinson
71a4d6db6f
Return a unique_ptr for the backend
2018-12-29 02:16:16 -08:00
Chris Robinson
3d92e8c4df
Convert the backends to use proper inheritence
2018-12-28 22:56:20 -08:00
Chris Robinson
c3f370fa41
Constify and reorder a couple device fields
2018-12-27 10:25:09 -08:00
Chris Robinson
208ea76922
Cleanup some includes
2018-12-25 11:09:41 -08:00
Chris Robinson
fbae41020d
Remove extraneous typedef, struct, and enum keywords
2018-12-24 19:29:01 -08:00
Chris Robinson
ae86aef4db
Provide effect target parameters through a common struct
2018-12-24 13:29:36 -08:00
Chris Robinson
68352d3188
Apply the limiter before distance compensation
2018-12-24 07:30:01 -08:00
Chris Robinson
87724db6e3
Rename a couple HRTF structs
2018-12-22 09:20:50 -08:00
Chris Robinson
7744e4ff72
Pass RealMixParams by reference instead of pointer
2018-12-20 13:26:39 -08:00
Chris Robinson
0214a11024
Use inline methods for the device format sizes
2018-12-19 05:57:36 -08:00
Chris Robinson
b49e8985a4
Don't hardcode the channel count from the device ambisonic order
2018-12-19 03:13:15 -08:00
Chris Robinson
e2896dc839
Combine handling of attribute processing
2018-12-18 09:27:00 -08:00
Chris Robinson
e0f635b20d
Move some ambisonic-related macros to a separate header
2018-12-15 03:30:47 -08:00
Chris Robinson
2d13e0af29
Add macros for the ambisonic order masks
2018-12-14 23:26:44 -08:00
Chris Robinson
d18ae81e9c
Add POPCNT32 and CTZ32 macros
2018-12-13 22:05:47 -08:00
Chris Robinson
b779ebb512
Fix some MSVC conversion warnings
2018-12-12 21:18:31 -08:00
Chris Robinson
ed18fd76c5
Clean up a few more loops
2018-12-10 14:49:57 -08:00
Chris Robinson
5ea3c8fb60
Use member functions for BFormatDec and AmbiUpsampler
2018-12-08 02:50:34 -08:00
Chris Robinson
0f24139b57
Use a constructor instead of a macro to initialize AsyncEvent
2018-12-06 22:24:20 -08:00
Chris Robinson
6409910543
Handle EventType_BufferCompleted uniquely
2018-12-04 16:33:26 -08:00
Chris Robinson
7b1548af3c
Handle source state changed events uniquely in the event loop
...
To avoid the need of constructing the string in the mixer thread, which is
commonly formatted anyway.
2018-11-30 21:39:59 -08:00
Chris Robinson
c5d5d574e6
Reorganize some device members
2018-11-29 13:10:46 -08:00
Chris Robinson
2d45ec8dc3
Use a standard mutex for the remaining locks
2018-11-26 22:06:53 -08:00
Chris Robinson
d8b9230ee4
Use a standard mutex for the backend lock
2018-11-26 21:39:31 -08:00
Chris Robinson
05390fa827
Add a missing std::begin
2018-11-26 19:01:14 -08:00
Chris Robinson
75b39cafc8
Get rid of some unnecessary functions
2018-11-26 18:25:29 -08:00
Chris Robinson
053599b243
Avoid using the ATOMIC() macro
2018-11-26 14:48:26 -08:00
Chris Robinson
127ec026e7
Automatically clean up filters and effects with their sublists
2018-11-25 16:16:40 -08:00
Chris Robinson
8ae07ad1ae
Automatically clean up buffers with ther sublist
2018-11-25 15:30:32 -08:00
Chris Robinson
7c0605f09e
Properly initialize the sublists' freemask
2018-11-25 07:40:15 -08:00
Chris Robinson
f5f2cdaaf3
Add a POPCNT64 macro
...
To count the number of 1/on bits in a 64-bit value
2018-11-24 21:16:53 -08:00
Chris Robinson
9e10f632c7
Replace remaining uses of std::vector with al::vector
...
Which uses a custom allocator that uses our allocation functions.
2018-11-24 16:58:49 -08:00
Chris Robinson
438e626993
Avoid a couple explicit loops
2018-11-22 22:53:22 -08:00
Chris Robinson
976e49711b
Add noexcept to a bunch of inline functions
2018-11-22 19:47:41 -08:00
Chris Robinson
84f0f74d07
Use standard types for the device clock times
2018-11-22 12:53:16 -08:00
Chris Robinson
9c155a57fb
Use unique_ptr for DirectHrtfState
2018-11-22 07:54:29 -08:00
Chris Robinson
ab6db9a589
Clean up some unnecessary specifiers
2018-11-22 06:59:32 -08:00
Chris Robinson
9d73e03aaa
Use unique_ptr for bs2b
2018-11-22 06:49:37 -08:00
Chris Robinson
b3b4220182
Use unique_ptr for BFormatDec and AmbiUpsampler
2018-11-22 05:37:35 -08:00
Chris Robinson
671ed1abf8
Use a unique_ptr for the FrontStablizer
2018-11-22 04:53:29 -08:00
Chris Robinson
cc3e2a838f
Use a unique_ptr for the Compressor
2018-11-21 16:46:52 -08:00
Chris Robinson
eefc379a23
Use a unique_ptr for Uhj2Encoder
2018-11-21 15:31:32 -08:00
Chris Robinson
757c42c74b
Use a normal vector for the distance buffer storage
2018-11-21 05:06:31 -08:00
Chris Robinson
d64d64d4a5
Use an enum class for AmbiLayout/Norm settings
2018-11-20 22:47:24 -08:00
Chris Robinson
5881cd2183
Add compile-time traits for DevFmtType enum values
2018-11-20 02:01:03 -08:00
Chris Robinson
8472a9d916
Use proper inheritence for the effect state objects
2018-11-19 22:34:26 -08:00
Chris Robinson
f51f6703d8
Add a missing include
2018-11-19 06:50:37 -08:00