diff --git a/Makefile b/Makefile index 0443365..ccad249 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ all: - g++ -g -o inspectrum inputsource.cpp main.cpp `wx-config --cxxflags --libs` -lfftw3f + g++ -std=c++11 -g -o inspectrum inputsource.cpp main.cpp `wx-config --cxxflags --libs` -lfftw3f clean: rm inspectrum diff --git a/inputsource.cpp b/inputsource.cpp index b1f7d01..6a6b1c3 100644 --- a/inputsource.cpp +++ b/inputsource.cpp @@ -26,7 +26,7 @@ InputSource::InputSource(const char *filename, int fft_size) { m_fftw_out = (fftwf_complex*)fftwf_malloc(sizeof(fftwf_complex) * m_fft_size); m_fftw_plan = fftwf_plan_dft_1d(m_fft_size, m_fftw_in, m_fftw_out, FFTW_FORWARD, FFTW_MEASURE); - m_window = new float[m_fft_size]; + m_window.reset(new float[m_fft_size]); for (int i = 0; i < m_fft_size; i++) { m_window[i] = 0.5f * (1.0f - cos(Tau * i / (m_fft_size - 1))); } @@ -36,8 +36,6 @@ InputSource::InputSource(const char *filename, int fft_size) { } InputSource::~InputSource() { - delete[] m_window; - fftwf_destroy_plan(m_fftw_plan); fftwf_free(m_fftw_in); fftwf_free(m_fftw_out); diff --git a/inputsource.h b/inputsource.h index 0d5b543..7ce2b3b 100644 --- a/inputsource.h +++ b/inputsource.h @@ -1,5 +1,6 @@ #pragma once #include +#include class InputSource { @@ -13,7 +14,7 @@ private: fftwf_complex *m_fftw_out; fftwf_plan m_fftw_plan; - float *m_window; + std::unique_ptr m_window; int m_zoom; int m_max_zoom;