aboutsummaryrefslogtreecommitdiffstats
path: root/ofxMaxim
diff options
context:
space:
mode:
authorChris Kiefer <chrisk13fer@gmail.com>2011-09-30 20:21:34 +0100
committerChris Kiefer <chrisk13fer@gmail.com>2011-09-30 20:21:34 +0100
commit8216b952811977469974a16cca3456dd49e3874b (patch)
tree0384732695d8ecef7cf9733c572aeed4f0ef2e59 /ofxMaxim
parent1e713588b0bf3126f976b6cec8717b16375c9a6c (diff)
Deallocation issues
Diffstat (limited to 'ofxMaxim')
-rw-r--r--ofxMaxim/ofxMaxim/libs/maxiFFT.cpp4
-rw-r--r--ofxMaxim/ofxMaxim/libs/maxiFFT.h3
-rw-r--r--ofxMaxim/ofxMaxim/libs/maxiMFCC.cpp11
-rw-r--r--ofxMaxim/ofxMaxim/libs/maxiMFCC.h2
-rwxr-xr-xofxMaxim/ofxMaxim/libs/maximilian.h4
5 files changed, 13 insertions, 11 deletions
diff --git a/ofxMaxim/ofxMaxim/libs/maxiFFT.cpp b/ofxMaxim/ofxMaxim/libs/maxiFFT.cpp
index 346b653..36034b2 100644
--- a/ofxMaxim/ofxMaxim/libs/maxiFFT.cpp
+++ b/ofxMaxim/ofxMaxim/libs/maxiFFT.cpp
@@ -120,8 +120,8 @@ float maxiFFT::spectralCentroid() {
maxiFFT::~maxiFFT() {
delete _fft;
- delete[] buffer,magnitudes,phases,window;
- delete avgPower;
+ if (buffer)
+ delete[] buffer,magnitudes,phases,window, avgPower;
}
diff --git a/ofxMaxim/ofxMaxim/libs/maxiFFT.h b/ofxMaxim/ofxMaxim/libs/maxiFFT.h
index 6c07089..8a34c0d 100644
--- a/ofxMaxim/ofxMaxim/libs/maxiFFT.h
+++ b/ofxMaxim/ofxMaxim/libs/maxiFFT.h
@@ -42,7 +42,8 @@ class maxiFFT {
public:
maxiFFT(){
- _fft = 0;
+ _fft = NULL;
+ buffer = magnitudes = phases = window = avgPower = NULL;
};
~maxiFFT();
void setup(int fftSize, int windowSize, int hopSize);
diff --git a/ofxMaxim/ofxMaxim/libs/maxiMFCC.cpp b/ofxMaxim/ofxMaxim/libs/maxiMFCC.cpp
index befa5f4..6317ebb 100644
--- a/ofxMaxim/ofxMaxim/libs/maxiMFCC.cpp
+++ b/ofxMaxim/ofxMaxim/libs/maxiMFCC.cpp
@@ -193,13 +193,14 @@ void maxiMFCC::calcMelFilterBank(double sampleRate, int numBins){
maxiMFCC::~maxiMFCC() {
- delete[] melFilters;
- delete[] melBands;
- delete[] dctMatrix;
+ if (melFilters) {
+ delete[] melFilters;
+ delete[] melBands;
+ delete[] dctMatrix;
#ifdef __APPLE_CC__
- delete doubleSpec;
+ delete doubleSpec;
#endif
-
+ }
}
diff --git a/ofxMaxim/ofxMaxim/libs/maxiMFCC.h b/ofxMaxim/ofxMaxim/libs/maxiMFCC.h
index 1a2b3a3..0f3d292 100644
--- a/ofxMaxim/ofxMaxim/libs/maxiMFCC.h
+++ b/ofxMaxim/ofxMaxim/libs/maxiMFCC.h
@@ -16,7 +16,7 @@
class maxiMFCC {
public:
- maxiMFCC(){};
+ maxiMFCC():melFilters(NULL),dctMatrix(NULL), melBands(NULL){};
~maxiMFCC();
void setup(unsigned int numBins, unsigned int numFilters, unsigned int numCoeffs, double minFreq, double maxFreq, unsigned int sampleRate);
void mfcc(float* powerSpectrum, double *mfccs);
diff --git a/ofxMaxim/ofxMaxim/libs/maximilian.h b/ofxMaxim/ofxMaxim/libs/maximilian.h
index 166f590..6018992 100755
--- a/ofxMaxim/ofxMaxim/libs/maximilian.h
+++ b/ofxMaxim/ofxMaxim/libs/maximilian.h
@@ -187,7 +187,7 @@ public:
~maxiSample()
{
- delete myData;
+ if (myData) delete[] myData;
myChunkSize = NULL;
mySubChunk1Size = NULL;
myFormat = NULL;
@@ -199,7 +199,7 @@ public:
myDataSize = NULL;
}
-// maxiSample();
+ maxiSample():myData(NULL){};
bool load(string fileName);