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