Chris Robinson
eefc379a23
Use a unique_ptr for Uhj2Encoder
2018-11-21 15:31:32 -08:00
Chris Robinson
9f2a77f788
Use RAII when handling the mixer's FPU state
2018-11-21 09:07:02 -08:00
Chris Robinson
8f43f737ba
Avoid using ATOMIC macros
2018-11-21 07:52:17 -08:00
Chris Robinson
de4bb7aca1
Replace a couple more almtx_lock/unlock calls
2018-11-21 06:41:49 -08:00
Chris Robinson
75213ee6f9
Always use RAII with EffectSlotLock
2018-11-21 05:35:47 -08:00
Chris Robinson
757c42c74b
Use a normal vector for the distance buffer storage
2018-11-21 05:06:31 -08:00
Chris Robinson
4c64fa1e4e
Make VerifyContext return a context reference
2018-11-21 02:02:53 -08:00
Chris Robinson
ed06169569
Use RAII locks with the BackendLock
2018-11-20 23:42:21 -08:00
Chris Robinson
d64d64d4a5
Use an enum class for AmbiLayout/Norm settings
2018-11-20 22:47:24 -08:00
Chris Robinson
f3e01ae9d4
Use a normal vector for the source send properties
2018-11-20 12:25:15 -08:00
Chris Robinson
f9e969a339
Use a standard mutex for the event callback lock
2018-11-20 10:55:57 -08:00
Chris Robinson
191ea90de3
Use atomic_flags and atomic<bools>s where appropriate
2018-11-20 10:45:01 -08:00
Chris Robinson
1e31ac469e
Store effect slots as unique_ptrs
2018-11-20 10:01:20 -08:00
Chris Robinson
1df42c4a0f
Use a unique_ptr for the default effect slot
2018-11-20 05:01:08 -08:00
Chris Robinson
8472a9d916
Use proper inheritence for the effect state objects
2018-11-19 22:34:26 -08:00
Chris Robinson
f0cc34a60e
Use a vector to handle mixing buffer storage
2018-11-19 06:22:09 -08:00
Chris Robinson
e24435ef58
Remove the atomic exchange macros
2018-11-19 03:21:58 -08:00
Chris Robinson
c5142530d6
Simplify the RefCount type
2018-11-19 02:17:06 -08:00
Chris Robinson
e0d0faaa63
Use a normal vector for filter sublists
2018-11-18 23:02:31 -08:00
Chris Robinson
362979cefb
Use a normal vector for effect sublists
2018-11-18 22:50:04 -08:00
Chris Robinson
81aed2ea01
Use a normal vector for buffer sublists
2018-11-18 22:31:51 -08:00
Chris Robinson
e23796aabe
Use a standard string for the enumerated HRTF names
2018-11-18 21:18:19 -08:00
Chris Robinson
140c139852
Use a standard string for the device's HRTF name
2018-11-18 19:28:01 -08:00
Chris Robinson
2c06ec7093
Use a regular vector for the enumerated HRTF list
2018-11-18 19:19:35 -08:00
Chris Robinson
bafcba7194
Use a std::string for the device name
2018-11-18 18:45:45 -08:00
Chris Robinson
b10e7d08c3
Use a std::thread for the event thread
2018-11-18 18:04:27 -08:00
Chris Robinson
aef52be432
Fix a float constant type
2018-11-18 08:03:22 -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
336b7b7799
Use constructors/destructors with ALCdevice
...
As with ALCcontext, this is really ALCdevice_struct because of the way it's
declared in the public header.
2018-11-18 07:33:42 -08:00
Chris Robinson
1bc88ed751
Avoid a fixed-size string buffer
2018-11-18 07:00:43 -08:00
Chris Robinson
5bbddff2f3
Separate class and variable definitions
2018-11-18 06:46:50 -08:00
Chris Robinson
e194d896de
Use constructors/destructors for ALeffectslot
2018-11-18 06:35:45 -08:00
Chris Robinson
ad82a70a65
Use cleaner constructor/destructor calls for ALCcontext
...
Note that the actual type name is ALCcontext_struct, because of how it's
defined in AL/alc.h (ALCcontext is just an alias to struct ALCcontext_struct).
2018-11-18 05:40:00 -08:00
Chris Robinson
f48be9d73b
Remove the pointer-specific atomic exchange macros
2018-11-18 03:59:39 -08:00
Chris Robinson
7433cb5f4c
Avoid naming a struct member the same as an enum type
2018-11-18 03:39:32 -08:00
Chris Robinson
310770c531
Add and use new/delete operators to ALeffectslot
2018-11-18 02:52:46 -08:00
Chris Robinson
3eededf5d6
Use a normal vector for auxiliary effect slots
2018-11-18 02:39:27 -08:00
Chris Robinson
7b95712f38
Use a proper vector for the source sublists
2018-11-18 02:15:31 -08:00
Chris Robinson
d7cc9b912b
Use new/delete for ALCcontext objects
2018-11-18 00:38:31 -08:00
Chris Robinson
38d6df9c1d
Store the listener directly in the context
2018-11-17 23:41:11 -08:00
Chris Robinson
e79d9bdd1a
Move the vector and matrix declarations to a separate header
2018-11-17 23:21:37 -08:00
Chris Robinson
fa3c34268d
Move the ALCcontext definition to its own header
2018-11-17 23:02:27 -08:00
Chris Robinson
7b537c795b
Don't pass the current thread to althrd_setname
2018-11-17 06:07:04 -08:00
Chris Robinson
1bd40d9434
Put a lambda in the call_once call
...
This optimizes better and avoids a visible symbol (templating to an anonymous
lambda type will generate a unique anonymous instantiation, making inlining
more likely, whereas passing a general function pointer/reference type will
likely use or generate a publically available instance).
2018-11-16 22:41:04 -08:00
Chris Robinson
de8d8b5216
Remove unused altss types and methods
2018-11-16 22:12:35 -08:00
Chris Robinson
ee8e6733e1
Avoid using C-style TLS
2018-11-16 21:55:11 -08:00
Chris Robinson
02eae1123f
Use iterators instead of indexed loops
2018-11-16 05:23:42 -08:00
Chris Robinson
fc8191012a
Cleanup some syntax in alc.cpp
2018-11-16 00:06:54 -08:00
Chris Robinson
7ef7477a13
Convert the PortAudio backend factory
2018-11-15 23:50:15 -08:00
Chris Robinson
78eb68a89f
Convert the WinMM backend factory
2018-11-15 23:41:09 -08:00