diff options
| author | TSR Berry <20988865+TSRBerry@users.noreply.github.com> | 2023-04-08 01:22:00 +0200 |
|---|---|---|
| committer | Mary <thog@protonmail.com> | 2023-04-27 23:51:14 +0200 |
| commit | cee712105850ac3385cd0091a923438167433f9f (patch) | |
| tree | 4a5274b21d8b7f938c0d0ce18736d3f2993b11b1 /Ryujinx.Audio/Renderer/Dsp/Command/MixRampCommand.cs | |
| parent | cd124bda587ef09668a971fa1cac1c3f0cfc9f21 (diff) | |
Move solution and projects to src
Diffstat (limited to 'Ryujinx.Audio/Renderer/Dsp/Command/MixRampCommand.cs')
| -rw-r--r-- | Ryujinx.Audio/Renderer/Dsp/Command/MixRampCommand.cs | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/Ryujinx.Audio/Renderer/Dsp/Command/MixRampCommand.cs b/Ryujinx.Audio/Renderer/Dsp/Command/MixRampCommand.cs deleted file mode 100644 index 76a1aba2..00000000 --- a/Ryujinx.Audio/Renderer/Dsp/Command/MixRampCommand.cs +++ /dev/null @@ -1,68 +0,0 @@ -using Ryujinx.Audio.Renderer.Common; -using System; -using System.Runtime.CompilerServices; - -namespace Ryujinx.Audio.Renderer.Dsp.Command -{ - public class MixRampCommand : ICommand - { - public bool Enabled { get; set; } - - public int NodeId { get; } - - public CommandType CommandType => CommandType.MixRamp; - - public uint EstimatedProcessingTime { get; set; } - - public ushort InputBufferIndex { get; } - public ushort OutputBufferIndex { get; } - - public float Volume0 { get; } - public float Volume1 { get; } - - public Memory<VoiceUpdateState> State { get; } - - public int LastSampleIndex { get; } - - public MixRampCommand(float volume0, float volume1, uint inputBufferIndex, uint outputBufferIndex, int lastSampleIndex, Memory<VoiceUpdateState> state, int nodeId) - { - Enabled = true; - NodeId = nodeId; - - InputBufferIndex = (ushort)inputBufferIndex; - OutputBufferIndex = (ushort)outputBufferIndex; - - Volume0 = volume0; - Volume1 = volume1; - - State = state; - LastSampleIndex = lastSampleIndex; - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - private float ProcessMixRamp(Span<float> outputBuffer, ReadOnlySpan<float> inputBuffer, int sampleCount) - { - float ramp = (Volume1 - Volume0) / sampleCount; - float volume = Volume0; - float state = 0; - - for (int i = 0; i < sampleCount; i++) - { - state = FloatingPointHelper.MultiplyRoundUp(inputBuffer[i], volume); - - outputBuffer[i] += state; - volume += ramp; - } - - return state; - } - - public void Process(CommandList context) - { - ReadOnlySpan<float> inputBuffer = context.GetBuffer(InputBufferIndex); - Span<float> outputBuffer = context.GetBuffer(OutputBufferIndex); - - State.Span[0].LastSamples[LastSampleIndex] = ProcessMixRamp(outputBuffer, inputBuffer, (int)context.SampleCount); - } - } -}
\ No newline at end of file |
