aboutsummaryrefslogtreecommitdiffstats
path: root/alc
diff options
context:
space:
mode:
Diffstat (limited to 'alc')
-rw-r--r--alc/alc.cpp1
-rw-r--r--alc/alcontext.h13
-rw-r--r--alc/alu.cpp1
-rw-r--r--alc/voice_change.h24
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 */