aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2021-10-10 05:07:31 -0700
committerChris Robinson <[email protected]>2021-10-10 05:07:31 -0700
commit92b65fa15fa8d7ca064ef6178fc749b6a465ad5b (patch)
tree54d422102fdd8ef5ec0b6d7a39f778744f70b3c0
parent87e88e97e2627bc14e8d001a8c6b272f43b1b654 (diff)
Avoid manually prefixing EventType_ enums
And use a better fitting type that matches how it's used
-rw-r--r--al/event.cpp24
-rw-r--r--alc/alu.cpp10
-rw-r--r--core/async_event.h22
-rw-r--r--core/voice.cpp8
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);
}
}