5444 Commits

Author SHA1 Message Date
Chris Robinson
9d43b548cc Convert the ALSA backend factory 2018-11-15 21:33:44 -08:00
Chris Robinson
ead830814b Convert the CoreAudio backend factory 2018-11-15 21:24:09 -08:00
Chris Robinson
b1fb2e9e14 Convert the WASAPI backend factory 2018-11-15 21:14:20 -08:00
Chris Robinson
e716c7b988 Convert the PulseAudio backend factory 2018-11-15 19:57:21 -08:00
Chris Robinson
4311c609e4 Update the loopback backend 2018-11-15 19:42:13 -08:00
Chris Robinson
49d8ac2537 Start a new backend factory API
Using proper class inheritance. Be aware this breaks all backends except null
(and loopback). They will be restored individually in due time.
2018-11-15 19:15:14 -08:00
Chris Robinson
7c93308771 Remove checks for functions that always exist
They're part of C++11 and available on the testing systems. If some system has
trouble, switching to proper C++ calls should fix it.
2018-11-15 17:53:05 -08:00
Chris Robinson
dc622b3182 Use std::isfinite from the cmath header 2018-11-15 06:48:52 -08:00
Chris Robinson
a3b644374b Add a missing cast for MSVC 2018-11-15 06:48:00 -08:00
Chris Robinson
245b7ff0b4 Remove the unused al_string API 2018-11-15 06:32:01 -08:00
Chris Robinson
7b3a2085aa Use a regular char* for the device's name 2018-11-15 06:23:01 -08:00
Chris Robinson
ab9f8162b8 Pass a normal const char* to EnumerateHrtf 2018-11-15 05:38:27 -08:00
Chris Robinson
9d9d626d99 Avoid some more uses of al_string 2018-11-15 05:33:02 -08:00
Chris Robinson
08bee7cb58 Search the right list for WASAPI name duplicates 2018-11-15 04:35:35 -08:00
Chris Robinson
17161131e5 Remove an unused extern inline 2018-11-15 04:28:47 -08:00
Chris Robinson
1971d0f5c6 Use std::string instead of al_string for enumerating 2018-11-15 04:24:33 -08:00
Chris Robinson
d4f64b9e29 Use a C++ mutex with the device backend base 2018-11-15 03:49:59 -08:00
Chris Robinson
b7daddb564 Try to clean up compat.h's macro block spaghetti a bit 2018-11-15 03:29:56 -08:00
Chris Robinson
8f771a0387 Convert alSource.c to C++ 2018-11-15 03:13:54 -08:00
Chris Robinson
27e7168ad4 Only declare the device backend stuff with C++ 2018-11-15 02:36:05 -08:00
Chris Robinson
1d2cc90175 Use C++ more in the OSS backend 2018-11-14 20:49:08 -08:00
Chris Robinson
83dec6b975 Use a C++ vector for enumerated OSS devices 2018-11-14 19:16:50 -08:00
Chris Robinson
3b1b029a75 Remove some now-unused function checks 2018-11-14 17:08:14 -08:00
Chris Robinson
c4d3444a6d Use std::pow and std::log2 2018-11-14 17:03:04 -08:00
Chris Robinson
46301a087c Use C++ a bit more with alc.cpp 2018-11-14 06:17:47 -08:00
Chris Robinson
3021a426c0 Convert ALc.c to C++ 2018-11-14 04:15:44 -08:00
Chris Robinson
dfcb6d3e6d More clearly check if the buffer is not empty 2018-11-14 02:41:21 -08:00
Chris Robinson
b15dcea4bb Move extern inline declarations to their own C source 2018-11-14 00:07:50 -08:00
Chris Robinson
6ae217d005 Fix some comment indentation 2018-11-13 23:26:42 -08:00
Chris Robinson
c3ee206129 Use an anonymous namespace in the OSS backend 2018-11-13 23:23:46 -08:00
Chris Robinson
6510a44dba Use C++ more with the ALSA backend 2018-11-13 23:07:23 -08:00
Chris Robinson
a5f68c2121 Avoid using ATOMIC_FLAG
Although it cant potentially be better than a regular atomic, it presents
compatibility issues when non-C11 atomics are mixed with C++
2018-11-13 20:26:32 -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
6f635d3b1a Make ReadALConfig noexcept in C++ 2018-11-13 02:15:10 -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
a6d780574d Make the enumerated HRTF entry name a char*
Would ideally be a std::string with the HRTF name itself, but they're still
seen in C code.
2018-11-12 22:26:12 -08:00
Chris Robinson
d4d0b1fdd4 Use a regular char* for the HRTF string name 2018-11-12 19:02:38 -08:00
Chris Robinson
c0f2858f3d Split Windows-specific SetRTPriority 2018-11-12 18:05:16 -08:00