summaryrefslogtreecommitdiff
path: root/Source/Core/AudioCommon/Mixer.cpp
diff options
context:
space:
mode:
authorflacs <tilkax@gmail.com>2015-06-22 23:24:22 +0200
committerflacs <tilkax@gmail.com>2015-06-22 23:24:22 +0200
commit319394d63e2d86d1d2f8c45af39f439b9f0b6ad0 (patch)
treeaf44579e679285b78fdc9c9b21d1758b838d5a75 /Source/Core/AudioCommon/Mixer.cpp
parentafaa0d92df0eb644153a24a6b85b7156a4ffb33b (diff)
parent9dd607b923d639154b10c6a8311f98d303b070fa (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.cpp62
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;