5344 Commits

Author SHA1 Message Date
Chris Robinson
087fdd3ca9 Properly mark arrays constexpr and/or static 2018-11-04 15:19:48 -08:00
Chris Robinson
96819237d6 Convert ambdec.c to C++ 2018-11-03 19:51:23 -07:00
Chris Robinson
4bfaa173c4 Convert panning.c to C++ 2018-11-03 19:05:23 -07:00
Chris Robinson
ba5ec8b074 Be more C++-friendly with the B-Format decoder 2018-11-03 18:00:05 -07:00
Chris Robinson
67f9efdad4 Convert the BFormat decoder to C++ 2018-11-03 15:32:09 -07:00
Chris Robinson
12d5b638f2 Convert the band-split filter to C++ 2018-11-03 15:23:15 -07:00
Chris Robinson
18e1d10338 Convert the UHJ encoder to C++ 2018-11-03 14:40:40 -07:00
Chris Robinson
e9d17c5191 Move wstr_to_utf8 to compat.h 2018-11-03 12:55:02 -07:00
Chris Robinson
5482efc921 Make the polymorphic allocators allocate cleared memory 2018-11-02 18:48:08 -07:00
Chris Robinson
a7dcc1c6d1 Expand the anonymous namespaces 2018-11-02 14:56:10 -07:00
Chris Robinson
b54c4b02c7 Add a wrapper to manage PROPVARIANT objects 2018-11-02 13:32:42 -07:00
Chris Robinson
9e8e3c146f Workaround lack of roundf with early MSVC 2018-11-02 09:39:57 -07:00
Chris Robinson
e20d2cdbce Use HUGE_VALF instead of INFINITY
Older MSVC lacks INFINITY, and we define a HUGE_VALF fallback when needed.
2018-11-02 09:25:19 -07:00
Chris Robinson
4ec757c1de Specify the correct array size for casting 2018-11-02 09:22:12 -07:00
Chris Robinson
aaa31d987f Check the correct propvariant object 2018-11-02 00:42:50 -07:00
Chris Robinson
d66664122a Try another fix to declare GUIDs in C++ 2018-11-02 00:13:07 -07:00
Chris Robinson
66df771d96 Make the polymorphism macros less hacky in C++
In particular, it relies on derived structs using C++-style inheritence. Any
implementation's source that's converted to C++ will consequently need to make
that change.
2018-11-01 23:52:53 -07:00
Chris Robinson
7307c2d5aa Workaround some issue with DEFINE_GUID in C++ 2018-11-01 21:42:26 -07:00
Chris Robinson
a90b17113a Use more C++ types where possible 2018-11-01 21:39:34 -07:00
Chris Robinson
434582b8e3 Use an anonymous namespace instead of static for some things 2018-11-01 20:18:51 -07:00
Chris Robinson
1ca4e268f6 Preliminary conversion of the WASAPI backend to C++
A very sparse conversion. Will clean up more later after seeing what MSVC does.
2018-11-01 16:26:42 -07:00
Chris Robinson
dee2905f4a Remove unused CXX_FLAGS variable
The Visual Studio generators apparently don't like the $<COMPILE_LANGUAGE:...>
expression. Since it's not actually used for anything at the moment, remove it.
2018-11-01 16:10:46 -07:00
Chris Robinson
c0ce71a175 Fix a macro check 2018-11-01 16:00:38 -07:00
Chris Robinson
11967dc2da Use a wrapper function to simplify a check 2018-11-01 16:00:16 -07:00
Chris Robinson
69162cf9c6 Use perfect forwarding to initialize DevMap entries 2018-11-01 13:12:42 -07:00
Chris Robinson
cd68530ab4 Simplify a couple loops 2018-11-01 11:44:11 -07:00
Chris Robinson
5d092a1c58 Use the appropriate enums for standard atomics 2018-11-01 08:43:31 -07:00
Chris Robinson
d28c0eb556 Avoid uniform initialization with references
Also doesn't work with GCC 4.x
2018-11-01 08:41:23 -07:00
Chris Robinson
48f877e859 Remove unused header 2018-11-01 08:19:51 -07:00
Chris Robinson
ccf356a03d Include a missing header for atomic 2018-11-01 08:17:23 -07:00
Chris Robinson
95966c4d92 Fix another use of auto uniform initialization 2018-11-01 08:15:47 -07:00
Chris Robinson
759c3a996c Avoid all uniform initialization with auto
Because of early C++11 (GCC 4.x) deficiencies, it's not interpreted correctly.
Either declare the type name explicitly with uniform initization, or use auto
with = initialization. It'll be fine when updating to GCC 5 or Clang 3.6.
2018-11-01 08:04:21 -07:00
Chris Robinson
353bb1ed17 Avoid uniform initialization on auto for integer types
To work around a deficiency with early C++11 compilers (GCC 4.x).
2018-10-31 22:10:26 -07:00
Chris Robinson
d41fbd5c2d Convert the PulseAudio backend to C++ 2018-10-31 20:09:14 -07:00
Chris Robinson
de275408fa Make a const array constexpr 2018-10-31 13:31:14 -07:00
Chris Robinson
0e7986eaa8 Move some extern inline declarations to C 2018-10-31 13:21:05 -07:00
Chris Robinson
9dba90fa20 Avoid assigning in an if statement 2018-10-31 13:00:08 -07:00
Chris Robinson
77bac8eeaa Add a missing <array> include 2018-10-31 12:01:07 -07:00
Chris Robinson
4d422dfb24 Fix some backup atomic macros 2018-10-31 12:00:02 -07:00
Chris Robinson
624bc1c839 Convert alBuffer.c to C++
A test to ensure everything works.
2018-10-31 10:37:16 -07:00
Chris Robinson
4b7af24ed5 Add specializations for lock_guard and unique_lock to take almtx_t 2018-10-31 10:35:12 -07:00
Chris Robinson
1e8c6df7b9 Add a C++ ContextRef helper to manage a ALCcontext reference 2018-10-31 10:05:15 -07:00
Chris Robinson
da150572f9 Clean up the DriverIface in its destructor 2018-10-30 17:03:21 -07:00
Chris Robinson
615c025b67 Add a missing include for array 2018-10-30 16:35:14 -07:00
Chris Robinson
08aa9d898b Remove an unnecessary include 2018-10-30 16:32:25 -07:00
Chris Robinson
6a8f5e5950 Build the router with AppVeyor 2018-10-30 15:38:11 -07:00
Chris Robinson
f747ac8882 Clean up the router's PtrIntMap 2018-10-30 14:28:19 -07:00
Chris Robinson
44f91760b5 Use std::array instead of raw arrays 2018-10-30 10:01:49 -07:00
Chris Robinson
e2a1dd4503 Use std::wstring in place of some fixed WCHAR arrays 2018-10-30 09:31:52 -07:00
Chris Robinson
ce212c911c Add a cmake option to static-link winpthread 2018-10-30 09:24:39 -07:00