blob: 373656d444e8ecde8d0aa97f6ff929c59a6dc3db (
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
|
// SPDX-FileCopyrightText: Copyright 2025 citron Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
namespace AudioCore::Renderer {
class SplitterDestination {
public:
void Update(const SplitterDestinationParameter& parameter, bool is_prev_volume_reset_supported) {
if (is_prev_volume_reset_supported ? parameter.reset_prev_volume
: (!is_used && parameter.is_used)) {
// Reset previous mix volumes
prev_mix_volumes = parameter.mix_volumes;
mix_volumes = parameter.mix_volumes;
}
is_used = parameter.is_used;
}
private:
bool is_used{};
std::array<float, MaxMixBuffers> mix_volumes{};
std::array<float, MaxMixBuffers> prev_mix_volumes{};
};
} // namespace AudioCore::Renderer
|