623 Commits

Author SHA1 Message Date
Chris Robinson
6510a44dba Use C++ more with the ALSA backend 2018-11-13 23:07:23 -08:00
Chris Robinson
5867c7b8c2 Don't bother inlining some functions 2018-11-13 19:45:26 -08:00
Chris Robinson
7088f4e34a Avoid calling through the vtable in the backends 2018-11-13 18:41:24 -08:00
Chris Robinson
0dfb805fa2 Use utf8_to_wstr to convert UTF-8 to wstring 2018-11-13 06:29:02 -08:00
Chris Robinson
2445bfd578 Convert the CoreAudio backend to C++ 2018-11-13 02:09:21 -08:00
Chris Robinson
0ff349a714 Convert the QSA backend to C++
This may very well not work, since there's no testing and my IDE is not able to
show real problems over the incompatibilities with ALSA headers.
2018-11-13 01:56:34 -08:00
Chris Robinson
09ea1d58f6 Convert the backend base to C++ 2018-11-13 01:39:42 -08:00
Chris Robinson
74d1337cc7 Convert the ALSA backend to C++ 2018-11-13 01:36:17 -08:00
Chris Robinson
1f34af4718 Convert the JACK backend to C++ 2018-11-13 01:20:15 -08:00
Chris Robinson
51a1310902 Convert the OpenSL backend to C++ 2018-11-13 00:33:25 -08:00
Chris Robinson
c93b7ca0da Convert the OSS backend to C++ 2018-11-12 23:49:11 -08:00
Chris Robinson
d9a47ab63c Convert the PortAudio backend to C++ 2018-11-12 23:32:11 -08:00
Chris Robinson
dd9ccde055 Convert the SoundIO backend to C++ 2018-11-12 23:17:27 -08:00
Chris Robinson
efae7bfb72 Convert the Solaris backend to C++ 2018-11-12 23:06:31 -08:00
Chris Robinson
e7ab5053e4 Convert the SDL2 backend to C++ 2018-11-12 22:57:39 -08:00
Chris Robinson
4793e5c4ae Use C++ for GetProcBinary 2018-11-11 16:09:24 -08:00
Chris Robinson
d3c4bab7bb Use a vector in the wave backend 2018-11-11 03:29:43 -08:00
Chris Robinson
f99b16daa9 Use C++ threads in the null and wave backends 2018-11-11 00:33:04 -08:00
Chris Robinson
3939878cc0 Use standard timing methods for the null and wave backends 2018-11-10 19:31:23 -08:00
Chris Robinson
dc31969b04 Get rid of the last few al_fopen calls 2018-11-10 04:27:10 -08:00
Chris Robinson
e8679e7214 Convert the null backend to C++ 2018-11-09 03:46:30 -08:00
Chris Robinson
781ca7c58b Convert the loopback backend to C++ 2018-11-09 03:15:57 -08:00
Chris Robinson
b327a50a15 Add missing consttructor and destructor calls for the wave backend 2018-11-09 02:55:28 -08:00
Chris Robinson
b2cdfe58eb Convert the wave backend to C++ 2018-11-09 01:55:54 -08:00
Chris Robinson
55c860deec Use C++ with the winmm backend 2018-11-09 01:34:59 -08:00
Chris Robinson
75eeb6ba4b Convert the WinMM backend to C++ 2018-11-08 20:32:31 -08:00
Chris Robinson
41aa9845c4 Hide function pointer wrapper macros for IDE parsing 2018-11-07 18:26:33 -08:00
Chris Robinson
3cb0999a23 Use the proper enum values for atomic ops 2018-11-06 21:33:08 -08:00
Chris Robinson
3b664041ba Convert the DSound backend to C++ 2018-11-06 02:17:20 -08:00
Chris Robinson
e9d17c5191 Move wstr_to_utf8 to compat.h 2018-11-03 12:55:02 -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
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
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