annotate data/fft/FFTCacheReader.h @ 1060:57633d605547 tonioni

Add data export options (not all implemented yet)
author Chris Cannam
date Mon, 30 Mar 2015 17:27:25 +0100
parents 59e7fe1b1003
children
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@929 27 virtual int getWidth() const = 0;
Chris@929 28 virtual int getHeight() const = 0;
Chris@537 29
Chris@929 30 virtual float getMagnitudeAt(int x, int y) const = 0;
Chris@929 31 virtual float getNormalizedMagnitudeAt(int x, int y) const = 0;
Chris@929 32 virtual float getMaximumMagnitudeAt(int x) const = 0;
Chris@929 33 virtual float getPhaseAt(int x, int y) const = 0;
Chris@537 34
Chris@929 35 virtual void getValuesAt(int x, int y, float &real, float &imag) const = 0;
Chris@929 36 virtual void getMagnitudesAt(int x, float *values, int minbin, int count, int step) const = 0;
Chris@537 37
Chris@929 38 virtual bool haveSetColumnAt(int 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