mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-29 12:19:12 +00:00
have audio dumps apply volume (fixes cases of audio dumps being "too loud" and in game audio controls having no effect)
This commit is contained in:
parent
0c6b6b74bf
commit
ad892176d0
4 changed files with 26 additions and 6 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue