annotate transform/RealTimeEffectModelTransformer.h @ 1881:b504df98c3be

Ensure completion on output model is started at zero, so if it's checked before the input model has become ready and the transform has begun, it is not accidentally reported as complete (affected re-aligning models in Sonic Lineup when replacing the session)
author Chris Cannam
date Fri, 26 Jun 2020 11:45:39 +0100
parents 5f8fbbde08ff
children
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@1581 16 #ifndef SV_REAL_TIME_EFFECT_TRANSFORMER_H
Chris@1581 17 #define SV_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@1580 32 void run() override;
Chris@320 33
Chris@1580 34 void awaitOutputModels() override { } // they're created synchronously
Chris@1211 35
Chris@320 36 QString m_units;
Chris@1830 37 std::shared_ptr<RealTimePluginInstance> m_plugin;
Chris@320 38 int m_outputNo;
Chris@320 39 };
Chris@320 40
Chris@320 41 #endif
Chris@320 42