annotate base/Layer.cpp @ 28:4b16526b011b

* Add LED button * Add note model playback (currently assuming that value == MIDI pitch) * Reorganise PlayParameters and move repository from ViewManager to new PlayParameterRepository class
author Chris Cannam
date Wed, 15 Feb 2006 17:58:35 +0000
parents 47500c27ac26
children 8460b3bf8f04
rev   line source
Chris@0 1 /* -*- c-basic-offset: 4 -*- vi:set ts=8 sts=4 sw=4: */
Chris@0 2
Chris@0 3 /*
Chris@0 4 A waveform viewer and audio annotation editor.
Chris@2 5 Chris Cannam, Queen Mary University of London, 2005-2006
Chris@0 6
Chris@0 7 This is experimental software. Not for distribution.
Chris@0 8 */
Chris@0 9
Chris@0 10 #include "Layer.h"
Chris@0 11 #include "View.h"
Chris@0 12
Chris@0 13 #include <iostream>
Chris@0 14
Chris@3 15 #include "layer/LayerFactory.h" //!!! shouldn't be including this here -- does that suggest we need to move this into layer/ ?
Chris@28 16 #include "PlayParameterRepository.h"
Chris@3 17
Chris@0 18 Layer::Layer(View *w)
Chris@0 19 {
Chris@0 20 m_view = w;
Chris@0 21
Chris@0 22 // Subclass must call this:
Chris@0 23 // w->addLayer(this);
Chris@0 24 }
Chris@0 25
Chris@0 26 Layer::~Layer()
Chris@0 27 {
Chris@0 28 m_view->removeLayer(this);
Chris@0 29 }
Chris@0 30
Chris@12 31 QString
Chris@12 32 Layer::getPropertyContainerIconName() const
Chris@12 33 {
Chris@12 34 return LayerFactory::instance()->getLayerIconName
Chris@12 35 (LayerFactory::instance()->getLayerType(this));
Chris@12 36 }
Chris@12 37
Chris@0 38 void
Chris@0 39 Layer::setObjectName(const QString &name)
Chris@0 40 {
Chris@0 41 QObject::setObjectName(name);
Chris@0 42 emit layerNameChanged();
Chris@0 43 }
Chris@0 44
Chris@15 45 int
Chris@15 46 Layer::getXForFrame(long frame) const
Chris@15 47 {
Chris@15 48 if (m_view) return m_view->getXForFrame(frame);
Chris@15 49 else return 0;
Chris@15 50 }
Chris@15 51
Chris@15 52 long
Chris@15 53 Layer::getFrameForX(int x) const
Chris@15 54 {
Chris@15 55 if (m_view) return m_view->getFrameForX(x);
Chris@15 56 else return 0;
Chris@15 57 }
Chris@15 58
Chris@3 59 QString
Chris@3 60 Layer::toXmlString(QString indent, QString extraAttributes) const
Chris@3 61 {
Chris@3 62 QString s;
Chris@3 63
Chris@3 64 s += indent;
Chris@3 65
Chris@6 66 s += QString("<layer id=\"%2\" type=\"%1\" name=\"%3\" model=\"%4\" %5/>\n")
Chris@3 67 .arg(LayerFactory::instance()->getLayerTypeName
Chris@3 68 (LayerFactory::instance()->getLayerType(this)))
Chris@4 69 .arg(getObjectExportId(this))
Chris@3 70 .arg(objectName())
Chris@4 71 .arg(getObjectExportId(getModel()))
Chris@3 72 .arg(extraAttributes);
Chris@3 73
Chris@3 74 return s;
Chris@3 75 }
Chris@0 76
Chris@28 77 PlayParameters *
Chris@28 78 Layer::getPlayParameters() const
Chris@28 79 {
Chris@28 80 const Model *model = getModel();
Chris@28 81 if (model) {
Chris@28 82 return PlayParameterRepository::instance()->getPlayParameters(model);
Chris@28 83 }
Chris@28 84 return 0;
Chris@28 85 }
Chris@28 86
Chris@28 87
Chris@28 88
Chris@0 89 #ifdef INCLUDE_MOCFILES
Chris@0 90 #include "Layer.moc.cpp"
Chris@0 91 #endif
Chris@0 92