Mercurial > hg > svcore
annotate base/Model.cpp @ 123:0f37e92e1782
* 1502816 file export is too slow and memory-hungry
Use text stream when writing to file instead of accumulating into a string.
* 1500625 Auto-align in MIDI layer confusing
Make value extents convert to Hz in return value
* 1494623: Duplicate display of frame 0 from vamp plugin output
author | Chris Cannam |
---|---|
date | Thu, 15 Jun 2006 15:48:05 +0000 |
parents | c30728d5625c |
children | 82f529a08cf3 |
rev | line source |
---|---|
Chris@49 | 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ |
Chris@3 | 2 |
Chris@3 | 3 /* |
Chris@52 | 4 Sonic Visualiser |
Chris@52 | 5 An audio file viewer and annotation editor. |
Chris@52 | 6 Centre for Digital Music, Queen Mary, University of London. |
Chris@52 | 7 This file copyright 2006 Chris Cannam. |
Chris@3 | 8 |
Chris@52 | 9 This program is free software; you can redistribute it and/or |
Chris@52 | 10 modify it under the terms of the GNU General Public License as |
Chris@52 | 11 published by the Free Software Foundation; either version 2 of the |
Chris@52 | 12 License, or (at your option) any later version. See the file |
Chris@52 | 13 COPYING included with this distribution for more information. |
Chris@3 | 14 */ |
Chris@0 | 15 |
Chris@0 | 16 #include "Model.h" |
Chris@30 | 17 #include "PlayParameterRepository.h" |
Chris@0 | 18 |
Chris@43 | 19 #include <iostream> |
Chris@43 | 20 |
Chris@0 | 21 const int Model::COMPLETION_UNKNOWN = -1; |
Chris@0 | 22 |
Chris@30 | 23 Model::~Model() |
Chris@30 | 24 { |
Chris@117 | 25 // std::cerr << "Model::~Model(" << this << ")" << std::endl; |
Chris@43 | 26 |
Chris@30 | 27 // Subclasses have to handle adding themselves to the repository, |
Chris@30 | 28 // if they want to be played. We can't do it from here because |
Chris@30 | 29 // the repository would be unable to tell whether we were playable |
Chris@30 | 30 // or not (because dynamic_cast won't work from the base class ctor) |
Chris@30 | 31 PlayParameterRepository::instance()->removeModel(this); |
Chris@30 | 32 } |
Chris@30 | 33 |
Chris@3 | 34 QString |
Chris@3 | 35 Model::toXmlString(QString indent, QString extraAttributes) const |
Chris@3 | 36 { |
Chris@3 | 37 QString s; |
Chris@3 | 38 |
Chris@3 | 39 s += indent; |
Chris@3 | 40 |
Chris@4 | 41 s += QString("<model id=\"%1\" name=\"%2\" sampleRate=\"%3\" start=\"%4\" end=\"%5\" %6/>\n") |
Chris@4 | 42 .arg(getObjectExportId(this)) |
Chris@77 | 43 .arg(encodeEntities(objectName())) |
Chris@4 | 44 .arg(getSampleRate()) |
Chris@4 | 45 .arg(getStartFrame()) |
Chris@4 | 46 .arg(getEndFrame()) |
Chris@3 | 47 .arg(extraAttributes); |
Chris@3 | 48 |
Chris@3 | 49 return s; |
Chris@3 | 50 } |
Chris@3 | 51 |
Chris@0 | 52 #ifdef INCLUDE_MOCFILES |
Chris@0 | 53 #include "Model.moc.cpp" |
Chris@0 | 54 #endif |
Chris@0 | 55 |