annotate transform/RealTimePluginTransform.h @ 26:d88d117e0c34

* Add mono timestretch toggle button; some more work on getting blocksize etc parameters through to plugins
author Chris Cannam
date Mon, 18 Sep 2006 16:43:17 +0000
parents 40116f709d3b
children 61259228d029
rev   line source
Chris@0 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@0 2
Chris@0 3 /*
Chris@0 4 Sonic Visualiser
Chris@0 5 An audio file viewer and annotation editor.
Chris@0 6 Centre for Digital Music, Queen Mary, University of London.
Chris@0 7 This file copyright 2006 Chris Cannam.
Chris@0 8
Chris@0 9 This program is free software; you can redistribute it and/or
Chris@0 10 modify it under the terms of the GNU General Public License as
Chris@0 11 published by the Free Software Foundation; either version 2 of the
Chris@0 12 License, or (at your option) any later version. See the file
Chris@0 13 COPYING included with this distribution for more information.
Chris@0 14 */
Chris@0 15
Chris@0 16 #ifndef _REAL_TIME_PLUGIN_TRANSFORM_H_
Chris@0 17 #define _REAL_TIME_PLUGIN_TRANSFORM_H_
Chris@0 18
Chris@0 19 #include "Transform.h"
Chris@1 20 #include "plugin/RealTimePluginInstance.h"
Chris@0 21
Chris@0 22 class DenseTimeValueModel;
Chris@0 23
Chris@0 24 class RealTimePluginTransform : public Transform
Chris@0 25 {
Chris@0 26 public:
Chris@0 27 RealTimePluginTransform(Model *inputModel,
Chris@0 28 QString plugin,
Chris@0 29 int channel,
Chris@0 30 QString configurationXml = "",
Chris@0 31 QString units = "",
Chris@26 32 int output = 0,
Chris@26 33 size_t blockSize = 0);
Chris@0 34 virtual ~RealTimePluginTransform();
Chris@0 35
Chris@0 36 protected:
Chris@0 37 virtual void run();
Chris@0 38
Chris@0 39 RealTimePluginInstance *m_plugin;
Chris@0 40 int m_channel;
Chris@0 41 int m_outputNo;
Chris@26 42 size_t m_blockSize;
Chris@0 43
Chris@0 44 // just casts
Chris@0 45 DenseTimeValueModel *getInput();
Chris@0 46 };
Chris@0 47
Chris@0 48 #endif
Chris@0 49