Chris Robinson
fbae41020d
Remove extraneous typedef, struct, and enum keywords
2018-12-24 19:29:01 -08:00
Chris Robinson
194e7ff815
Add an in-progress extension to set the effect slot target
2018-12-24 15:52:37 -08:00
Chris Robinson
bbf9e6931c
Propagate an effectslot target property
2018-12-24 15:17:38 -08:00
Chris Robinson
e218999b4f
Dynamically sort the effect slots when mixing
...
This is to be able to support effects that output to other effects. When an
effect outputs to another effect, the former needs to process first, so the
former mixes to the latter's buffer before the latter is processed.
This sorting needs to happen in the mixer because the effect slot's "Target"
property changes asynchronously.
2018-12-22 22:31:26 -08:00
Chris Robinson
b779ebb512
Fix some MSVC conversion warnings
2018-12-12 21:18:31 -08:00
Chris Robinson
c9f5617f06
Avoid several uses of memset
2018-12-08 14:22:20 -08:00
Chris Robinson
45b65366bb
Improve some checks for compiler analysis
2018-12-02 15:29:26 -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
df3dcc879f
Get rid of the last ATOMIC macro uses
2018-11-26 18:19:58 -08:00
Chris Robinson
ec97360352
Avoid a separate function to clean up effect slots
2018-11-25 09:23:01 -08:00
Chris Robinson
9f2a77f788
Use RAII when handling the mixer's FPU state
2018-11-21 09:07:02 -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
29558c091b
Use C++ more in alAuxEffectSlot.cpp
2018-11-20 09:47:49 -08:00
Chris Robinson
eb2937de84
Avoid another case of a variable named the same as a type
2018-11-19 23:48:45 -08:00
Chris Robinson
8472a9d916
Use proper inheritence for the effect state objects
2018-11-19 22:34:26 -08:00
Chris Robinson
c5c537cc5f
Use proper inheritence for EffectStateFactory
2018-11-19 06:43:37 -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
6e114a7a70
Replace ATOMIC_REPLACE_HEAD with an inline function
2018-11-19 01:20:03 -08:00
Chris Robinson
362979cefb
Use a normal vector for effect sublists
2018-11-18 22:50:04 -08:00
Chris Robinson
e194d896de
Use constructors/destructors for ALeffectslot
2018-11-18 06:35:45 -08:00
Chris Robinson
f48be9d73b
Remove the pointer-specific atomic exchange macros
2018-11-18 03:59:39 -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
fa3c34268d
Move the ALCcontext definition to its own header
2018-11-17 23:02:27 -08:00
Chris Robinson
3bbfd0c099
Fix compilation with MSVC
2018-11-16 23:01:40 -08:00
Chris Robinson
0e0fe15b98
Convert alAuxEffectSlot.c to C++
2018-11-16 18:28:39 -08:00