diff --git a/src/libprojectM/Audio/BeatDetect.cpp b/src/libprojectM/Audio/BeatDetect.cpp index 68c3797bb..1dd02bb5b 100755 --- a/src/libprojectM/Audio/BeatDetect.cpp +++ b/src/libprojectM/Audio/BeatDetect.cpp @@ -74,6 +74,7 @@ auto BeatDetect::GetFrameAudioData() const -> FrameAudioData pcm.GetPcm(data.waveformLeft.data(), CHANNEL_L, WaveformSamples); pcm.GetPcm(data.waveformRight.data(), CHANNEL_R, WaveformSamples); pcm.GetSpectrum(data.spectrumLeft.data(), CHANNEL_L, SpectrumSamples); + pcm.GetSpectrum(data.spectrumRight.data(), CHANNEL_R, SpectrumSamples); data.vol = vol; data.volAtt = volAtt; diff --git a/src/libprojectM/Audio/PCM.cpp b/src/libprojectM/Audio/PCM.cpp index 87300528f..8c554d6a3 100755 --- a/src/libprojectM/Audio/PCM.cpp +++ b/src/libprojectM/Audio/PCM.cpp @@ -102,7 +102,6 @@ void PCM::AddPcm( max = std::max(std::max(max, std::abs(m_pcmL[j])), std::abs(m_pcmR[j])); } m_start = (m_start + count) % maxSamples; - m_newSamples += count; m_level = m_leveler.UpdateLevel(count, sum / 2, max); } @@ -180,7 +179,7 @@ void PCM::GetSpectrum( size_t const samples) { assert(channel == 0 || channel == 1); - UpdateFFT(); + UpdateFftChannel(channel); auto const& spectrum = channel == 0 ? m_spectrumL : m_spectrumR; size_t const count = samples <= fftLength ? samples : fftLength; @@ -200,18 +199,6 @@ void PCM::ResetAutoLevel() m_level = 1.0f; } -void PCM::UpdateFFT() -{ - if (m_newSamples == 0) - { - return; - } - - UpdateFftChannel(0); - UpdateFftChannel(1); - m_newSamples = 0; -} - void PCM::UpdateFftChannel(size_t const channel) { assert(channel == 0 || channel == 1); diff --git a/src/libprojectM/Audio/PCM.hpp b/src/libprojectM/Audio/PCM.hpp index 02b584780..decd8f96c 100755 --- a/src/libprojectM/Audio/PCM.hpp +++ b/src/libprojectM/Audio/PCM.hpp @@ -108,11 +108,9 @@ protected: void CopyPcm(float* to, size_t channel, size_t count) const; void CopyPcm(double* to, size_t channel, size_t count) const; - // update FFT data if new samples are available. - void UpdateFFT(); + // Updates FFT data void UpdateFftChannel(size_t channel); - private: // mem-usage: // pcmd 2x2048*4b = 16K