diff options
author | James Rowe <jroweboy@gmail.com> | 2018-01-12 03:21:20 +0100 |
---|---|---|
committer | James Rowe <jroweboy@gmail.com> | 2018-01-13 03:11:03 +0100 |
commit | ebf9a784a9f7f4148a669dbb39e7cd50df779a14 (patch) | |
tree | d585685a1c0a34b903af1d086d62560bf56bb29f /src/audio_core/hle/mixers.h | |
parent | config: Default CPU core to Unicorn. (diff) | |
download | yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.tar yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.tar.gz yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.tar.bz2 yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.tar.lz yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.tar.xz yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.tar.zst yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.zip |
Diffstat (limited to 'src/audio_core/hle/mixers.h')
-rw-r--r-- | src/audio_core/hle/mixers.h | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/src/audio_core/hle/mixers.h b/src/audio_core/hle/mixers.h deleted file mode 100644 index bf4e865ae..000000000 --- a/src/audio_core/hle/mixers.h +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2016 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -#pragma once - -#include <array> -#include "audio_core/hle/common.h" -#include "audio_core/hle/dsp.h" - -namespace DSP { -namespace HLE { - -class Mixers final { -public: - Mixers() { - Reset(); - } - - void Reset(); - - DspStatus Tick(DspConfiguration& config, const IntermediateMixSamples& read_samples, - IntermediateMixSamples& write_samples, const std::array<QuadFrame32, 3>& input); - - StereoFrame16 GetOutput() const { - return current_frame; - } - -private: - StereoFrame16 current_frame = {}; - - using OutputFormat = DspConfiguration::OutputFormat; - - struct { - std::array<float, 3> intermediate_mixer_volume = {}; - - bool mixer1_enabled = false; - bool mixer2_enabled = false; - std::array<QuadFrame32, 3> intermediate_mix_buffer = {}; - - OutputFormat output_format = OutputFormat::Stereo; - - } state; - - /// INTERNAL: Update our internal state based on the current config. - void ParseConfig(DspConfiguration& config); - /// INTERNAL: Read samples from shared memory that have been modified by the ARM11. - void AuxReturn(const IntermediateMixSamples& read_samples); - /// INTERNAL: Write samples to shared memory for the ARM11 to modify. - void AuxSend(IntermediateMixSamples& write_samples, const std::array<QuadFrame32, 3>& input); - /// INTERNAL: Mix current_frame. - void MixCurrentFrame(); - /// INTERNAL: Downmix from quadraphonic to stereo based on status.output_format and accumulate - /// into current_frame. - void DownmixAndMixIntoCurrentFrame(float gain, const QuadFrame32& samples); - /// INTERNAL: Generate DspStatus based on internal state. - DspStatus GetCurrentStatus() const; -}; - -} // namespace HLE -} // namespace DSP |