annotate data/fft/FFTCacheWriter.h @ 540:a38f0db6b41d

* take a bit more care about peaks cache sizing
author Chris Cannam
date Thu, 29 Jan 2009 14:17:12 +0000
parents 3cc4b7cd2aa5
children 107d3f3705c9
rev   line source
Chris@537 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@537 2
Chris@537 3 /*
Chris@537 4 Sonic Visualiser
Chris@537 5 An audio file viewer and annotation editor.
Chris@537 6 Centre for Digital Music, Queen Mary, University of London.
Chris@537 7 This file copyright 2006-2009 Chris Cannam and QMUL.
Chris@537 8
Chris@537 9 This program is free software; you can redistribute it and/or
Chris@537 10 modify it under the terms of the GNU General Public License as
Chris@537 11 published by the Free Software Foundation; either version 2 of the
Chris@537 12 License, or (at your option) any later version. See the file
Chris@537 13 COPYING included with this distribution for more information.
Chris@537 14 */
Chris@537 15
Chris@537 16 #ifndef _FFT_CACHE_WRITER_H_
Chris@537 17 #define _FFT_CACHE_WRITER_H_
Chris@537 18
Chris@537 19 #include <stddef.h>
Chris@537 20
Chris@537 21 class FFTCacheWriter
Chris@537 22 {
Chris@537 23 public:
Chris@540 24 virtual ~FFTCacheWriter() { }
Chris@540 25
Chris@537 26 virtual size_t getWidth() const = 0;
Chris@537 27 virtual size_t getHeight() const = 0;
Chris@537 28
Chris@537 29 virtual void setColumnAt(size_t x, float *mags, float *phases, float factor) = 0;
Chris@537 30 virtual void setColumnAt(size_t x, float *reals, float *imags) = 0;
Chris@537 31
Chris@537 32 virtual void allColumnsWritten() = 0;
Chris@537 33
Chris@537 34 virtual FFTCache::StorageType getStorageType() const = 0;
Chris@537 35 };
Chris@537 36
Chris@537 37 #endif
Chris@537 38