summaryrefslogtreecommitdiff
path: root/Source/Core/AudioCommon/WaveFile.cpp
diff options
context:
space:
mode:
authorJMC47 <JMC4789@gmail.com>2022-06-13 17:09:58 -0400
committerGitHub <noreply@github.com>2022-06-13 17:09:58 -0400
commitf96e91119accffe1bed892a6419580cffbcec099 (patch)
treeb54098a9c1e620019b7dff201a49f3a94c9af3c4 /Source/Core/AudioCommon/WaveFile.cpp
parent82b0098c3bba95cbc240f157d120b320798538d4 (diff)
parentad892176d0a401ceb851f8fe49de21d6c44b3c67 (diff)
Merge pull request #10735 from CasualPokePlayer/audio_dump_volume_fix
Have audio dumps apply volume
Diffstat (limited to 'Source/Core/AudioCommon/WaveFile.cpp')
-rw-r--r--Source/Core/AudioCommon/WaveFile.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/Source/Core/AudioCommon/WaveFile.cpp b/Source/Core/AudioCommon/WaveFile.cpp
index edc870bef7..befcf6bfbd 100644
--- a/Source/Core/AudioCommon/WaveFile.cpp
+++ b/Source/Core/AudioCommon/WaveFile.cpp
@@ -114,7 +114,8 @@ void WaveFileWriter::Write4(const char* ptr)
file.WriteBytes(ptr, 4);
}
-void WaveFileWriter::AddStereoSamplesBE(const short* sample_data, u32 count, int sample_rate)
+void WaveFileWriter::AddStereoSamplesBE(const short* sample_data, u32 count, int sample_rate,
+ int l_volume, int r_volume)
{
if (!file)
ERROR_LOG_FMT(AUDIO, "WaveFileWriter - file not open.");
@@ -141,6 +142,10 @@ void WaveFileWriter::AddStereoSamplesBE(const short* sample_data, u32 count, int
// Flip the audio channels from RL to LR
conv_buffer[2 * i] = Common::swap16((u16)sample_data[2 * i + 1]);
conv_buffer[2 * i + 1] = Common::swap16((u16)sample_data[2 * i]);
+
+ // Apply volume (volume ranges from 0 to 256)
+ conv_buffer[2 * i] = conv_buffer[2 * i] * l_volume / 256;
+ conv_buffer[2 * i + 1] = conv_buffer[2 * i + 1] * r_volume / 256;
}
if (sample_rate != current_sample_rate)