view transform/BeatDetectTransform.h @ 36:935a2419a77c

* Refactor Layer classes so as no longer to store a single View pointer; instead they need to be able to draw themselves on any View on demand. Layers with caches (e.g. spectrogram) will need to be further refactored so as to maintain a per-View cache * Begin refactoring MainWindow by pulling out the document stuff (set of layers, models etc) into a Document class. Not yet in use. This revision is fairly unstable.
author Chris Cannam
date Thu, 02 Mar 2006 16:58:49 +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_DETECT_TRANSFORM_H_
#define _BEAT_DETECT_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 SparseOneDimensionalModel;

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

    static TransformName getName();

protected:
    virtual void run();

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

#endif