aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Kiefer <chrisk13fer@gmail.com>2013-03-19 12:47:25 +0000
committerChris Kiefer <chrisk13fer@gmail.com>2013-03-19 12:47:25 +0000
commit2259ac99670b36c62d68aef6bc996d81a01b9870 (patch)
tree171d8f5dec671884a4d3d3d5c14f11d40cd680b5
parent2c4fd8d5f0767b86ad8eca3d39325dc4053c6831 (diff)
free sample on reload
-rw-r--r--ofxMaxim/ofxMaxim/libs/maxiFFT.cpp4
-rw-r--r--ofxMaxim/ofxMaxim/libs/maximilian.cpp6
-rwxr-xr-xofxMaxim/ofxMaxim/libs/maximilian.h1
3 files changed, 7 insertions, 4 deletions
diff --git a/ofxMaxim/ofxMaxim/libs/maxiFFT.cpp b/ofxMaxim/ofxMaxim/libs/maxiFFT.cpp
index 2ddefb4..90a3137 100644
--- a/ofxMaxim/ofxMaxim/libs/maxiFFT.cpp
+++ b/ofxMaxim/ofxMaxim/libs/maxiFFT.cpp
@@ -99,10 +99,10 @@ float maxiFFT::spectralFlatness() {
float geometricMean=0, arithmaticMean=0;
for(int i=0; i < bins; i++) {
if (magnitudes[i] != 0)
- geometricMean += log(magnitudes[i]);
+ geometricMean += logf(magnitudes[i]);
arithmaticMean += magnitudes[i];
}
- geometricMean = exp(geometricMean / (float)bins);
+ geometricMean = expf(geometricMean / (float)bins);
arithmaticMean /= (float)bins;
return arithmaticMean !=0 ? geometricMean / arithmaticMean : 0;
}
diff --git a/ofxMaxim/ofxMaxim/libs/maximilian.cpp b/ofxMaxim/ofxMaxim/libs/maximilian.cpp
index 60a1b80..f5a54e5 100644
--- a/ofxMaxim/ofxMaxim/libs/maximilian.cpp
+++ b/ofxMaxim/ofxMaxim/libs/maximilian.cpp
@@ -535,6 +535,7 @@ bool maxiSample::loadOgg(string fileName, int channel) {
bool result;
readChannel=channel;
int channelx;
+ free(temp);
myDataSize = stb_vorbis_decode_filename(const_cast<char*>(fileName.c_str()), &channelx, &temp);
result = myDataSize > 0;
printf("\nchannels = %d\nlength = %d",channelx,myDataSize);
@@ -625,6 +626,7 @@ bool maxiSample::read()
position+=2;
}
}
+ free(temp);
temp = (short*) malloc(myDataSize * sizeof(char));
memcpy(temp, myData, myDataSize * sizeof(char));
@@ -1247,10 +1249,10 @@ double convert::mtof(int midinote) {
void maxiEnvelopeFollower::setAttack(double attackMS) {
- attack = pow( 0.01, 1.0 / ( attackMS * maxiSettings::sampleRate * 0.001 ) );
+ attack = pow( 0.01, 1.0 / (attackMS * maxiSettings::sampleRate * 0.001 ) );
}
void maxiEnvelopeFollower::setRelease(double releaseMS) {
- release = pow( 0.01, 1.0 / ( releaseMS * maxiSettings::sampleRate * 0.001 ) );
+ release = pow( 0.01, 1.0 / (releaseMS * maxiSettings::sampleRate * 0.001 ) );
}
diff --git a/ofxMaxim/ofxMaxim/libs/maximilian.h b/ofxMaxim/ofxMaxim/libs/maximilian.h
index b411082..ce3ddd1 100755
--- a/ofxMaxim/ofxMaxim/libs/maximilian.h
+++ b/ofxMaxim/ofxMaxim/libs/maximilian.h
@@ -509,6 +509,7 @@ public:
}
void reset() {env=0;}
inline double getEnv(){return env;}
+ inline void setEnv(double val){env = val;}
private:
double attack, release, env;
};