aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/fftease/src/fftease.cpp
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2003-01-17 04:37:14 +0000
committerThomas Grill <xovo@users.sourceforge.net>2003-01-17 04:37:14 +0000
commit478eeca99ee6f5bad3063700fbcc9d8913c770ae (patch)
treebe9b6dff36c03985fe7ee6a9ba15be4427b3d035 /externals/grill/fftease/src/fftease.cpp
parent0623a36babf06fe897bbb59244c7d4f010d46b9c (diff)
""
svn path=/trunk/; revision=342
Diffstat (limited to 'externals/grill/fftease/src/fftease.cpp')
-rw-r--r--externals/grill/fftease/src/fftease.cpp14
1 files changed, 10 insertions, 4 deletions
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];