diff options
author | Chris Robinson <[email protected]> | 2021-10-10 05:07:31 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2021-10-10 05:07:31 -0700 |
commit | 92b65fa15fa8d7ca064ef6178fc749b6a465ad5b (patch) | |
tree | 54d422102fdd8ef5ec0b6d7a39f778744f70b3c0 | |
parent | 87e88e97e2627bc14e8d001a8c6b272f43b1b654 (diff) |
Avoid manually prefixing EventType_ enums
And use a better fitting type that matches how it's used
-rw-r--r-- | al/event.cpp | 24 | ||||
-rw-r--r-- | alc/alu.cpp | 10 | ||||
-rw-r--r-- | core/async_event.h | 22 | ||||
-rw-r--r-- | 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); } } |