Mercurial > hg > svcore
view base/Layer.cpp @ 83:b2067aff8cd6
* Fix crash in spectrogram layer when replacing model
* Change sample player's sample path to a single sample directory.
This makes it immune to OS path separator differences, and ensures
it can reject configure calls that try to set a nonexistent directory.
Reloading play parameters (e.g. sample program) should now work.
* some win32 fixes.
author | Chris Cannam |
---|---|
date | Wed, 26 Apr 2006 16:00:13 +0000 |
parents | 2beca8ddcdc3 |
children | c30728d5625c |
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ /* Sonic Visualiser An audio file viewer and annotation editor. Centre for Digital Music, Queen Mary, University of London. This file copyright 2006 Chris Cannam. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING included with this distribution for more information. */ #include "Layer.h" #include "View.h" #include "Model.h" #include <iostream> #include "layer/LayerFactory.h" //!!! shouldn't be including this here -- does that suggest we need to move this into layer/ ? #include "PlayParameterRepository.h" Layer::Layer() { } Layer::~Layer() { std::cerr << "Layer::~Layer(" << this << ")" << std::endl; } QString Layer::getPropertyContainerIconName() const { return LayerFactory::instance()->getLayerIconName (LayerFactory::instance()->getLayerType(this)); } QString Layer::getLayerPresentationName() const { QString layerName = objectName(); QString modelName; if (getModel()) modelName = getModel()->objectName(); QString text; if (modelName != "") { text = QString("%1: %2").arg(modelName).arg(layerName); } else { text = layerName; } return text; } void Layer::setObjectName(const QString &name) { QObject::setObjectName(name); emit layerNameChanged(); } QString Layer::toXmlString(QString indent, QString extraAttributes) const { QString s; s += indent; s += QString("<layer id=\"%2\" type=\"%1\" name=\"%3\" model=\"%4\" %5/>\n") .arg(encodeEntities(LayerFactory::instance()->getLayerTypeName (LayerFactory::instance()->getLayerType(this)))) .arg(getObjectExportId(this)) .arg(encodeEntities(objectName())) .arg(getObjectExportId(getModel())) .arg(extraAttributes); return s; } PlayParameters * Layer::getPlayParameters() { // std::cerr << "Layer (" << this << ", " << objectName().toStdString() << ")::getPlayParameters: model is "<< getModel() << std::endl; const Model *model = getModel(); if (model) { return PlayParameterRepository::instance()->getPlayParameters(model); } return 0; } void Layer::showLayer(View *view, bool show) { setLayerDormant(view, !show); emit layerParametersChanged(); } #ifdef INCLUDE_MOCFILES #include "Layer.moc.cpp" #endif