openal-soft/core/voice_change.h

32 lines
454 B
C++

#ifndef VOICE_CHANGE_H
#define VOICE_CHANGE_H
#include <atomic>
#include "almalloc.h"
struct Voice;
using uint = unsigned int;
enum class VChangeState {
Reset,
Stop,
Play,
Pause,
Restart
};
struct VoiceChange {
Voice *mOldVoice{nullptr};
Voice *mVoice{nullptr};
uint mSourceID{0};
VChangeState mState{};
std::atomic<VoiceChange*> mNext{nullptr};
DEF_NEWDEL(VoiceChange)
};
#endif /* VOICE_CHANGE_H */