Chris@320: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */
Chris@320: 
Chris@320: /*
Chris@320:     Sonic Visualiser
Chris@320:     An audio file viewer and annotation editor.
Chris@320:     Centre for Digital Music, Queen Mary, University of London.
Chris@320:     This file copyright 2006 Chris Cannam and QMUL.
Chris@320:     
Chris@320:     This program is free software; you can redistribute it and/or
Chris@320:     modify it under the terms of the GNU General Public License as
Chris@320:     published by the Free Software Foundation; either version 2 of the
Chris@320:     License, or (at your option) any later version.  See the file
Chris@320:     COPYING included with this distribution for more information.
Chris@320: */
Chris@320: 
Chris@328: #ifndef _REAL_TIME_PLUGIN_TRANSFORMER_H_
Chris@328: #define _REAL_TIME_PLUGIN_TRANSFORMER_H_
Chris@320: 
Chris@350: #include "ModelTransformer.h"
Chris@320: #include "plugin/RealTimePluginInstance.h"
Chris@320: 
Chris@320: class DenseTimeValueModel;
Chris@320: 
Chris@350: class RealTimeEffectModelTransformer : public ModelTransformer
Chris@320: {
Chris@320: public:
Chris@350:     RealTimeEffectModelTransformer(Input input,
Chris@350:                                    const Transform &transform);
Chris@331:     virtual ~RealTimeEffectModelTransformer();
Chris@320: 
Chris@320: protected:
Chris@320:     virtual void run();
Chris@320: 
Chris@320:     QString m_units;
Chris@320:     RealTimePluginInstance *m_plugin;
Chris@320:     int m_outputNo;
Chris@320: 
Chris@320:     // just casts
Chris@350:     DenseTimeValueModel *getConformingInput();
Chris@320: };
Chris@320: 
Chris@320: #endif
Chris@320: