Commit Graph

56 Commits

Author SHA1 Message Date
Chris Robinson 9f5c9a2260 Rename BackendLock to StateLock 2018-12-30 21:38:42 -08:00
Chris Robinson 24e763f2a1 Get rid of ALCdevice_Lock/Unlock 2018-12-29 14:00:34 -08:00
Chris Robinson 4dca2f2ee5 Use a unique_ptr for the AsyncEvents ringbuffer 2018-12-27 10:44:02 -08:00
Chris Robinson d367093c06 Use std::array for appropriate source and listener properties 2018-12-26 22:27:34 -08:00
Chris Robinson a4ac43b602 Avoid a lambda to find a not-null entry in an array 2018-12-26 21:55:39 -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 63df7cd537 Construct AsyncEvent objects directly in the ringbuffer 2018-12-25 09:32:38 -08:00
Chris Robinson fbae41020d Remove extraneous typedef, struct, and enum keywords 2018-12-24 19:29:01 -08:00
Chris Robinson 334b3a905a Clean up some math stuff 2018-12-22 16:01:14 -08:00
Chris Robinson b779ebb512 Fix some MSVC conversion warnings 2018-12-12 21:18:31 -08:00
Chris Robinson 0f24139b57 Use a constructor instead of a macro to initialize AsyncEvent 2018-12-06 22:24:20 -08:00
Chris Robinson 10b39d57d5 Use class methods for the NFC filters 2018-12-05 15:20:52 -08:00
Chris Robinson 31b54eb86a Avoid a few more explicit loops 2018-12-03 01:41:52 -08:00
Chris Robinson 45b65366bb Improve some checks for compiler analysis 2018-12-02 15:29:26 -08:00
Chris Robinson 60254488e9 Add a couple missing source lock guards 2018-12-02 14:36:53 -08:00
Chris Robinson 7b1548af3c Handle source state changed events uniquely in the event loop
To avoid the need of constructing the string in the mixer thread, which is
commonly formatted anyway.
2018-11-30 21:39:59 -08:00
Chris Robinson 4b7ac4a6ed Don't bother making ALvoiceProps dynamically sized 2018-11-30 16:56:23 -08:00
Chris Robinson 364850e8f9 Move a variable declaration to a more appropriate place 2018-11-30 10:08:18 -08:00
Chris Robinson b582f1346a Avoid hard-coding a couple sizes 2018-11-29 22:56:33 -08:00
Chris Robinson 8ca8da30bd Store the source ID with the voice instead of the source pointer 2018-11-29 22:49:01 -08:00
Chris Robinson f26083e9ed Make and use a semaphore class 2018-11-27 13:41:30 -08:00
Chris Robinson d06f76957c Remove althrd_yield 2018-11-26 23:06:49 -08:00
Chris Robinson 2d45ec8dc3 Use a standard mutex for the remaining locks 2018-11-26 22:06:53 -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 d8b9230ee4 Use a standard mutex for the backend lock 2018-11-26 21:39:31 -08:00
Chris Robinson 75b39cafc8 Get rid of some unnecessary functions 2018-11-26 18:25:29 -08:00
Chris Robinson a6923790fa Avoid using ATOMIC_INIT 2018-11-26 14:31:54 -08:00
Chris Robinson 8ae07ad1ae Automatically clean up buffers with ther sublist 2018-11-25 15:30:32 -08:00
Chris Robinson bf4518fe5c Atuomatically clean up sources with its sublist's destruction 2018-11-25 08:42:43 -08:00
Chris Robinson d83cff02e5 Ensure an enum is the appropriate size/type 2018-11-24 11:41:50 -08:00
Chris Robinson df057d4118 Make the context VoiceCount atomic 2018-11-23 16:16:31 -08:00
Chris Robinson 73528c9f55 Fix an incorrect check 2018-11-23 14:42:02 -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 bb9d8db73c Clean up alSource.cpp some 2018-11-22 12:02:02 -08:00
Chris Robinson d20522166e Use RAII more in alSource.cpp 2018-11-21 11:11:25 -08:00
Chris Robinson 75213ee6f9 Always use RAII with EffectSlotLock 2018-11-21 05:35:47 -08:00
Chris Robinson ed06169569 Use RAII locks with the BackendLock 2018-11-20 23:42:21 -08:00
Chris Robinson f3e01ae9d4 Use a normal vector for the source send properties 2018-11-20 12:25:15 -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 ac2a420351 Remove the ATOMIC_THREAD_FENCE macro 2018-11-19 05:04:17 -08:00
Chris Robinson a14f39ea06 Make ll_ringbuffer_write/read take void*/const void* 2018-11-19 04:11:21 -08:00
Chris Robinson c01743fe5d Remove the CONST_CAST hack 2018-11-19 03:53:31 -08:00
Chris Robinson e24435ef58 Remove the atomic exchange macros 2018-11-19 03:21:58 -08:00
Chris Robinson 6e114a7a70 Replace ATOMIC_REPLACE_HEAD with an inline function 2018-11-19 01:20:03 -08:00
Chris Robinson e0d0faaa63 Use a normal vector for filter sublists 2018-11-18 23:02:31 -08:00
Chris Robinson 81aed2ea01 Use a normal vector for buffer sublists 2018-11-18 22:31:51 -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