aboutsummaryrefslogtreecommitdiffstats
path: root/core/voice_change.h
blob: e97c48f331108227217c3bef15a3a2bb45e12813 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef VOICE_CHANGE_H
#define VOICE_CHANGE_H

#include <atomic>

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};
};

#endif /* VOICE_CHANGE_H */