diff --git a/app/audio/audiovisualwaveform.cpp b/app/audio/audiovisualwaveform.cpp index 1bf307dda..408a03f10 100644 --- a/app/audio/audiovisualwaveform.cpp +++ b/app/audio/audiovisualwaveform.cpp @@ -218,7 +218,13 @@ AudioVisualWaveform::Sample AudioVisualWaveform::GetSummaryFromTime(const ration AudioVisualWaveform::Sample AudioVisualWaveform::SumSamples(const float *samples, int nb_samples, int nb_channels) { - return SumSamplesInternal(samples, nb_samples, nb_channels); + AudioVisualWaveform::Sample summed_samples(nb_channels); + + for (int i=0;iaudio_params().channel_count(); channel++) { - ExpandMinMax(summed_samples[channel], samples->data(channel)[i]); + ExpandMinMax(summed_samples[channel], samples->data(channel)[i]); } } @@ -369,20 +375,7 @@ std::map::const_iterator AudioVisualWavef return using_mipmap; } -template -AudioVisualWaveform::Sample AudioVisualWaveform::SumSamplesInternal(const T *samples, int nb_samples, int nb_channels) -{ - AudioVisualWaveform::Sample summed_samples(nb_channels); - - for (int i=0;i(summed_samples[i%nb_channels], samples[i]); - } - - return summed_samples; -} - -template -void AudioVisualWaveform::ExpandMinMax(AudioVisualWaveform::SamplePerChannel &sum, T value) +void AudioVisualWaveform::ExpandMinMax(AudioVisualWaveform::SamplePerChannel &sum, float value) { if (value < sum.min) { sum.min = value; diff --git a/app/audio/audiovisualwaveform.h b/app/audio/audiovisualwaveform.h index d85760d39..be488169f 100644 --- a/app/audio/audiovisualwaveform.h +++ b/app/audio/audiovisualwaveform.h @@ -97,11 +97,7 @@ public: static void DrawWaveform(QPainter* painter, const QRect &rect, const double &scale, const AudioVisualWaveform& samples, const rational &start_time); private: - template - static Sample SumSamplesInternal(const T* samples, int nb_samples, int nb_channels); - - template - static void ExpandMinMax(SamplePerChannel &sum, T value); + static void ExpandMinMax(SamplePerChannel &sum, float value); void OverwriteSamplesFromBuffer(SampleBufferPtr samples, int sample_rate, const rational& start, double target_rate, Sample &data, int &start_index, int &samples_length);