From 92b65fa15fa8d7ca064ef6178fc749b6a465ad5b Mon Sep 17 00:00:00 2001
From: Chris Robinson <chris.kcat@gmail.com>
Date: Sun, 10 Oct 2021 05:07:31 -0700
Subject: Avoid manually prefixing EventType_ enums

And use a better fitting type that matches how it's used
---
 al/event.cpp       | 24 ++++++++++++------------
 alc/alu.cpp        | 10 +++++-----
 core/async_event.h | 22 +++++++++++-----------
 core/voice.cpp     |  8 ++++----
 4 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/al/event.cpp b/al/event.cpp
index d28ef01b..5daa2739 100644
--- a/al/event.cpp
+++ b/al/event.cpp
@@ -54,10 +54,10 @@ static int EventThread(ALCcontext *context)
             al::destroy_at(evt_ptr);
             ring->readAdvance(1);
 
-            quitnow = evt.EnumType == EventType_KillThread;
+            quitnow = evt.EnumType == AsyncEvent::KillThread;
             if(unlikely(quitnow)) break;
 
-            if(evt.EnumType == EventType_ReleaseEffectState)
+            if(evt.EnumType == AsyncEvent::ReleaseEffectState)
             {
                 evt.u.mEffectState->release();
                 continue;
@@ -66,9 +66,9 @@ static int EventThread(ALCcontext *context)
             uint enabledevts{context->mEnabledEvts.load(std::memory_order_acquire)};
             if(!context->mEventCb) continue;
 
-            if(evt.EnumType == EventType_SourceStateChange)
+            if(evt.EnumType == AsyncEvent::SourceStateChange)
             {
-                if(!(enabledevts&EventType_SourceStateChange))
+                if(!(enabledevts&AsyncEvent::SourceStateChange))
                     continue;
                 ALuint state{};
                 std::string msg{"Source ID " + std::to_string(evt.u.srcstate.id)};
@@ -95,9 +95,9 @@ static int EventThread(ALCcontext *context)
                 context->mEventCb(AL_EVENT_TYPE_SOURCE_STATE_CHANGED_SOFT, evt.u.srcstate.id,
                     state, static_cast<ALsizei>(msg.length()), msg.c_str(), context->mEventParam);
             }
-            else if(evt.EnumType == EventType_BufferCompleted)
+            else if(evt.EnumType == AsyncEvent::BufferCompleted)
             {
-                if(!(enabledevts&EventType_BufferCompleted))
+                if(!(enabledevts&AsyncEvent::BufferCompleted))
                     continue;
                 std::string msg{std::to_string(evt.u.bufcomp.count)};
                 if(evt.u.bufcomp.count == 1) msg += " buffer completed";
@@ -106,9 +106,9 @@ static int EventThread(ALCcontext *context)
                     evt.u.bufcomp.count, static_cast<ALsizei>(msg.length()), msg.c_str(),
                     context->mEventParam);
             }
-            else if(evt.EnumType == EventType_Disconnected)
+            else if(evt.EnumType == AsyncEvent::Disconnected)
             {
-                if(!(enabledevts&EventType_Disconnected))
+                if(!(enabledevts&AsyncEvent::Disconnected))
                     continue;
                 context->mEventCb(AL_EVENT_TYPE_DISCONNECTED_SOFT, 0, 0,
                     static_cast<ALsizei>(strlen(evt.u.disconnect.msg)), evt.u.disconnect.msg,
@@ -143,7 +143,7 @@ void StopEventThrd(ALCcontext *ctx)
             evt_data = ring->getWriteVector().first;
         } while(evt_data.len == 0);
     }
-    al::construct_at(reinterpret_cast<AsyncEvent*>(evt_data.buf), EventType_KillThread);
+    al::construct_at(reinterpret_cast<AsyncEvent*>(evt_data.buf), AsyncEvent::KillThread);
     ring->writeAdvance(1);
 
     ctx->mEventSem.post();
@@ -167,11 +167,11 @@ START_API_FUNC
         [&flags](ALenum type) noexcept -> bool
         {
             if(type == AL_EVENT_TYPE_BUFFER_COMPLETED_SOFT)
-                flags |= EventType_BufferCompleted;
+                flags |= AsyncEvent::BufferCompleted;
             else if(type == AL_EVENT_TYPE_SOURCE_STATE_CHANGED_SOFT)
-                flags |= EventType_SourceStateChange;
+                flags |= AsyncEvent::SourceStateChange;
             else if(type == AL_EVENT_TYPE_DISCONNECTED_SOFT)
-                flags |= EventType_Disconnected;
+                flags |= AsyncEvent::Disconnected;
             else
                 return false;
             return true;
diff --git a/alc/alu.cpp b/alc/alu.cpp
index 6d1fb2af..e28d2a53 100644
--- a/alc/alu.cpp
+++ b/alc/alu.cpp
@@ -469,7 +469,7 @@ bool CalcEffectSlotParams(EffectSlot *slot, EffectSlot **sorted_slots, ContextBa
         if LIKELY(evt_vec.first.len > 0)
         {
             AsyncEvent *evt{al::construct_at(reinterpret_cast<AsyncEvent*>(evt_vec.first.buf),
-                EventType_ReleaseEffectState)};
+                AsyncEvent::ReleaseEffectState)};
             evt->u.mEffectState = oldstate;
             ring->writeAdvance(1);
         }
