diff options
| author | flacs <tilkax@gmail.com> | 2015-06-22 23:24:22 +0200 |
|---|---|---|
| committer | flacs <tilkax@gmail.com> | 2015-06-22 23:24:22 +0200 |
| commit | 319394d63e2d86d1d2f8c45af39f439b9f0b6ad0 (patch) | |
| tree | af44579e679285b78fdc9c9b21d1758b838d5a75 /Source/Core/AudioCommon/Mixer.cpp | |
| parent | afaa0d92df0eb644153a24a6b85b7156a4ffb33b (diff) | |
| parent | 9dd607b923d639154b10c6a8311f98d303b070fa (diff) | |
Merge pull request #2637 from lioncash/devirt
Mixer: Devirtualize the logging functions.
Diffstat (limited to 'Source/Core/AudioCommon/Mixer.cpp')
| -rw-r--r-- | Source/Core/AudioCommon/Mixer.cpp | 62 |
1 files changed, 60 insertions, 2 deletions
diff --git a/Source/Core/AudioCommon/Mixer.cpp b/Source/Core/AudioCommon/Mixer.cpp index 26dda83c82..dbf7167bb4 100644 --- a/Source/Core/AudioCommon/Mixer.cpp +++ b/Source/Core/AudioCommon/Mixer.cpp @@ -155,14 +155,14 @@ void CMixer::PushSamples(const short *samples, unsigned int num_samples) { m_dma_mixer.PushSamples(samples, num_samples); if (m_log_dsp_audio) - g_wave_writer_dsp.AddStereoSamplesBE(samples, num_samples); + m_wave_writer_dsp.AddStereoSamplesBE(samples, num_samples); } void CMixer::PushStreamingSamples(const short *samples, unsigned int num_samples) { m_streaming_mixer.PushSamples(samples, num_samples); if (m_log_dtk_audio) - g_wave_writer_dtk.AddStereoSamplesBE(samples, num_samples); + m_wave_writer_dtk.AddStereoSamplesBE(samples, num_samples); } void CMixer::PushWiimoteSpeakerSamples(const short *samples, unsigned int num_samples, unsigned int sample_rate) @@ -203,6 +203,64 @@ void CMixer::SetWiimoteSpeakerVolume(unsigned int lvolume, unsigned int rvolume) m_wiimote_speaker_mixer.SetVolume(lvolume, rvolume); } +void CMixer::StartLogDTKAudio(const std::string& filename) +{ + if (!m_log_dtk_audio) + { + m_log_dtk_audio = true; + m_wave_writer_dtk.Start(filename, 48000); + m_wave_writer_dtk.SetSkipSilence(false); + NOTICE_LOG(DSPHLE, "Starting DTK Audio logging"); + } + else + { + WARN_LOG(DSPHLE, "DTK Audio logging has already been started"); + } +} + +void CMixer::StopLogDTKAudio() +{ + if (m_log_dtk_audio) + { + m_log_dtk_audio = false; + m_wave_writer_dtk.Stop(); + NOTICE_LOG(DSPHLE, "Stopping DTK Audio logging"); + } + else + { + WARN_LOG(DSPHLE, "DTK Audio logging has already been stopped"); + } +} + +void CMixer::StartLogDSPAudio(const std::string& filename) +{ + if (!m_log_dsp_audio) + { + m_log_dsp_audio = true; + m_wave_writer_dsp.Start(filename, 32000); + m_wave_writer_dsp.SetSkipSilence(false); + NOTICE_LOG(DSPHLE, "Starting DSP Audio logging"); + } + else + { + WARN_LOG(DSPHLE, "DSP Audio logging has already been started"); + } +} + +void CMixer::StopLogDSPAudio() +{ + if (m_log_dsp_audio) + { + m_log_dsp_audio = false; + m_wave_writer_dsp.Stop(); + NOTICE_LOG(DSPHLE, "Stopping DSP Audio logging"); + } + else + { + WARN_LOG(DSPHLE, "DSP Audio logging has already been stopped"); + } +} + void CMixer::MixerFifo::SetInputSampleRate(unsigned int rate) { m_input_sample_rate = rate; |
