diff options
-rw-r--r-- | CMakeLists.txt | 1 | ||||
-rw-r--r-- | al/alError.cpp | 2 | ||||
-rw-r--r-- | al/alSource.cpp | 1 | ||||
-rw-r--r-- | al/alState.cpp | 2 | ||||
-rw-r--r-- | al/event.cpp | 3 | ||||
-rw-r--r-- | al/event.h | 55 | ||||
-rw-r--r-- | alc/alc.cpp | 1 | ||||
-rw-r--r-- | alc/alcmain.h | 46 | ||||
-rw-r--r-- | alc/alu.cpp | 1 | ||||
-rw-r--r-- | alc/mixvoice.cpp | 1 |
10 files changed, 64 insertions, 49 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 258c93e9..315f1752 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -622,6 +622,7 @@ SET(OPENAL_OBJS al/alSource.h al/alState.cpp al/event.cpp + al/event.h ) SET(ALC_OBJS alc/alc.cpp diff --git a/al/alError.cpp b/al/alError.cpp index 159aee52..bff92444 100644 --- a/al/alError.cpp +++ b/al/alError.cpp @@ -37,10 +37,10 @@ #include "AL/al.h" #include "AL/alc.h" -#include "alcmain.h" #include "alcontext.h" #include "alexcpt.h" #include "almalloc.h" +#include "event.h" #include "inprogext.h" #include "logging.h" #include "opthelpers.h" diff --git a/al/alSource.cpp b/al/alSource.cpp index 4af5cc47..fdd063ac 100644 --- a/al/alSource.cpp +++ b/al/alSource.cpp @@ -59,6 +59,7 @@ #include "atomic.h" #include "backends/base.h" #include "bformatdec.h" +#include "event.h" #include "filters/nfc.h" #include "filters/splitter.h" #include "inprogext.h" diff --git a/al/alState.cpp b/al/alState.cpp index ee8d3a1c..001412a8 100644 --- a/al/alState.cpp +++ b/al/alState.cpp @@ -33,13 +33,13 @@ #include "AL/alext.h" #include "alError.h" -#include "alcmain.h" #include "alcontext.h" #include "alexcpt.h" #include "almalloc.h" #include "alspan.h" #include "alu.h" #include "atomic.h" +#include "event.h" #include "inprogext.h" #include "opthelpers.h" diff --git a/al/event.cpp b/al/event.cpp index d50cef2e..44d825c6 100644 --- a/al/event.cpp +++ b/al/event.cpp @@ -1,6 +1,8 @@ #include "config.h" +#include "event.h" + #include <algorithm> #include <atomic> #include <cstring> @@ -16,7 +18,6 @@ #include "alError.h" #include "albyte.h" -#include "alcmain.h" #include "alcontext.h" #include "alexcpt.h" #include "almalloc.h" diff --git a/al/event.h b/al/event.h new file mode 100644 index 00000000..e98be560 --- /dev/null +++ b/al/event.h @@ -0,0 +1,55 @@ +#ifndef AL_EVENT_H +#define AL_EVENT_H + +#include "AL/al.h" +#include "AL/alc.h" + +struct EffectState; + + +enum { + /* End event thread processing. */ + EventType_KillThread = 0, + + /* User event types. */ + EventType_SourceStateChange = 1<<0, + EventType_BufferCompleted = 1<<1, + EventType_Error = 1<<2, + EventType_Performance = 1<<3, + EventType_Deprecated = 1<<4, + EventType_Disconnected = 1<<5, + + /* Internal events. */ + EventType_ReleaseEffectState = 65536, +}; + +struct AsyncEvent { + unsigned int EnumType{0u}; + union { + char dummy; + struct { + ALuint id; + ALenum state; + } srcstate; + struct { + ALuint id; + ALsizei count; + } bufcomp; + struct { + ALenum type; + ALuint id; + ALuint param; + ALchar msg[1008]; + } user; + EffectState *mEffectState; + } u{}; + + AsyncEvent() noexcept = default; + constexpr AsyncEvent(unsigned int type) noexcept : EnumType{type} { } +}; + + +void StartEventThrd(ALCcontext *ctx); +void StopEventThrd(ALCcontext *ctx); + +#endif diff --git a/alc/alc.cpp b/alc/alc.cpp index 00f90d91..de0038a2 100644 --- a/alc/alc.cpp +++ b/alc/alc.cpp @@ -74,6 +74,7 @@ #include "compat.h" #include "cpu_caps.h" #include "effects/base.h" +#include "event.h" #include "filters/nfc.h" #include "filters/splitter.h" #include "fpu_modes.h" diff --git a/alc/alcmain.h b/alc/alcmain.h index a22e0e81..85f37e73 100644 --- a/alc/alcmain.h +++ b/alc/alcmain.h @@ -461,48 +461,6 @@ struct ALCdevice { #define RECORD_THREAD_NAME "alsoft-record" -enum { - /* End event thread processing. */ - EventType_KillThread = 0, - - /* User event types. */ - EventType_SourceStateChange = 1<<0, - EventType_BufferCompleted = 1<<1, - EventType_Error = 1<<2, - EventType_Performance = 1<<3, - EventType_Deprecated = 1<<4, - EventType_Disconnected = 1<<5, - - /* Internal events. */ - EventType_ReleaseEffectState = 65536, -}; - -struct AsyncEvent { - unsigned int EnumType{0u}; - union { - char dummy; - struct { - ALuint id; - ALenum state; - } srcstate; - struct { - ALuint id; - ALsizei count; - } bufcomp; - struct { - ALenum type; - ALuint id; - ALuint param; - ALchar msg[1008]; - } user; - EffectState *mEffectState; - } u{}; - - AsyncEvent() noexcept = default; - constexpr AsyncEvent(unsigned int type) noexcept : EnumType{type} { } -}; - - void AllocateVoices(ALCcontext *context, size_t num_voices); @@ -525,10 +483,6 @@ inline ALint GetChannelIdxByName(const RealMixParams &real, Channel chan) noexce { return real.ChannelIndex[chan]; } -void StartEventThrd(ALCcontext *ctx); -void StopEventThrd(ALCcontext *ctx); - - al::vector<std::string> SearchDataFiles(const char *match, const char *subdir); #endif diff --git a/alc/alu.cpp b/alc/alu.cpp index cc1a5a98..31689997 100644 --- a/alc/alu.cpp +++ b/alc/alu.cpp @@ -60,6 +60,7 @@ #include "bs2b.h" #include "cpu_caps.h" #include "effects/base.h" +#include "event.h" #include "filters/biquad.h" #include "filters/nfc.h" #include "filters/splitter.h" diff --git a/alc/mixvoice.cpp b/alc/mixvoice.cpp index be872f6d..aea04b15 100644 --- a/alc/mixvoice.cpp +++ b/alc/mixvoice.cpp @@ -50,6 +50,7 @@ #include "alspan.h" #include "alu.h" #include "cpu_caps.h" +#include "event.h" #include "filters/biquad.h" #include "filters/nfc.h" #include "filters/splitter.h" |