Chris Robinson
f26083e9ed
Make and use a semaphore class
2018-11-27 13:41:30 -08:00
Chris Robinson
07670ed36a
Swap context references in the move assignment
2018-11-27 10:08:25 -08:00
Chris Robinson
68eef6abb4
Use a standard mutex for the source and effect slot locks
2018-11-26 21:50:48 -08:00
Chris Robinson
2e73c2ca92
Use a standard mutex for the proplock
2018-11-26 21:39:31 -08:00
Chris Robinson
053599b243
Avoid using the ATOMIC() macro
2018-11-26 14:48:26 -08:00
Chris Robinson
bf4518fe5c
Atuomatically clean up sources with its sublist's destruction
2018-11-25 08:42:43 -08:00
Chris Robinson
7c0605f09e
Properly initialize the sublists' freemask
2018-11-25 07:40:15 -08:00
Chris Robinson
bd8db0d27b
Make GetContextRef return a ContextRef
2018-11-24 14:07:32 -08:00
Chris Robinson
df057d4118
Make the context VoiceCount atomic
2018-11-23 16:16:31 -08:00
Chris Robinson
75213ee6f9
Always use RAII with EffectSlotLock
2018-11-21 05:35:47 -08:00
Chris Robinson
4c64fa1e4e
Make VerifyContext return a context reference
2018-11-21 02:02:53 -08:00
Chris Robinson
8ec25da12e
Rename a method to be clearer about its behavior
2018-11-21 00:40:41 -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
b10e7d08c3
Use a std::thread for the event thread
2018-11-18 18:04:27 -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
0851dc12b4
Remove an unused typedef
2018-11-18 04:26:28 -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
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
fa3c34268d
Move the ALCcontext definition to its own header
2018-11-17 23:02:27 -08:00