annotate transform/RealTimeEffectModelTransformer.h @ 1518:9c09a3f05139 import-audio-data

Pull allocation/deallocation out of the inner loop
author Chris Cannam
date Sat, 08 Sep 2018 20:53:48 +0100
parents 5a1198083d9a
children c01cbe41aeb5
rev   line source
Chris@320 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@320 2
Chris@320 3 /*
Chris@320 4 Sonic Visualiser
Chris@320 5 An audio file viewer and annotation editor.
Chris@320 6 Centre for Digital Music, Queen Mary, University of London.
Chris@320 7 This file copyright 2006 Chris Cannam and QMUL.
Chris@320 8
Chris@320 9 This program is free software; you can redistribute it and/or
Chris@320 10 modify it under the terms of the GNU General Public License as
Chris@320 11 published by the Free Software Foundation; either version 2 of the
Chris@320 12 License, or (at your option) any later version. See the file
Chris@320 13 COPYING included with this distribution for more information.
Chris@320 14 */
Chris@320 15
Chris@849 16 #ifndef _REAL_TIME_EFFECT_TRANSFORMER_H_
Chris@849 17 #define _REAL_TIME_EFFECT_TRANSFORMER_H_
Chris@320 18
Chris@350 19 #include "ModelTransformer.h"
Chris@320 20 #include "plugin/RealTimePluginInstance.h"
Chris@320 21
Chris@320 22 class DenseTimeValueModel;
Chris@320 23
Chris@350 24 class RealTimeEffectModelTransformer : public ModelTransformer
Chris@320 25 {
Chris@320 26 public:
Chris@350 27 RealTimeEffectModelTransformer(Input input,
Chris@350 28 const Transform &transform);
Chris@331 29 virtual ~RealTimeEffectModelTransformer();
Chris@320 30
Chris@320 31 protected:
Chris@320 32 virtual void run();
Chris@320 33
Chris@1211 34 virtual void awaitOutputModels() { } // they're created synchronously
Chris@1211 35
Chris@320 36 QString m_units;
Chris@320 37 RealTimePluginInstance *m_plugin;
Chris@320 38 int m_outputNo;
Chris@320 39
Chris@320 40 // just casts
Chris@350 41 DenseTimeValueModel *getConformingInput();
Chris@320 42 };
Chris@320 43
Chris@320 44 #endif
Chris@320 45