diff options
Diffstat (limited to 'alc')
-rw-r--r-- | alc/alc.cpp | 1 | ||||
-rw-r--r-- | alc/alcontext.h | 13 | ||||
-rw-r--r-- | alc/alu.cpp | 1 | ||||
-rw-r--r-- | alc/voice_change.h | 24 |
4 files changed, 27 insertions, 12 deletions
diff --git a/alc/alc.cpp b/alc/alc.cpp index c712c311..38696498 100644 --- a/alc/alc.cpp +++ b/alc/alc.cpp @@ -100,6 +100,7 @@ #include "threads.h" #include "vecmat.h" #include "vector.h" +#include "voice_change.h" #include "backends/base.h" #include "backends/null.h" diff --git a/alc/alcontext.h b/alc/alcontext.h index 37cd010d..c13930b9 100644 --- a/alc/alcontext.h +++ b/alc/alcontext.h @@ -30,6 +30,7 @@ struct ALsource; struct EffectSlot; struct EffectSlotProps; struct RingBuffer; +struct VoiceChange; enum class DistanceModel { @@ -100,18 +101,6 @@ struct ContextParams { }; -struct VoiceChange { - Voice *mOldVoice{nullptr}; - Voice *mVoice{nullptr}; - ALuint mSourceID{0}; - ALenum mState{0}; - - std::atomic<VoiceChange*> mNext{nullptr}; - - DEF_NEWDEL(VoiceChange) -}; - - struct SourceSubList { uint64_t FreeMask{~0_u64}; ALsource *Sources{nullptr}; /* 64 */ diff --git a/alc/alu.cpp b/alc/alu.cpp index 007a328b..36113b80 100644 --- a/alc/alu.cpp +++ b/alc/alu.cpp @@ -77,6 +77,7 @@ #include "threads.h" #include "vecmat.h" #include "voice.h" +#include "voice_change.h" struct CTag; #ifdef HAVE_SSE diff --git a/alc/voice_change.h b/alc/voice_change.h new file mode 100644 index 00000000..1ce28f50 --- /dev/null +++ b/alc/voice_change.h @@ -0,0 +1,24 @@ +#ifndef VOICE_CHANGE_H +#define VOICE_CHANGE_H + +#include <atomic> + +#include "almalloc.h" + +struct Voice; + +using uint = unsigned int; + + +struct VoiceChange { + Voice *mOldVoice{nullptr}; + Voice *mVoice{nullptr}; + uint mSourceID{0}; + int mState{0}; + + std::atomic<VoiceChange*> mNext{nullptr}; + + DEF_NEWDEL(VoiceChange) +}; + +#endif /* VOICE_CHANGE_H */ |