Chris Robinson
5ff8d5ae32
Add an exception class to cover backend creation and opening
2019-05-04 18:03:25 -07:00
Chris Robinson
85439cbd87
Add some missing include directories
2019-04-29 20:03:51 -07:00
ArthurSonzogni
2eb657f2df
CMAKE: export PUBLIC headers of OpenAL.
...
Remove the cmake function:
INCLUDE_DIRECTORIES(..)
Replace it by:
TARGET_INCLUDE_DIRECTORIES(...)
It gives us the opportunity to define whether or not OpenAL dependencies
should be exported or not (using PUBLIC or PRIVATE keywoard).
[user visible changes]
The OpenAL PUBLIC headers are exported. When a target depends on OpenAL,
it will have access to its public headers.
Some small refactor along the way.
2019-04-30 04:17:43 +02:00
Chris Robinson
460a01443c
Add macros to stop exceptions from leaving API functions
...
Effectively makes the functions act as noexcept, since there's no meaningful
reason to propogate exceptions from "C" functions. Currently only applied to
ALC functions, but can incrementally be applied to AL functions too. In the
future, this could also handle ALC and AL errors with unique exception types
(functions that utilize this behavior would need to ensure proper cleanup).
2019-04-09 20:48:01 -07:00
Chris Robinson
f392d9c138
Move makemhr's .def loading code to a separate source
2019-03-24 19:00:58 -07:00
Chris Robinson
7c16b1e02f
Rename makehrtf to makemhr and move it to a subdirectory
2019-03-24 17:31:10 -07:00
Chris Robinson
e7e585f65c
Use the effect state factory to set the default effect props
2019-03-22 15:00:37 -07:00
Chris Robinson
73a43fb19c
Don't bother trying _controlfp or __control87_2
2019-03-18 20:27:25 -07:00
Chris Robinson
6a0b2ed0ca
Check compile-time support for SSE intrinsics
2019-03-18 20:05:15 -07:00
Chris Robinson
821c7565cf
Don't bother checking for SSE1 alone
...
SSE2 support is now the minimum required for SSE. Run-time can still disable
SSE2-specific functions separately from SSE1, but build-time support can't be
separated.
2019-03-18 17:38:02 -07:00
Chris Robinson
e61cec8f17
Don't bother checking for C99 inline semantics
...
Should be unneeded with C++
2019-03-18 14:31:12 -07:00
Chris Robinson
2fc8461c14
Don't check for __int64
2019-02-11 11:44:35 -08:00
Chris Robinson
995c9649cb
Move some number-related stuff to a separate header
2019-02-11 11:07:06 -08:00
Chris Robinson
ebb46cf4cf
Rename a header
...
To workaround an apparent MSVC error
2019-01-23 15:09:11 -08:00
Chris Robinson
ce3acf4d1b
Make hrtf_inc.cpp a proper header
2019-01-23 12:33:18 -08:00
Chris Robinson
3ab4bc5186
Don't install utilities that aren't built
2019-01-22 17:34:45 -08:00
Chris Robinson
5c0dcd1f24
Fix building makehrtf and sofa-info on Windows
2019-01-22 13:17:21 -08:00
Chris Robinson
ecafa19bcf
Support loading sofa files in makehrtf
...
The makehrtf utility now requires libmysofa to build. This isn't necessay for
the OpenAL Soft library itself.
2019-01-22 11:24:57 -08:00
Chris Robinson
1565d7e276
Add a sofa-info utility to check sofa files
2019-01-21 10:23:17 -08:00
Chris Robinson
648b76ed65
Move some macros to a common header
2019-01-07 01:12:09 -08:00
Chris Robinson
4c4572ae8a
Compile makehrtf as C++
2018-12-31 18:23:30 -08:00
Chris Robinson
3d92e8c4df
Convert the backends to use proper inheritence
2018-12-28 22:56:20 -08:00
Chris Robinson
8336de6653
Rename a couple filter files for consistency
2018-12-25 10:28:02 -08:00
Chris Robinson
e0f635b20d
Move some ambisonic-related macros to a separate header
2018-12-15 03:30:47 -08:00
Chris Robinson
43f6a7c626
Remove an unused source
2018-12-12 04:34:09 -08:00
Chris Robinson
a4009c47e7
Add a cmake option to specify prebuilt native tools
...
This should only be used with automated build systems that guarantee the native
tools' binaries are up-to-date. Otherwise it's best to leave it alone so it can
automatically rebuild them as needed.
2018-12-08 17:22:10 -08:00
Chris Robinson
2179388430
Remove unneeded mutex checks
2018-11-27 15:23:18 -08:00
Chris Robinson
ee2d756d94
Disable MSVC warning C4065
...
"switch statement contains 'default' but no 'case' labels"
2018-11-27 00:04:55 -08:00
Chris Robinson
2530370ff2
Avoid relying on struct timespec
2018-11-26 23:45:04 -08:00
Chris Robinson
bf9db1fe3d
Remove althrd_t from Windows
2018-11-26 20:34:16 -08:00
Chris Robinson
71660df5e5
Move bs2b.h to a more appropriate place
2018-11-24 19:54:30 -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
1ac41d3ea0
Convert almalloc.c to C++
2018-11-17 19:01:10 -08:00
Chris Robinson
8c69fb046c
Always use C++11 atomics
2018-11-17 18:56:00 -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
1fae8c16a8
Convert threads.c to C++
...
Also vastly simplify and remove related code.
2018-11-17 05:31:29 -08:00
Chris Robinson
ccdaca80c9
Use standard complex types instead of custom
2018-11-17 04:14:57 -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