35 Commits

Author SHA1 Message Date
Chris Robinson
3d92e8c4df Convert the backends to use proper inheritence 2018-12-28 22:56:20 -08:00
Chris Robinson
67b874328d Use static_cast instead of reinterpret_cast where possible 2018-12-28 16:13:28 -08:00
Chris Robinson
01ed98c99b Finish turning ancillary backend methods into member functions 2018-12-28 15:09:51 -08:00
Chris Robinson
f2c2b7c538 Get rid of the unnecessary STATIC_(UP)CAST macros 2018-12-27 14:27:35 -08:00
Chris Robinson
4782d6107d Use a proper constructor/destructor for the ALCbackend base 2018-12-27 13:40:43 -08:00
Chris Robinson
1a4387d137 Return unique_ptrs instead of raw pointers
For the ring buffer, channel converter, and sample converter.
2018-12-27 12:55:43 -08:00
Chris Robinson
8a0295503d Clean up the ring buffer struct and use member functions 2018-12-26 21:22:17 -08:00
Chris Robinson
fbae41020d Remove extraneous typedef, struct, and enum keywords 2018-12-24 19:29:01 -08:00
Chris Robinson
10ce121dbd Use a normal delete instead of ll_ringbuffer_free
And use RingBufferPtr in more places
2018-12-22 11:38:38 -08:00
Chris Robinson
0214a11024 Use inline methods for the device format sizes 2018-12-19 05:57:36 -08:00
Chris Robinson
c9f5617f06 Avoid several uses of memset 2018-12-08 14:22:20 -08:00
Chris Robinson
57bb467072 Pass the desired resampler to CreateSampleConverter 2018-11-28 23:19:25 -08:00
Chris Robinson
38f4a0cf2c Avoid the update size going to 0 with a relatively large device period 2018-11-28 18:45:35 -08:00
Chris Robinson
9e10f632c7 Replace remaining uses of std::vector with al::vector
Which uses a custom allocator that uses our allocation functions.
2018-11-24 16:58:49 -08:00
Chris Robinson
d26b5d9467 Use proper time types for the device clock time and latency 2018-11-22 14:32:48 -08:00
Chris Robinson
ad5f9d9b22 Return the ringbuffer data pointers as a pair 2018-11-19 04:46:49 -08:00
Chris Robinson
bafcba7194 Use a std::string for the device name 2018-11-18 18:45:45 -08:00
Chris Robinson
8b8f01e25d Avoid more cases of an enum variable and type name clash 2018-11-18 08:01:50 -08:00
Chris Robinson
7b537c795b Don't pass the current thread to althrd_setname 2018-11-17 06:07:04 -08:00
Chris Robinson
b1fb2e9e14 Convert the WASAPI backend factory 2018-11-15 21:14:20 -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
08bee7cb58 Search the right list for WASAPI name duplicates 2018-11-15 04:35:35 -08:00
Chris Robinson
1971d0f5c6 Use std::string instead of al_string for enumerating 2018-11-15 04:24:33 -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
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
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