annotate data/fft/FFTCacheReader.h @ 625:608b4dc5ff34

* Improve behaviour when output file write fails (i.e. fail earlier)
author Chris Cannam
date Fri, 21 May 2010 10:21:18 +0000
parents a38f0db6b41d
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_READER_H_
Chris@537 17 #define _FFT_CACHE_READER_H_
Chris@537 18
Chris@537 19 #include "FFTCacheStorageType.h"
Chris@537 20 #include <stddef.h>
Chris@537 21
Chris@537 22 class FFTCacheReader
Chris@537 23 {
Chris@537 24 public:
Chris@540 25 virtual ~FFTCacheReader() { }
Chris@540 26
Chris@537 27 virtual size_t getWidth() const = 0;
Chris@537 28 virtual size_t getHeight() const = 0;
Chris@537 29
Chris@537 30 virtual float getMagnitudeAt(size_t x, size_t y) const = 0;
Chris@537 31 virtual float getNormalizedMagnitudeAt(size_t x, size_t y) const = 0;
Chris@537 32 virtual float getMaximumMagnitudeAt(size_t x) const = 0;
Chris@537 33 virtual float getPhaseAt(size_t x, size_t y) const = 0;
Chris@537 34
Chris@537 35 virtual void getValuesAt(size_t x, size_t y, float &real, float &imag) const = 0;
Chris@537 36 virtual void getMagnitudesAt(size_t x, float *values, size_t minbin, size_t count, size_t step) const = 0;
Chris@537 37
Chris@537 38 virtual bool haveSetColumnAt(size_t x) const = 0;
Chris@537 39
Chris@537 40 virtual FFTCache::StorageType getStorageType() const = 0;
Chris@537 41 };
Chris@537 42
Chris@537 43 #endif