7 struct __declspec(novtable) IXAudio2Voice
10 virtual void GetVoiceDetails(XAUDIO2_VOICE_DETAILS* a_voiceDetails) = 0;
12 virtual std::int32_t SetOutputVoices(
const XAUDIO2_VOICE_SENDS* a_sendList) = 0;
14 virtual std::int32_t SetEffectChain(
const XAUDIO2_EFFECT_CHAIN* a_effectChain) = 0;
16 virtual std::int32_t EnableEffect(
17 std::uint32_t a_effectIndex,
20 virtual std::int32_t DisableEffect(
21 std::uint32_t a_effectIndex,
24 virtual void GetEffectState(std::uint32_t a_effectIndex,
BOOL* a_enabled) = 0;
26 virtual std::int32_t SetEffectParameters(
27 std::uint32_t a_effectIndex,
28 const void* a_parameters,
29 std::uint32_t a_parametersByteSize,
32 virtual std::int32_t GetEffectParameters(
33 std::uint32_t a_effectIndex,
35 std::uint32_t a_parametersByteSize) = 0;
37 virtual std::int32_t SetFilterParameters(
38 const XAUDIO2_FILTER_PARAMETERS* a_parameters,
41 virtual void GetFilterParameters(XAUDIO2_FILTER_PARAMETERS* a_parameters) = 0;
43 virtual std::int32_t SetOutputFilterParameters(
44 IXAudio2Voice* a_destinationVoice,
45 const XAUDIO2_FILTER_PARAMETERS* a_parameters,
48 virtual void GetOutputFilterParameters(
49 IXAudio2Voice* a_destinationVoice,
50 XAUDIO2_FILTER_PARAMETERS* a_parameters) = 0;
56 virtual void GetVolume(
float* a_volume) = 0;
58 virtual std::int32_t SetChannelVolumes(
59 std::uint32_t a_channels,
const float* a_volumes,
62 virtual void GetChannelVolumes(std::uint32_t a_channels,
float* a_volumes) = 0;
64 virtual std::int32_t SetOutputMatrix(
65 IXAudio2Voice* a_destinationVoice,
66 std::uint32_t a_sourceChannels, std::uint32_t a_destinationChannels,
67 const float* a_levelMatrix,
70 virtual void GetOutputMatrix(
71 IXAudio2Voice* a_destinationVoice,
72 std::uint32_t a_sourceChannels, std::uint32_t a_destinationChannels,
73 float* a_levelMatrix) = 0;
75 virtual void DestroyVoice() = 0;
78 struct __declspec(novtable) IXAudio2SourceVoice :
public IXAudio2Voice
83 virtual std::int32_t
Stop(std::uint32_t a_flags = 0, std::uint32_t a_operationSet =
XAUDIO2_COMMIT_NOW) = 0;
85 virtual std::int32_t SubmitSourceBuffer(
const XAUDIO2_BUFFER* a_buffer,
const XAUDIO2_BUFFER_WMA* a_bufferWMA =
nullptr) = 0;
87 virtual std::int32_t FlushSourceBuffers() = 0;
89 virtual std::int32_t Discontinuity() = 0;
93 virtual void GetState(XAUDIO2_VOICE_STATE* a_voiceState) = 0;
95 virtual std::int32_t SetFrequencyRatio(
99 virtual void GetFrequencyRatio(
float* a_ratio) = 0;
101 virtual std::int32_t SetSourceSampleRate(std::uint32_t a_newSourceSampleRate) = 0;
104 struct __declspec(novtable) IXAudio2SubmixVoice :
public IXAudio2Voice
109 struct __declspec(novtable) IXAudio2MasteringVoice :
public IXAudio2Voice
constexpr REL::ID Stop(static_cast< std::uint64_t >(67619))
constexpr REL::ID Start(static_cast< std::uint64_t >(70817))
Definition: AbsorbEffect.h:6
constexpr auto XAUDIO2_COMMIT_NOW
Definition: XAudio2.h:28
std::int32_t BOOL
Definition: XAPO.h:8