annotate data/fft/FFTCacheWriter.h @ 575:8688430850d6

* either I'm going mad or the compiler is... valgrind and sizeof both seem to think that reading or writing m_size is reading beyond the end of the object, unless I add m_spare padding... why?
author Chris Cannam
date Mon, 16 Mar 2009 16:32:02 +0000
parents 107d3f3705c9
children 59e7fe1b1003
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@550 32 virtual bool haveSetColumnAt(size_t x) const = 0;
Chris@550 33
Chris@550 34 virtual void allColumnsWritten() = 0; // notify cache to close
Chris@537 35
Chris@537 36 virtual FFTCache::StorageType getStorageType() const = 0;
Chris@537 37 };
Chris@537 38
Chris@537 39 #endif
Chris@537 40