view transform/BeatDetectionFunctionTransform.h @ 33:51e158b505da

* Rearrange spectrogram cacheing so that gain, normalization, instantaneous frequency calculations etc can be done from the cached data (increasing the size of the cache, but also the usability).
author Chris Cannam
date Thu, 23 Feb 2006 18:01:31 +0000
parents d86891498eef
children 39ae3dee27b9
line wrap: on
line source
/* -*- c-basic-offset: 4 -*-  vi:set ts=8 sts=4 sw=4: */

/*
    A waveform viewer and audio annotation editor.
    Chris Cannam, Queen Mary University of London, 2005-2006
   
    This is experimental software.  Not for distribution.
*/

#ifndef _BEAT_DETECTION_FUNCTION_TRANSFORM_H_
#define _BEAT_DETECTION_FUNCTION_TRANSFORM_H_

#include "Transform.h"

//!!! This should be replaced by a plugin, when we have a plugin
// transform.  But it's easier to start by testing concrete examples.

class DenseTimeValueModel;
class SparseTimeValueModel;

class BeatDetectionFunctionTransform : public Transform
{
public:
    BeatDetectionFunctionTransform(Model *inputModel);
    virtual ~BeatDetectionFunctionTransform();

    static TransformName getName();

protected:
    virtual void run();

    // just casts
    DenseTimeValueModel *getInput();
    SparseTimeValueModel *getOutput();
};

#endif