Chris Robinson
f23ff0394d
Specify the buffer size as itself instead of the period count
...
Certain backends don't need a buffer size to be a strict multiple of the period
count, which allows a little more flexibility. The period/update size simply
acts as the minimum request, which helps control CPU load by determining how
often parameter and other pre-mixing updates are processed.
2019-04-26 15:58:25 -07:00
Chris Robinson
61f7e7716c
Remove the backend factory deinit method
...
It was never actually called anywhere, and there's no safe place where it can
be called. It's probably better to let the individual backends worry about
cleaning themselves up anyway.
2019-04-14 04:05:07 -07:00
Chris Robinson
9695952c8d
Rename DevProbe enum names
2019-03-19 00:24:54 -07:00
Chris Robinson
5e03941701
Use an atomic bool on things that only take true or false
2018-12-30 21:58:14 -08:00
Chris Robinson
9f5c9a2260
Rename BackendLock to StateLock
2018-12-30 21:38:42 -08:00
Chris Robinson
9b0b722d72
Add missing includes for mem_fn
2018-12-29 03:11:06 -08:00
Chris Robinson
71a4d6db6f
Return a unique_ptr for the backend
2018-12-29 02:16:16 -08:00
Chris Robinson
3c637d5fd7
Make the backend type an enum class
2018-12-29 01:38:26 -08:00
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
885f68268f
Turn more methods into member functions
2018-12-27 20:24:35 -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
7880f27054
Rename DSound class members for consistency
2018-12-27 13:07:14 -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
b779ebb512
Fix some MSVC conversion warnings
2018-12-12 21:18:31 -08:00
Chris Robinson
461ef4196e
Avoid using ATOMIC_LOAD on ALCdevice::Connected
2018-11-26 18:07:52 -08:00
Chris Robinson
04c2802a82
Rename some struct members
2018-11-26 17:31:04 -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
a14f39ea06
Make ll_ringbuffer_write/read take void*/const void*
2018-11-19 04:11:21 -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
2ca6119e0e
Convert the DSound backend factory
2018-11-15 23:32:28 -08:00
Chris Robinson
7b3a2085aa
Use a regular char* for the device's name
2018-11-15 06:23:01 -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
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