summaryrefslogtreecommitdiffstats
path: root/src/audio_core/mix_context.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio_core/mix_context.h')
-rw-r--r--src/audio_core/mix_context.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/audio_core/mix_context.h b/src/audio_core/mix_context.h
index 381566699..6a588eeb4 100644
--- a/src/audio_core/mix_context.h
+++ b/src/audio_core/mix_context.h
@@ -13,6 +13,7 @@
namespace AudioCore {
class BehaviorInfo;
+class EffectContext;
class MixInfo {
public:
@@ -65,11 +66,16 @@ public:
ServerMixInfo::InParams& GetInParams();
bool Update(EdgeMatrix& edge_matrix, const MixInfo::InParams& mix_in,
- BehaviorInfo& behavior_info, SplitterContext& splitter_context);
+ BehaviorInfo& behavior_info, SplitterContext& splitter_context,
+ EffectContext& effect_context);
bool HasAnyConnection() const;
void Cleanup();
+ void SetEffectCount(std::size_t count);
+ void ResetEffectProcessingOrder();
+ s32 GetEffectOrder(std::size_t i) const;
private:
+ std::vector<s32> effect_processing_order;
InParams in_params{};
bool UpdateConnection(EdgeMatrix& edge_matrix, const MixInfo::InParams& mix_in,
SplitterContext& splitter_context);
@@ -80,7 +86,8 @@ public:
MixContext();
~MixContext();
- void Initialize(const BehaviorInfo& behavior_info, std::size_t mix_count);
+ void Initialize(const BehaviorInfo& behavior_info, std::size_t mix_count,
+ std::size_t effect_count);
void SortInfo();
bool TsortInfo(SplitterContext& splitter_context);