summaryrefslogtreecommitdiff
path: root/Source/Core/AudioCommon/WaveFile.cpp
diff options
context:
space:
mode:
authorCasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>2022-06-10 21:27:10 -0700
committerCasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>2022-06-10 21:27:10 -0700
commitad892176d0a401ceb851f8fe49de21d6c44b3c67 (patch)
tree1e360768a0a7efa61d363bfb1764b018fbbeeab5 /Source/Core/AudioCommon/WaveFile.cpp
parent0c6b6b74bf59847efdbeb70181d575fe8ee8ea6f (diff)
have audio dumps apply volume (fixes cases of audio dumps being "too loud" and in game audio controls having no effect)
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)