diff options
| author | JMC47 <JMC4789@gmail.com> | 2022-06-13 17:09:58 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-13 17:09:58 -0400 |
| commit | f96e91119accffe1bed892a6419580cffbcec099 (patch) | |
| tree | b54098a9c1e620019b7dff201a49f3a94c9af3c4 /Source/Core/AudioCommon/Mixer.cpp | |
| parent | 82b0098c3bba95cbc240f157d120b320798538d4 (diff) | |
| parent | ad892176d0a401ceb851f8fe49de21d6c44b3c67 (diff) | |
Merge pull request #10735 from CasualPokePlayer/audio_dump_volume_fix
Have audio dumps apply volume
Diffstat (limited to 'Source/Core/AudioCommon/Mixer.cpp')
| -rw-r--r-- | Source/Core/AudioCommon/Mixer.cpp | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/Source/Core/AudioCommon/Mixer.cpp b/Source/Core/AudioCommon/Mixer.cpp index f6bebb60cc..e0b7f28768 100644 --- a/Source/Core/AudioCommon/Mixer.cpp +++ b/Source/Core/AudioCommon/Mixer.cpp @@ -256,17 +256,25 @@ void Mixer::MixerFifo::PushSamples(const short* samples, unsigned int num_sample void Mixer::PushSamples(const short* samples, unsigned int num_samples) { m_dma_mixer.PushSamples(samples, num_samples); - int sample_rate = m_dma_mixer.GetInputSampleRate(); if (m_log_dsp_audio) - m_wave_writer_dsp.AddStereoSamplesBE(samples, num_samples, sample_rate); + { + int sample_rate = m_dma_mixer.GetInputSampleRate(); + auto volume = m_dma_mixer.GetVolume(); + m_wave_writer_dsp.AddStereoSamplesBE(samples, num_samples, sample_rate, volume.first, + volume.second); + } } void Mixer::PushStreamingSamples(const short* samples, unsigned int num_samples) { m_streaming_mixer.PushSamples(samples, num_samples); - int sample_rate = m_streaming_mixer.GetInputSampleRate(); if (m_log_dtk_audio) - m_wave_writer_dtk.AddStereoSamplesBE(samples, num_samples, sample_rate); + { + int sample_rate = m_streaming_mixer.GetInputSampleRate(); + auto volume = m_streaming_mixer.GetVolume(); + m_wave_writer_dtk.AddStereoSamplesBE(samples, num_samples, sample_rate, volume.first, + volume.second); + } } void Mixer::PushWiimoteSpeakerSamples(const short* samples, unsigned int num_samples, @@ -427,6 +435,11 @@ void Mixer::MixerFifo::SetVolume(unsigned int lvolume, unsigned int rvolume) m_RVolume.store(rvolume + (rvolume >> 7)); } +std::pair<s32, s32> Mixer::MixerFifo::GetVolume() const +{ + return std::make_pair(m_LVolume.load(), m_RVolume.load()); +} + unsigned int Mixer::MixerFifo::AvailableSamples() const { unsigned int samples_in_fifo = ((m_indexW.load() - m_indexR.load()) & INDEX_MASK) / 2; |
