From 478eeca99ee6f5bad3063700fbcc9d8913c770ae Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Fri, 17 Jan 2003 04:37:14 +0000 Subject: "" svn path=/trunk/; revision=342 --- externals/grill/fftease/src/fftease.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'externals/grill/fftease/src/fftease.cpp') diff --git a/externals/grill/fftease/src/fftease.cpp b/externals/grill/fftease/src/fftease.cpp index d29ecf27..4944e839 100644 --- a/externals/grill/fftease/src/fftease.cpp +++ b/externals/grill/fftease/src/fftease.cpp @@ -22,9 +22,8 @@ fftease::~fftease() {} BL fftease::Init() { - BL ret = flext_dsp::Init(); Clear(); - return ret; + return flext_dsp::Init(); } V fftease::Exit() @@ -71,6 +70,13 @@ V fftease::m_signal(I n,S *const *in,S *const *out) _input1[i] = in[0][j]; } + _rms = 0.; + if(_flags&F_RMS) { + for ( i=0; i < _Nw; i++ ) + _rms += _input1[i] * _input1[i]; + _rms = sqrt(_rms / _Nw); + } + /* apply hamming window and fold our window buffer into the fft buffer */ fold( _input1, _Wanal, _Nw, _buffer1, _N, _inCount ); if(_flags&F_STEREO) fold( _input2, _Wanal, _Nw, _buffer2, _N, _inCount ); @@ -133,11 +139,11 @@ void fftease::Set() /* assign memory to the buffers */ _input1 = new F[_Nw]; _buffer1 = new F[_N]; - if(_flags&F_CONVERT) _channel1 = new F[_N+2]; + if(_flags&(F_CONVERT|F_CRES)) _channel1 = new F[_N+2]; if(_flags&F_STEREO) { _input2 = new F[_Nw]; _buffer2 = new F[_N]; - if(_flags&F_CONVERT) _channel2 = new F[_N+2]; + if(_flags&(F_CONVERT|F_CRES)) _channel2 = new F[_N+2]; } _output = new F[_Nw]; -- cgit v1.2.1