view base/Model.cpp @ 49:39ae3dee27b9

* Set indent-tabs-mode to nil in Emacs mode direction
author Chris Cannam
date Mon, 20 Mar 2006 11:40:39 +0000
parents b8aae4f883b7
children d397ea0a79f5
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */

/*
    A waveform viewer and audio annotation editor.
    Chris Cannam, Queen Mary University of London, 2005-2006
    
    This is experimental software.  Not for distribution.
*/

#include "Model.h"
#include "PlayParameterRepository.h"

#include <iostream>

const int Model::COMPLETION_UNKNOWN = -1;

Model::~Model()
{
    std::cerr << "Model::~Model(" << this << ")" << std::endl;

    // Subclasses have to handle adding themselves to the repository,
    // if they want to be played.  We can't do it from here because
    // the repository would be unable to tell whether we were playable
    // or not (because dynamic_cast won't work from the base class ctor)
    PlayParameterRepository::instance()->removeModel(this);
}

QString
Model::toXmlString(QString indent, QString extraAttributes) const
{
    QString s;
    
    s += indent;

    s += QString("<model id=\"%1\" name=\"%2\" sampleRate=\"%3\" start=\"%4\" end=\"%5\" %6/>\n")
	.arg(getObjectExportId(this))
	.arg(objectName())
	.arg(getSampleRate())
	.arg(getStartFrame())
	.arg(getEndFrame())
	.arg(extraAttributes);

    return s;
}

#ifdef INCLUDE_MOCFILES
#ifdef INCLUDE_MOCFILES
#include "Model.moc.cpp"
#endif
#endif