aboutsummaryrefslogtreecommitdiff
path: root/src/audio_core/audio_renderer.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2020-05-13 22:46:41 -0400
committerGitHub <noreply@github.com>2020-05-13 22:46:41 -0400
commit0e2ded049d6d5a39d18cf904e54c053355482e31 (patch)
tree0cc136ecc5d107308fb47907feb235af51394f68 /src/audio_core/audio_renderer.h
parent670a7f51e8f3134fb246a471f0c9833904a6234e (diff)
parent16c0373adc5bd76db97d5d2231e80463dda242dd (diff)
Merge pull request #3757 from ogniK5377/better-voice-mixing
audio_renderer: Better voice mixing and 6 channel downmixing
Diffstat (limited to 'src/audio_core/audio_renderer.h')
-rw-r--r--src/audio_core/audio_renderer.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/audio_core/audio_renderer.h b/src/audio_core/audio_renderer.h
index b42770fae..1f9114c07 100644
--- a/src/audio_core/audio_renderer.h
+++ b/src/audio_core/audio_renderer.h
@@ -9,6 +9,7 @@
#include <vector>
#include "audio_core/behavior_info.h"
+#include "audio_core/common.h"
#include "audio_core/stream.h"
#include "common/common_funcs.h"
#include "common/common_types.h"
@@ -116,6 +117,14 @@ struct WaveBuffer {
};
static_assert(sizeof(WaveBuffer) == 0x38, "WaveBuffer has wrong size");
+struct VoiceResourceInformation {
+ s32_le id{};
+ std::array<float_le, MAX_MIX_BUFFERS> mix_volumes{};
+ bool in_use{};
+ INSERT_PADDING_BYTES(11);
+};
+static_assert(sizeof(VoiceResourceInformation) == 0x70, "VoiceResourceInformation has wrong size");
+
struct VoiceInfo {
u32_le id;
u32_le node_id;
@@ -244,6 +253,7 @@ private:
AudioRendererParameter worker_params;
std::shared_ptr<Kernel::WritableEvent> buffer_event;
std::vector<VoiceState> voices;
+ std::vector<VoiceResourceInformation> voice_resources;
std::vector<EffectState> effects;
std::unique_ptr<AudioOut> audio_out;
StreamPtr stream;