Commit Graph

73 Commits

Author SHA1 Message Date
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