Chris Robinson
aeb3849904
Also extract the Android support includes
2018-11-06 20:04:28 -08:00
Chris Robinson
620ae6491b
Handle CMake policy CMP0075
2018-11-06 19:43:14 -08:00
Chris Robinson
8954d3a438
Fix Android extraction paths
2018-11-06 19:34:19 -08:00
Chris Robinson
9d4af941b9
Update Travis build images
...
GCC 4.x is too problematic with C++11. Ubuntu Xenial has GCC 5 which has more
complete C++11 conformance. For Android, NDK r16 includes libc++ as an
alternative to the deprecated GCC 4.9's libstdc++.
2018-11-06 19:23:00 -08:00
Chris Robinson
bf63c3d3d8
Don't set _FILE_OFFSET_BITS on Android
2018-11-06 19:15:09 -08:00
Chris Robinson
27fbccfb23
Don't directly declare standard function names
2018-11-06 19:14:17 -08:00
Chris Robinson
d76e9800da
Use a more appropriate type for the result of tellg
2018-11-06 18:55:00 -08:00
Chris Robinson
3b664041ba
Convert the DSound backend to C++
2018-11-06 02:17:20 -08:00
Chris Robinson
9fa31fcd07
Avoid moving istringstreams
...
Doesn't work with GCC 4.x. Hopefully swapping does.
2018-11-04 19:11:07 -08:00
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