void ofxFFTBase :: setNoOfBands( int value ) { int audioNoOfBandsNew; audioNoOfBandsNew = ofNextPow2( value ); if( audioNoOfBands == audioNoOfBandsNew ) return; audioNoOfBands = OFX_FFT_NO_OF_BANDS; audioNoOfBandsHalf = (int)( audioNoOfBands * 0.5 ); killFFT(); initFFT(); initAudioData( rawData, getNoOfBands() ); initAudioData( fftData, getNoOfBands() ); }
void ofxFFTBase::setBufferSize(int value) { int bufferSizeNew = ofNextPow2(value); if(bufferSize == bufferSizeNew) { return; } bufferSize = bufferSizeNew; binSize = (int)(bufferSize * 0.5); killFFT(); initFFT(); initAudioData(fftData, bufferSize); }
ofxFFTBase :: ofxFFTBase() { specData = NULL; fftMagnitude = NULL; fftPhase = NULL; fftPower = NULL; fftFreq = NULL; setMaxDecay( 0.995 ); setPeakDecay( 0.96 ); setThreshold( 0.5 ); setMirrorData( false ); renderBorder = 1; audioNoOfBands = OFX_FFT_NO_OF_BANDS; audioNoOfBandsHalf = (int)( audioNoOfBands * 0.5 ); killFFT(); initFFT(); initAudioData( rawData, audioNoOfBandsHalf ); initAudioData( fftData, audioNoOfBandsHalf ); }
ofxFFTBase::ofxFFTBase() { _fft = NULL; buffer = NULL; magnitudes = NULL; magnitudesDB = NULL; phases = NULL; window = NULL; setMaxDecay(0.995); setPeakDecay(0.96); setThreshold(0.5); setMirrorData(false); renderBorder = 1; bufferSize = 512; // default. binSize = (int)(bufferSize * 0.5); initFFT(); initAudioData(fftData, binSize); }