@@ -1558,7 +1558,7 @@ void SendSourceStateEvent(ContextBase *context, uint id, VChangeState state)
     if(evt_vec.first.len < 1) return;
 
     AsyncEvent *evt{al::construct_at(reinterpret_cast<AsyncEvent*>(evt_vec.first.buf),
-        EventType_SourceStateChange)};
+        AsyncEvent::SourceStateChange)};
     evt->u.srcstate.id = id;
     switch(state)
     {
@@ -1669,7 +1669,7 @@ void ProcessVoiceChanges(ContextBase *ctx)
             }
             oldvoice->mPendingChange.store(false, std::memory_order_release);
         }
-        if(sendevt && (enabledevt&EventType_SourceStateChange))
+        if(sendevt && (enabledevt&AsyncEvent::SourceStateChange))
             SendSourceStateEvent(ctx, cur->mSourceID, cur->mState);
 
         next = cur->mNext.load(std::memory_order_acquire);
@@ -2020,7 +2020,7 @@ void DeviceBase::handleDisconnect(const char *msg, ...)
     if(!Connected.exchange(false, std::memory_order_acq_rel))
         return;
 
-    AsyncEvent evt{EventType_Disconnected};
+    AsyncEvent evt{AsyncEvent::Disconnected};
 
     va_list args;
     va_start(args, msg);
@@ -2034,7 +2034,7 @@ void DeviceBase::handleDisconnect(const char *msg, ...)
     for(ContextBase *ctx : *mContexts.load())
     {
         const uint enabledevt{ctx->mEnabledEvts.load(std::memory_order_acquire)};
-        if((enabledevt&EventType_Disconnected))
+        if((enabledevt&AsyncEvent::Disconnected))
         {
             RingBuffer *ring{ctx->mAsyncEvents.get()};
             auto evt_data = ring->getWriteVector().first;
diff --git a/core/async_event.h b/core/async_event.h
index 054f0563..750f38c9 100644
--- a/core/async_event.h
+++ b/core/async_event.h
@@ -8,20 +8,20 @@ struct EffectState;
 using uint = unsigned int;
 
 
-enum {
-    /* End event thread processing. */
-    EventType_KillThread = 0,
+struct AsyncEvent {
+    enum : uint {
+        /* End event thread processing. */
+        KillThread = 0,
 
-    /* User event types. */
-    EventType_SourceStateChange = 1<<0,
-    EventType_BufferCompleted   = 1<<1,
-    EventType_Disconnected      = 1<<2,
+        /* User event types. */
+        SourceStateChange = 1<<0,
+        BufferCompleted   = 1<<1,
+        Disconnected      = 1<<2,
 
-    /* Internal events. */
-    EventType_ReleaseEffectState = 65536,
-};
+        /* Internal events. */
+        ReleaseEffectState = 65536,
+    };
 
-struct AsyncEvent {
     enum class SrcState {
         Reset,
         Stop,
diff --git a/core/voice.cpp b/core/voice.cpp
index fd2b7089..f40be71a 100644
--- a/core/voice.cpp
+++ b/core/voice.cpp
@@ -165,7 +165,7 @@ void SendSourceStoppedEvent(ContextBase *context, uint id)
     if(evt_vec.first.len < 1) return;
 
     AsyncEvent *evt{al::construct_at(reinterpret_cast<AsyncEvent*>(evt_vec.first.buf),
-        EventType_SourceStateChange)};
+        AsyncEvent::SourceStateChange)};
     evt->u.srcstate.id = id;
     evt->u.srcstate.state = AsyncEvent::SrcState::Stop;
 
@@ -787,14 +787,14 @@ void Voice::mix(const State vstate, ContextBase *Context, const uint SamplesToDo
 
     /* Send any events now, after the position/buffer info was updated. */
     const uint enabledevt{Context->mEnabledEvts.load(std::memory_order_acquire)};
-    if(buffers_done > 0 && (enabledevt&EventType_BufferCompleted))
+    if(buffers_done > 0 && (enabledevt&AsyncEvent::BufferCompleted))
     {
         RingBuffer *ring{Context->mAsyncEvents.get()};
         auto evt_vec = ring->getWriteVector();
         if(evt_vec.first.len > 0)
         {
             AsyncEvent *evt{al::construct_at(reinterpret_cast<AsyncEvent*>(evt_vec.first.buf),
-                EventType_BufferCompleted)};
+                AsyncEvent::BufferCompleted)};
             evt->u.bufcomp.id = SourceID;
             evt->u.bufcomp.count = buffers_done;
             ring->writeAdvance(1);
@@ -807,7 +807,7 @@ void Voice::mix(const State vstate, ContextBase *Context, const uint SamplesToDo
          * ensures any residual noise fades to 0 amplitude.
          */
         mPlayState.store(Stopping, std::memory_order_release);
-        if((enabledevt&EventType_SourceStateChange))
+        if((enabledevt&AsyncEvent::SourceStateChange))
             SendSourceStoppedEvent(Context, SourceID);
     }
 }
-- 
cgit v1.2.3