805 Commits

Author SHA1 Message Date
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