From 40311310d1a6d2fde2ee9f04bfa1f21ced7cbee2 Mon Sep 17 00:00:00 2001 From: Mary-nyan <mary@mary.zone> Date: Tue, 6 Dec 2022 15:04:25 +0100 Subject: amadeus: Add missing compressor effect from REV11 (#4010) * amadeus: Add missing compressor effect from REV11 This was in my reversing notes but seems I completely forgot to implement it Also took the opportunity to simplify the Limiter effect a bit. * Remove some outdated comment * Address gdkchan's comments --- Ryujinx.Audio/Renderer/Server/CommandGenerator.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'Ryujinx.Audio/Renderer/Server/CommandGenerator.cs') diff --git a/Ryujinx.Audio/Renderer/Server/CommandGenerator.cs b/Ryujinx.Audio/Renderer/Server/CommandGenerator.cs index 87e5c77f..afc1e39b 100644 --- a/Ryujinx.Audio/Renderer/Server/CommandGenerator.cs +++ b/Ryujinx.Audio/Renderer/Server/CommandGenerator.cs @@ -606,6 +606,17 @@ namespace Ryujinx.Audio.Renderer.Server } } + private void GenerateCompressorEffect(uint bufferOffset, CompressorEffect effect, int nodeId) + { + Debug.Assert(effect.Type == EffectType.Compressor); + + _commandBuffer.GenerateCompressorEffect(bufferOffset, + effect.Parameter, + effect.State, + effect.IsEnabled, + nodeId); + } + private void GenerateEffect(ref MixState mix, int effectId, BaseEffect effect) { int nodeId = mix.NodeId; @@ -650,6 +661,9 @@ namespace Ryujinx.Audio.Renderer.Server case EffectType.CaptureBuffer: GenerateCaptureEffect(mix.BufferOffset, (CaptureBufferEffect)effect, nodeId); break; + case EffectType.Compressor: + GenerateCompressorEffect(mix.BufferOffset, (CompressorEffect)effect, nodeId); + break; default: throw new NotImplementedException($"Unsupported effect type {effect.Type}"); } -- cgit v1.2.3-70-g09d2