Combine some duplicate code to mix each channel
[openal-soft.git] / core / voice_change.h
blobddc6186f5da2f75fb3a416c983dd75c9848a34c7
1 #ifndef VOICE_CHANGE_H
2 #define VOICE_CHANGE_H
4 #include <atomic>
6 #include "almalloc.h"
8 struct Voice;
10 using uint = unsigned int;
13 enum class VChangeState {
14 Reset,
15 Stop,
16 Play,
17 Pause,
18 Restart
20 struct VoiceChange {
21 Voice *mOldVoice{nullptr};
22 Voice *mVoice{nullptr};
23 uint mSourceID{0};
24 VChangeState mState{};
26 std::atomic<VoiceChange*> mNext{nullptr};
28 DEF_NEWDEL(VoiceChange)
31 #endif /* VOICE_CHANGE_H */