svcore  1.9
ModelTransformer.cpp
Go to the documentation of this file.
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
2 
3 /*
4  Sonic Visualiser
5  An audio file viewer and annotation editor.
6  Centre for Digital Music, Queen Mary, University of London.
7  This file copyright 2006 Chris Cannam.
8 
9  This program is free software; you can redistribute it and/or
10  modify it under the terms of the GNU General Public License as
11  published by the Free Software Foundation; either version 2 of the
12  License, or (at your option) any later version. See the file
13  COPYING included with this distribution for more information.
14 */
15 
16 #include "ModelTransformer.h"
17 
19  m_input(input),
20  m_detached(false),
21  m_detachedAdd(false),
22  m_abandoned(false)
23 {
24  m_transforms.push_back(transform);
25 }
26 
28  m_transforms(transforms),
29  m_input(input),
30  m_detached(false),
31  m_detachedAdd(false),
32  m_abandoned(false)
33 {
34 }
35 
37 {
38  m_abandoned = true;
39  wait();
40  if (!m_detached) {
41  Models mine = getOutputModels();
42  foreach (Model *m, mine) delete m;
43  }
44  if (!m_detachedAdd) {
46  foreach (Model *m, mine) delete m;
47  }
48 }
49 
ModelTransformer(Input input, const Transform &transform)
std::vector< Transform > Transforms
Definition: Transform.h:200
std::vector< Model * > Models
Transforms m_transforms
Model is the base class for all data models that represent any sort of data on a time scale based on ...
Definition: Model.h:35
virtual Models getAdditionalOutputModels()
Return any additional models that were created during processing.
Models getOutputModels()
Return the set of output models created by the transform or transforms.
virtual ~ModelTransformer()