Skip to content

Commit

Permalink
Merge pull request #2637 from lioncash/devirt
Browse files Browse the repository at this point in the history
Mixer: Devirtualize the logging functions.
  • Loading branch information
Tilka committed Jun 22, 2015
2 parents afaa0d9 + 9dd607b commit 319394d
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 60 deletions.
62 changes: 60 additions & 2 deletions Source/Core/AudioCommon/Mixer.cpp
Expand Up @@ -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)
Expand Down Expand Up @@ -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;
Expand Down
64 changes: 6 additions & 58 deletions Source/Core/AudioCommon/Mixer.h
Expand Up @@ -50,63 +50,11 @@ class CMixer {
void SetStreamingVolume(unsigned int lvolume, unsigned int rvolume);
void SetWiimoteSpeakerVolume(unsigned int lvolume, unsigned int rvolume);

virtual void StartLogDTKAudio(const std::string& filename)
{
if (!m_log_dtk_audio)
{
m_log_dtk_audio = true;
g_wave_writer_dtk.Start(filename, 48000);
g_wave_writer_dtk.SetSkipSilence(false);
NOTICE_LOG(DSPHLE, "Starting DTK Audio logging");
}
else
{
WARN_LOG(DSPHLE, "DTK Audio logging has already been started");
}
}

virtual void StopLogDTKAudio()
{
if (m_log_dtk_audio)
{
m_log_dtk_audio = false;
g_wave_writer_dtk.Stop();
NOTICE_LOG(DSPHLE, "Stopping DTK Audio logging");
}
else
{
WARN_LOG(DSPHLE, "DTK Audio logging has already been stopped");
}
}
void StartLogDTKAudio(const std::string& filename);
void StopLogDTKAudio();

virtual void StartLogDSPAudio(const std::string& filename)
{
if (!m_log_dsp_audio)
{
m_log_dsp_audio = true;
g_wave_writer_dsp.Start(filename, 32000);
g_wave_writer_dsp.SetSkipSilence(false);
NOTICE_LOG(DSPHLE, "Starting DSP Audio logging");
}
else
{
WARN_LOG(DSPHLE, "DSP Audio logging has already been started");
}
}

virtual void StopLogDSPAudio()
{
if (m_log_dsp_audio)
{
m_log_dsp_audio = false;
g_wave_writer_dsp.Stop();
NOTICE_LOG(DSPHLE, "Stopping DSP Audio logging");
}
else
{
WARN_LOG(DSPHLE, "DSP Audio logging has already been stopped");
}
}
void StartLogDSPAudio(const std::string& filename);
void StopLogDSPAudio();

float GetCurrentSpeed() const { return m_speed.load(); }
void UpdateSpeed(float val) { m_speed.store(val); }
Expand Down Expand Up @@ -147,8 +95,8 @@ class CMixer {
MixerFifo m_wiimote_speaker_mixer;
unsigned int m_sampleRate;

WaveFileWriter g_wave_writer_dtk;
WaveFileWriter g_wave_writer_dsp;
WaveFileWriter m_wave_writer_dtk;
WaveFileWriter m_wave_writer_dsp;

bool m_log_dtk_audio;
bool m_log_dsp_audio;
Expand Down

0 comments on commit 319394d

Please sign in to comment.