annotate transform/ModelTransformer.cpp @ 1520:954d0cf29ca7 import-audio-data

Switch the normalisation option in WritableWaveFileModel from normalising on read to normalising on write, so that the saved file is already normalised and therefore can be read again without having to remember to normalise it
author Chris Cannam
date Wed, 12 Sep 2018 13:56:56 +0100
parents b109b88bfa85
children fe3f7f8df3a3
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.
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@331 16 #include "ModelTransformer.h"
Chris@320 17
Chris@350 18 ModelTransformer::ModelTransformer(Input input, const Transform &transform) :
Chris@350 19 m_input(input),
Chris@849 20 m_detached(false),
Chris@877 21 m_detachedAdd(false),
Chris@849 22 m_abandoned(false)
Chris@849 23 {
Chris@849 24 m_transforms.push_back(transform);
Chris@849 25 }
Chris@849 26
Chris@849 27 ModelTransformer::ModelTransformer(Input input, const Transforms &transforms) :
Chris@849 28 m_transforms(transforms),
Chris@849 29 m_input(input),
Chris@320 30 m_detached(false),
Chris@877 31 m_detachedAdd(false),
Chris@320 32 m_abandoned(false)
Chris@320 33 {
Chris@320 34 }
Chris@320 35
Chris@331 36 ModelTransformer::~ModelTransformer()
Chris@320 37 {
Chris@320 38 m_abandoned = true;
Chris@320 39 wait();
Chris@849 40 if (!m_detached) {
Chris@877 41 Models mine = getOutputModels();
Chris@877 42 foreach (Model *m, mine) delete m;
Chris@877 43 }
Chris@877 44 if (!m_detachedAdd) {
Chris@877 45 Models mine = getAdditionalOutputModels();
Chris@877 46 foreach (Model *m, mine) delete m;
Chris@849 47 }
Chris@320 48 }
Chris@320 49