Commit Graph

5346 Commits

Author SHA1 Message Date
Chris Robinson 4dafb7dab1 Use C++ to read and parse ambdec files 2018-11-04 15:24:24 -08:00
Chris Robinson 26f7007507 Allocate the appropriate amount in the aligned allocator 2018-11-04 15:21:03 -08:00
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