view src/Analyser.h @ 61:85ac2e8e3872 r0.1_win32_testbuild

Subrepo state
author Chris Cannam <chris.cannam@eecs.qmul.ac.uk>
date Wed, 17 Jul 2013 16:31:03 +0100
parents f4ee3c11eba9
children 4db051a704b2
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */

/*
    Tony
    An intonation analysis and annotation tool
    Centre for Digital Music, Queen Mary, University of London.
    This file copyright 2006-2012 Chris Cannam and QMUL.
    
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
    published by the Free Software Foundation; either version 2 of the
    License, or (at your option) any later version.  See the file
    COPYING included with this distribution for more information.
*/

#ifndef ANALYSER_H
#define ANALYSER_H

#include <QObject>

#include "transform/Transform.h"
#include "layer/LayerFactory.h" // GF: added so we can access the FlexiNotes enum value.
#include "layer/FlexiNoteLayer.h"

class WaveFileModel;
class Pane;
class PaneStack;
class Document;
class Layer;
class LayerFactory;

class Analyser : public QObject
{
    Q_OBJECT

public:
    Analyser();
    virtual ~Analyser();

    void newFileLoaded(Document *newDocument, WaveFileModel *model,
		       PaneStack *paneStack, Pane *pane);
		       
    void setIntelligentActions(bool);

protected:
    Document *m_document;
    WaveFileModel *m_fileModel;
    Pane *m_pane;
    FlexiNoteLayer *m_flexiNoteLayer;

    Layer *addLayerFor(TransformId);
    Layer *addLayerForNotes(TransformId);
	LayerFactory::LayerType preferredLayer;

};

#endif