Chris Robinson
becbaab2dc
Remove some unnecessary static specifiers
2018-11-18 22:14:44 -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
0851dc12b4
Remove an unused typedef
2018-11-18 04:26:28 -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
4dc8f44d00
Move the alignment-aware allocator and vector to headers
2018-11-18 01:33:26 -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
d10301c209
Remove unused headers and checks
2018-11-17 19:52:54 -08:00
Chris Robinson
1468dee831
Convert bs2b.c to C++
2018-11-17 18:54:10 -08:00
Chris Robinson
9992cef915
Remove now unneeded inldefs.c
...
All code using inline functions is now C++, so will generate callable functions
as-needed.
2018-11-17 17:52:23 -08:00
Chris Robinson
7f69dbb517
Convert the mixers to C++
2018-11-17 17:49:55 -08:00
Chris Robinson
2d4ff77410
Remove ASSUME_ALIGNED
...
It's become a liability with C++ since it returns void* instead of the input
pointer type, and it doesn't seem to help optimizations anyway (auto-
vectorization still produces unaligned loads and stores).
2018-11-17 17:35:52 -08:00
Chris Robinson
e5442db803
Convert the filters to C++
2018-11-17 17:22:32 -08:00
Chris Robinson
057b1411f9
Convert ringbuffer.c to C++
2018-11-17 07:45:10 -08:00
Chris Robinson
ff4219e54e
Convert mastering.c to C++
2018-11-17 07:40:10 -08:00
Chris Robinson
6e6a024058
Convert converter.c to C++
2018-11-17 07:35:11 -08:00
Chris Robinson
13478126cb
Convert the remaining effects to C++
2018-11-17 07:08:41 -08:00
Chris Robinson
93d96ced9c
Convert the dedicated, distortion, echo, and equalizer to C++
2018-11-17 06:53:20 -08:00
Chris Robinson
ad34855a2b
Add a couple missing includes
2018-11-17 06:11:55 -08:00
Chris Robinson
7b537c795b
Don't pass the current thread to althrd_setname
2018-11-17 06:07:04 -08:00
Chris Robinson
ccdaca80c9
Use standard complex types instead of custom
2018-11-17 04:14:57 -08:00
Chris Robinson
b485cbe53a
Make the Hann windows const
2018-11-17 02:30:41 -08:00
Chris Robinson
b69b3bd89f
Convert fshifter.c to C++
2018-11-17 01:58:38 -08:00
Chris Robinson
aa66ed0ea5
Convert modulator.c to C++
2018-11-17 01:53:39 -08:00
Chris Robinson
a7d3c24b51
Convert null.c to C++
2018-11-17 01:49:26 -08:00
Chris Robinson
557048afa2
Convert pshifter.c to C++
2018-11-17 01:36:47 -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
8410e71a34
Convert the reverb effect to C++
2018-11-16 21:31:52 -08:00
Chris Robinson
a68d0b68d7
Convert mixvoice.c to C++
2018-11-16 20:46:50 -08:00
Chris Robinson
53373a43b8
Convert ALu.c to C++
...
Required changes to bsincgen to generate C++-friendly structures.
2018-11-16 20:32:19 -08:00
Chris Robinson
ce370be52b
Remove some unneeded includes
2018-11-16 08:09:56 -08:00