Mercurial > hg > svcore
annotate base/Model.cpp @ 117:c30728d5625c sv1-v0.9rc1
* Make vertical scale alignment modes work in note layer as well as time-value
layer, and several significant fixes to it
* Make it possible to draw notes properly on the note layer
* Show units (and frequencies etc in note layer's case) in the time-value and
note layer description boxes
* Minor fix to item edit dialog layout
* Some minor menu rearrangement
* Comment out a lot of debug output
* Add SV website and reference URLs to Help menu, and add code to (attempt to)
open them in the user's preferred browser
author | Chris Cannam |
---|---|
date | Fri, 12 May 2006 14:40:43 +0000 |
parents | 2beca8ddcdc3 |
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 |