# HG changeset patch # User Chris Cannam # Date 1158148604 0 # Node ID 3fe6660f8fe2665924628ae052c50db9c0e2f8e1 # Parent 735556300e10ca2cc14ea1fe270f1cabcc44fe69 * timestretcher improvements -- simplify API (it can calculate its own processing block sizes etc) diff -r 735556300e10 -r 3fe6660f8fe2 base/Window.h --- a/base/Window.h Mon Sep 11 16:40:18 2006 +0000 +++ b/base/Window.h Wed Sep 13 11:56:44 2006 +0000 @@ -55,6 +55,7 @@ for (size_t i = 0; i < m_size; ++i) dst[i] = src[i] * m_cache[i]; } + T getArea() { return m_area; } T getValue(size_t i) { return m_cache[i]; } WindowType getType() const { return m_type; } @@ -64,6 +65,7 @@ WindowType m_type; size_t m_size; T *m_cache; + T m_area; void encache(); void cosinewin(T *, T, T, T, T); @@ -137,6 +139,12 @@ } m_cache = mult; + + m_area = 0; + for (int i = 0; i < n; ++i) { + m_area += m_cache[i]; + } + m_area /= n; } template