diff options
| author | Chris Kiefer <chrisk13fer@gmail.com> | 2013-03-19 12:47:25 +0000 |
|---|---|---|
| committer | Chris Kiefer <chrisk13fer@gmail.com> | 2013-03-19 12:47:25 +0000 |
| commit | 2259ac99670b36c62d68aef6bc996d81a01b9870 (patch) | |
| tree | 171d8f5dec671884a4d3d3d5c14f11d40cd680b5 | |
| parent | 2c4fd8d5f0767b86ad8eca3d39325dc4053c6831 (diff) | |
free sample on reload
| -rw-r--r-- | ofxMaxim/ofxMaxim/libs/maxiFFT.cpp | 4 | ||||
| -rw-r--r-- | ofxMaxim/ofxMaxim/libs/maximilian.cpp | 6 | ||||
| -rwxr-xr-x | ofxMaxim/ofxMaxim/libs/maximilian.h | 1 |
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; }; |
