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