annotate data/fft/FFTCacheReader.h @ 1008:d9e0e59a1581

When using an aggregate model to pass data to a transform, zero-pad the shorter input to the duration of the longer rather than truncating the longer. (This is better behaviour for e.g. MATCH, and in any case the code was previously truncating incorrectly and ending up with garbage data at the end.)
author Chris Cannam
date Fri, 14 Nov 2014 13:51:33 +0000
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